Compare commits
3 Commits
f86de5ff5b
...
c2ee05db72
Author | SHA1 | Date | |
---|---|---|---|
c2ee05db72 | |||
45eebbb1ce | |||
f9f39bf70d |
13
default.nix
Normal file
13
default.nix
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
(import
|
||||||
|
(
|
||||||
|
let
|
||||||
|
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||||
|
nodeName = lock.nodes.root.inputs.flake-compat;
|
||||||
|
in
|
||||||
|
fetchTarball {
|
||||||
|
url = lock.nodes.${nodeName}.locked.url or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.${nodeName}.locked.rev}.tar.gz";
|
||||||
|
sha256 = lock.nodes.${nodeName}.locked.narHash;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
{ src = ./.; }
|
||||||
|
).defaultNix
|
44
flake.lock
generated
44
flake.lock
generated
@ -177,13 +177,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -211,11 +210,11 @@
|
|||||||
"flake-compat_3": {
|
"flake-compat_3": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673956053,
|
"lastModified": 1696426674,
|
||||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -241,6 +240,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_5": {
|
"flake-compat_5": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1673956053,
|
||||||
|
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_6": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1733328505,
|
||||||
@ -256,7 +271,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_6": {
|
"flake-compat_7": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1733328505,
|
||||||
@ -983,7 +998,7 @@
|
|||||||
"lanzaboote": {
|
"lanzaboote": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@ -1028,7 +1043,7 @@
|
|||||||
},
|
},
|
||||||
"nix-minecraft": {
|
"nix-minecraft": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_4",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs-unstable"
|
"nixpkgs-unstable"
|
||||||
@ -1051,7 +1066,7 @@
|
|||||||
},
|
},
|
||||||
"nix-minecraft-upstream": {
|
"nix-minecraft-upstream": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_5",
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs-unstable"
|
"nixpkgs-unstable"
|
||||||
@ -1073,7 +1088,7 @@
|
|||||||
},
|
},
|
||||||
"nix-wsl": {
|
"nix-wsl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_5",
|
"flake-compat": "flake-compat_6",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
@ -1209,7 +1224,7 @@
|
|||||||
},
|
},
|
||||||
"pre-commit-hooks": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat_2",
|
||||||
"gitignore": "gitignore",
|
"gitignore": "gitignore",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
@ -1261,6 +1276,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"base16": "base16",
|
"base16": "base16",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"home-manager-unstable": "home-manager-unstable",
|
"home-manager-unstable": "home-manager-unstable",
|
||||||
@ -1332,7 +1348,7 @@
|
|||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-compat": "flake-compat_6",
|
"flake-compat": "flake-compat_7",
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
|
@ -15,6 +15,12 @@
|
|||||||
|
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
|
||||||
|
# this is nice so one-off impure scripts can interact with attributes in
|
||||||
|
# this flake
|
||||||
|
flake-compat = {
|
||||||
|
url = "github:edolstra/flake-compat";
|
||||||
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-23.11";
|
url = "github:nix-community/home-manager/release-23.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
51
pkgs/legacy-module.nix
Normal file
51
pkgs/legacy-module.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
self,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
options,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.nixfiles.outputs.packages;
|
||||||
|
inherit (lib) mapAttrs mkEnableOption mkIf;
|
||||||
|
in {
|
||||||
|
options.nixfiles.outputs.packages = {
|
||||||
|
enable =
|
||||||
|
mkEnableOption ""
|
||||||
|
// {
|
||||||
|
description = ''
|
||||||
|
Whether to generate the packages output.
|
||||||
|
'';
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
perSystem = {
|
||||||
|
system,
|
||||||
|
inputs',
|
||||||
|
self',
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
packages = let
|
||||||
|
inherit (pkgs) callPackage callPackages;
|
||||||
|
|
||||||
|
# i forget how this works so i'm not messing with it.
|
||||||
|
mopidyPackages = callPackages ./mopidy {
|
||||||
|
python = pkgs.python3;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
(mapAttrs (_: v: callPackage v {}) {
|
||||||
|
google-fonts = ./google-fonts;
|
||||||
|
wm-helpers = ./wm-helpers;
|
||||||
|
atool = ./atool-wrapped;
|
||||||
|
nixfiles-assets = ./nixfiles-assets;
|
||||||
|
redlib = ./redlib;
|
||||||
|
cross-seed = ./cross-seed;
|
||||||
|
})
|
||||||
|
// {
|
||||||
|
inherit (mopidyPackages) mopidy-autoplay;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
61
pkgs/lucem/default.nix
Normal file
61
pkgs/lucem/default.nix
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
curl,
|
||||||
|
gtk4,
|
||||||
|
libadwaita,
|
||||||
|
pkg-config,
|
||||||
|
openssl,
|
||||||
|
xorg,
|
||||||
|
libxkbcommon,
|
||||||
|
libGL,
|
||||||
|
wayland,
|
||||||
|
wayland-protocols,
|
||||||
|
wayland-scanner,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
|
buildNimPackage (finalAttrs: {
|
||||||
|
pname = "lucem";
|
||||||
|
version = "2.1.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xTrayambak";
|
||||||
|
repo = "lucem";
|
||||||
|
tag = finalAttrs.version;
|
||||||
|
hash = "sha256-9i7YMXG6hXMcQmVdPYX+YxrtQPHZE1RZb+gv5dGEff8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./lucem-disable-auto-updater.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
lockFile = ./lock.json;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gtk4.dev
|
||||||
|
libadwaita.dev
|
||||||
|
openssl.dev
|
||||||
|
curl.dev
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXcursor.dev
|
||||||
|
xorg.libXrender
|
||||||
|
xorg.libXext
|
||||||
|
libxkbcommon.dev
|
||||||
|
libGL.dev
|
||||||
|
wayland.dev
|
||||||
|
wayland-protocols
|
||||||
|
wayland-scanner.dev
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
# env.LD_LIBRARY_PATH = lib.makeLibraryPath [
|
||||||
|
# gtk4.dev
|
||||||
|
# libadwaita.dev
|
||||||
|
# pkg-config
|
||||||
|
# curl.dev
|
||||||
|
# openssl.dev
|
||||||
|
# wayland.dev
|
||||||
|
# ];
|
||||||
|
})
|
291
pkgs/lucem/lock.json
Normal file
291
pkgs/lucem/lock.json
Normal file
@ -0,0 +1,291 @@
|
|||||||
|
{
|
||||||
|
"depends": [
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/n3pckbrnpfnlcm7n0c5i75lgl47ghgha-source",
|
||||||
|
"rev": "d9ee0328d5cec8fd216d3ce8676cebf1976e9272",
|
||||||
|
"sha256": "02wq4wad7r517rls5n1i9gww9a138a20kiy3d2ax723s3h6s0srg",
|
||||||
|
"url": "https://github.com/4zv4l/colored_logger/archive/d9ee0328d5cec8fd216d3ce8676cebf1976e9272.tar.gz",
|
||||||
|
"ref": "HEAD",
|
||||||
|
"packages": [
|
||||||
|
"colored_logger"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/bzcq8q439rdsqhhihikzv3rsx4l4ybdm-source",
|
||||||
|
"rev": "ea811bec7fa50f5abd3088ba94cda74285e93f18",
|
||||||
|
"sha256": "1720iqsxjhqmhw1zhhs7d2ncdz25r8fqadls1p1iry1wfikjlnba",
|
||||||
|
"url": "https://github.com/treeform/jsony/archive/ea811bec7fa50f5abd3088ba94cda74285e93f18.tar.gz",
|
||||||
|
"ref": "1.1.5",
|
||||||
|
"packages": [
|
||||||
|
"jsony"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/f3ghbm17akdg7dj5sarr616hvma09dr5-source",
|
||||||
|
"rev": "fea85b27f0badcf617033ca1bc05444b5fd8aa7a",
|
||||||
|
"sha256": "1m96c3k83sj1z2vgjp55fplzf0kym6hhhym4ywydjl9x4zw1a5la",
|
||||||
|
"url": "https://github.com/status-im/nim-toml-serialization/archive/fea85b27f0badcf617033ca1bc05444b5fd8aa7a.tar.gz",
|
||||||
|
"ref": "HEAD",
|
||||||
|
"packages": [
|
||||||
|
"toml_serialization"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/idsbhi7xb4dmfqbmbl5dq47qh2vs6mjj-source",
|
||||||
|
"rev": "9e770046c5cdf23d395d6b21c4657345481b1c76",
|
||||||
|
"sha256": "1li0r6ng3ynzh5qb12qs6czmaaay7gw45khs2niz291nia6navl1",
|
||||||
|
"url": "https://github.com/treeform/pretty/archive/9e770046c5cdf23d395d6b21c4657345481b1c76.tar.gz",
|
||||||
|
"ref": "0.2.0",
|
||||||
|
"packages": [
|
||||||
|
"pretty"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/ax2p5d7wz6ipj0y2zpd9rckzzj7a6f0q-source",
|
||||||
|
"rev": "861092dc931e754650a735af590fbc34becc3942",
|
||||||
|
"sha256": "100vxxdpzayj44syfkwn5nrpk5189qiky43xh7w3k908yxrq0jbj",
|
||||||
|
"url": "https://github.com/can-lehmann/owlkettle/archive/861092dc931e754650a735af590fbc34becc3942.tar.gz",
|
||||||
|
"ref": "v3.0.0",
|
||||||
|
"packages": [
|
||||||
|
"owlkettle"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/y4f3wxlh76h10kflz7vqmkd4vniqp6kw-source",
|
||||||
|
"rev": "309d6ed8164ad184ed5bbb171c9f3d9d1c11ff81",
|
||||||
|
"sha256": "0b7givvg0lij4qkv8xpisp0ahcadggavpb85jds5z5k19palh74c",
|
||||||
|
"url": "https://github.com/nimgl/nimgl/archive/309d6ed8164ad184ed5bbb171c9f3d9d1c11ff81.tar.gz",
|
||||||
|
"ref": "1.3.2",
|
||||||
|
"packages": [
|
||||||
|
"nimgl"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/nqnhn3vpi49aj4pn722c1qpinnzq056b-source",
|
||||||
|
"rev": "7b4266458b7435349b28a4468e0af58f1674b198",
|
||||||
|
"sha256": "12j4rzlxpibxy2jfah21qj1lf63rbkkki971y5i52dmnp84bhjzp",
|
||||||
|
"url": "https://github.com/treeform/netty/archive/7b4266458b7435349b28a4468e0af58f1674b198.tar.gz",
|
||||||
|
"ref": "0.2.1",
|
||||||
|
"packages": [
|
||||||
|
"netty"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/cbzq2fmn5582kqx3w9ima7ll4x19cmx1-source",
|
||||||
|
"rev": "a0f42baacbc48f4e5924b18854c0df9dcc251466",
|
||||||
|
"sha256": "0033kxrh8s3wmmh5ky6vlbjk2mq3c3vy0syvl5rwah2zmg0k6wzf",
|
||||||
|
"url": "https://github.com/guzba/curly/archive/a0f42baacbc48f4e5924b18854c0df9dcc251466.tar.gz",
|
||||||
|
"ref": "1.1.1",
|
||||||
|
"packages": [
|
||||||
|
"curly"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/nzqdyy9q0q0rrlpmjmihrq084nyskidd-source",
|
||||||
|
"rev": "44dc097236de00c09ffed13d4e4aeaff1473870e",
|
||||||
|
"sha256": "0m7bdiz3dnmdb5cc8k4sksmb71mlg1n75582zv5hhvp2jsj9sxsa",
|
||||||
|
"url": "https://github.com/johnnovak/nim-nanovg/archive/44dc097236de00c09ffed13d4e4aeaff1473870e.tar.gz",
|
||||||
|
"ref": "v0.4.0",
|
||||||
|
"packages": [
|
||||||
|
"nanovg"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/85w9njq4kkp7cjhz40bmmksiv0053p50-source",
|
||||||
|
"rev": "9ce9aa3efa84f55bbf3d29ef0517b2411d08a357",
|
||||||
|
"sha256": "1lm4iynl0c8hzizwc723b29ss6cw78hhr6k62a7x7ddycmxyxsnm",
|
||||||
|
"url": "https://github.com/levovix0/siwin/archive/9ce9aa3efa84f55bbf3d29ef0517b2411d08a357.tar.gz",
|
||||||
|
"packages": [
|
||||||
|
"siwin"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/dvv6cgzl9xmax5rmjxnp5wrr08ibvjaw-source",
|
||||||
|
"rev": "8e2e098f82dc5eefd874488c37b5830233cd18f4",
|
||||||
|
"sha256": "01csz5bl4jiv7jx76k7izgknl7k73y2i9hd9s6brlhfqhq7cqxmz",
|
||||||
|
"url": "https://github.com/nim-lang/opengl/archive/8e2e098f82dc5eefd874488c37b5830233cd18f4.tar.gz",
|
||||||
|
"ref": "1.2.9",
|
||||||
|
"packages": [
|
||||||
|
"opengl"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/h98460b96pynrpwxawaq21w6rjhamlvi-source",
|
||||||
|
"rev": "ec7732a4810441a937fe3059494ba338090c4957",
|
||||||
|
"sha256": "0dw33jprxrc23bj0b6ypbg6n940nzxlrxa57df88q4ly1xvi6w1h",
|
||||||
|
"url": "https://github.com/euantorano/semver.nim/archive/ec7732a4810441a937fe3059494ba338090c4957.tar.gz",
|
||||||
|
"ref": "v1.2.3",
|
||||||
|
"packages": [
|
||||||
|
"semver"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/d6c7dvmzzvc1ja7kf65jbclbjv74zll7-source",
|
||||||
|
"rev": "2086c99608b4bf472e1ef5fe063710f280243396",
|
||||||
|
"sha256": "1m7c9bvxarw167kd5mpfnddzydji03azhz347hvad592qfw4vwrc",
|
||||||
|
"url": "https://github.com/status-im/nim-serialization/archive/2086c99608b4bf472e1ef5fe063710f280243396.tar.gz",
|
||||||
|
"ref": "v0.2.6",
|
||||||
|
"packages": [
|
||||||
|
"serialization"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/a5kmnnbk27rxk9vsx1vchiiq9znkpijf-source",
|
||||||
|
"rev": "79e4fa5a9d3374db17ed63622714d3e1094c7f34",
|
||||||
|
"sha256": "0x92sgnxczwx5ak067d6169j9qm0cdpbrcpp1ijrzgyfgknpyq0r",
|
||||||
|
"url": "https://github.com/status-im/nim-stew/archive/79e4fa5a9d3374db17ed63622714d3e1094c7f34.tar.gz",
|
||||||
|
"ref": "v0.2.0",
|
||||||
|
"packages": [
|
||||||
|
"stew"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/vx0a8hw7hs5an0dnbrn6l16bd6is7hdr-source",
|
||||||
|
"rev": "07f6ba8ab96238e5bd1264cf0cea1d1746abb00c",
|
||||||
|
"sha256": "005nrldaasfl09zdsni1vi8s7dk0y85ijv6rm2wpj94435x66s36",
|
||||||
|
"url": "https://github.com/treeform/flatty/archive/07f6ba8ab96238e5bd1264cf0cea1d1746abb00c.tar.gz",
|
||||||
|
"ref": "0.3.4",
|
||||||
|
"packages": [
|
||||||
|
"flatty"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/bqmdy8vic5wfvpc9hqp4rfrhjlxz4d7c-source",
|
||||||
|
"rev": "45b2b0bb753fe2376a205a183b2b3f291e19ba14",
|
||||||
|
"sha256": "1yz1lcclmhvji34ccymglzg535b3xfz0x4m12n3n22cxz156j63x",
|
||||||
|
"url": "https://github.com/Araq/libcurl/archive/45b2b0bb753fe2376a205a183b2b3f291e19ba14.tar.gz",
|
||||||
|
"ref": "v1.0.0",
|
||||||
|
"packages": [
|
||||||
|
"libcurl"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/zcd2hmjxlkp1bpb7c9xrpg153ssj3w0b-source",
|
||||||
|
"rev": "a99f6a7d8a8e3e0213b3cad0daf0ea974bf58e3f",
|
||||||
|
"sha256": "16qdnyql8d7nm7nwwpq0maflm3p6cpbb2jfaqx6xkld9xkc9lsbv",
|
||||||
|
"url": "https://github.com/guzba/zippy/archive/a99f6a7d8a8e3e0213b3cad0daf0ea974bf58e3f.tar.gz",
|
||||||
|
"ref": "0.10.16",
|
||||||
|
"packages": [
|
||||||
|
"zippy"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/4q986rlniaxascxkvx4q8rsx12frjd51-source",
|
||||||
|
"rev": "325d6ade0970562bee7d7d53961a2c3287f0c4bc",
|
||||||
|
"sha256": "0qa8hzvamsdszygra3lcc92zk6rzm3gh1mzgjq9khbanzbg3y67n",
|
||||||
|
"url": "https://github.com/treeform/webby/archive/325d6ade0970562bee7d7d53961a2c3287f0c4bc.tar.gz",
|
||||||
|
"ref": "0.2.1",
|
||||||
|
"packages": [
|
||||||
|
"webby"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/lk4hcmvwvliliyyidx7k3fk9yfijddc5-source",
|
||||||
|
"rev": "b2e71179174e040884ebf6a16cbac711c84620b9",
|
||||||
|
"sha256": "0pi6cq43ysm1wy5vva3i2dqvyh4dqppjjjl04yj9wfq7mngpqaa1",
|
||||||
|
"url": "https://github.com/treeform/chroma/archive/b2e71179174e040884ebf6a16cbac711c84620b9.tar.gz",
|
||||||
|
"ref": "0.2.7",
|
||||||
|
"packages": [
|
||||||
|
"chroma"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/f9dp6njaay5rf32f6l9gkw0dm25gim47-source",
|
||||||
|
"rev": "7282ae1247f2f384ebeaec3826d7fa38fd0e1df1",
|
||||||
|
"sha256": "1plw9lfrm42qar01rnjhm0d9mkzsc7c3b8kz43w5pb8j8drx1lyn",
|
||||||
|
"url": "https://github.com/treeform/vmath/archive/7282ae1247f2f384ebeaec3826d7fa38fd0e1df1.tar.gz",
|
||||||
|
"ref": "2.0.0",
|
||||||
|
"packages": [
|
||||||
|
"vmath"
|
||||||
|
],
|
||||||
|
"srcDir": "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/8qaywzr8nzsiddjba77nhf75hzmxx0d9-source",
|
||||||
|
"rev": "29aca5e519ebf5d833f63a6a2769e62ec7bfb83a",
|
||||||
|
"sha256": "16npqgmi2qawjxaddj9ax15rfpdc7sqc37i2r5vg23lyr6znq4wc",
|
||||||
|
"url": "https://github.com/nim-lang/x11/archive/29aca5e519ebf5d833f63a6a2769e62ec7bfb83a.tar.gz",
|
||||||
|
"ref": "1.2",
|
||||||
|
"packages": [
|
||||||
|
"x11"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/cxdwn7p4cis5hd5w4jsn8lql5vzx5civ-source",
|
||||||
|
"rev": "2b08c774afaafd600cf4c6f994cf78b8aa090c0c",
|
||||||
|
"sha256": "10zl9a5phdsjj811v8by0yzadfc8d3azaj878an2hr8qsfi9y1ps",
|
||||||
|
"url": "https://github.com/status-im/nim-faststreams/archive/2b08c774afaafd600cf4c6f994cf78b8aa090c0c.tar.gz",
|
||||||
|
"ref": "HEAD",
|
||||||
|
"packages": [
|
||||||
|
"faststreams"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/2ksmfd7p93a1a7ibcv3qzsk8h3c3shz7-source",
|
||||||
|
"rev": "845b6af28b9f68f02d320e03ad18eccccea7ddb9",
|
||||||
|
"sha256": "1c55kl05pbavm9v5dv42n43sql9qcrblhh3hnp99p5xmlv20c9vf",
|
||||||
|
"url": "https://github.com/status-im/nim-unittest2/archive/845b6af28b9f68f02d320e03ad18eccccea7ddb9.tar.gz",
|
||||||
|
"ref": "v0.2.3",
|
||||||
|
"packages": [
|
||||||
|
"unittest2"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"path": "/nix/store/17gj9sw2hw818cbxvd6i94n734inm1vf-source",
|
||||||
|
"rev": "df8113dda4c2d74d460a8fa98252b0b771bf1f27",
|
||||||
|
"sha256": "1h7amas16sbhlr7zb7n3jb5434k98ji375vzw72k1fsc86vnmcr9",
|
||||||
|
"url": "https://github.com/arnetheduck/nim-results/archive/df8113dda4c2d74d460a8fa98252b0b771bf1f27.tar.gz",
|
||||||
|
"ref": "v0.5.1",
|
||||||
|
"packages": [
|
||||||
|
"results"
|
||||||
|
],
|
||||||
|
"srcDir": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
13
pkgs/lucem/lucem-disable-auto-updater.patch
Normal file
13
pkgs/lucem/lucem-disable-auto-updater.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/config.nim b/src/config.nim
|
||||||
|
index 64e4370..92aee9a 100644
|
||||||
|
--- a/src/config.nim
|
||||||
|
+++ b/src/config.nim
|
||||||
|
@@ -32,7 +32,7 @@ type
|
||||||
|
|
||||||
|
LucemConfig* = object
|
||||||
|
discord_rpc*: bool = false
|
||||||
|
- auto_updater*: bool = true
|
||||||
|
+ auto_updater*: bool = false
|
||||||
|
notify_server_region*: bool = true
|
||||||
|
loading_screen*: bool = true
|
||||||
|
polling_delay*: uint = 100
|
90
pkgs/lucem/nim_lk-rev-order-fix.patch
Normal file
90
pkgs/lucem/nim_lk-rev-order-fix.patch
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
diff --git a/src/nim_lk.nim b/src/nim_lk.nim
|
||||||
|
index 2b8b0bc..68d8b64 100644
|
||||||
|
--- a/src/nim_lk.nim
|
||||||
|
+++ b/src/nim_lk.nim
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
# https://cyclonedx.org/docs/1.6/json/
|
||||||
|
|
||||||
|
import
|
||||||
|
- std/[algorithm, deques, httpclient, json, options, os, osproc, parseutils, parseopt, streams, strutils, tables, uri],
|
||||||
|
+ std/[algorithm, deques, httpclient, json, options, os, osproc, parseutils, parseopt, streams, strutils, tables, uri, re],
|
||||||
|
pkg/nimblepkg/options,
|
||||||
|
pkg/nimblepkg/packageinfo,
|
||||||
|
pkg/nimblepkg/packageinfotypes,
|
||||||
|
@@ -89,6 +89,13 @@ proc startProcess(cmd: string; cmdArgs: varargs[string]): Process =
|
||||||
|
type GitPair = object
|
||||||
|
`ref`, `rev`: string
|
||||||
|
|
||||||
|
+proc cleanVersion(version: string): string =
|
||||||
|
+ let pattern = re"^v?(\d+\.\d+\.\d+.*)$" # Captures valid semantic versions
|
||||||
|
+ var matches: array[1, string]
|
||||||
|
+ if version.find(pattern, matches) >= 0:
|
||||||
|
+ return matches[0]
|
||||||
|
+ return version
|
||||||
|
+
|
||||||
|
proc gitLsRemote(url: string; tagsArg = false): seq[GitPair] =
|
||||||
|
var line, rev, refer: string
|
||||||
|
var process =
|
||||||
|
@@ -104,12 +111,15 @@ proc gitLsRemote(url: string; tagsArg = false): seq[GitPair] =
|
||||||
|
const
|
||||||
|
refsTags = "refs/tags/"
|
||||||
|
headsTags = "refs/heads/"
|
||||||
|
+ headRef = "HEAD"
|
||||||
|
if refer.startsWith(refsTags):
|
||||||
|
refer.removePrefix(refsTags)
|
||||||
|
result.add GitPair(`ref`: refer, `rev`: rev)
|
||||||
|
elif refer.startsWith(headsTags):
|
||||||
|
refer.removePrefix(headsTags)
|
||||||
|
result.add GitPair(`ref`: refer, `rev`: rev)
|
||||||
|
+ elif refer == headRef:
|
||||||
|
+ result.add GitPair(`ref`: refer, `rev`: rev)
|
||||||
|
stderr.write(process.errorStream.readAll)
|
||||||
|
close(process)
|
||||||
|
if tagsArg and result.len == 0:
|
||||||
|
@@ -120,22 +130,40 @@ proc matchRev(url: string; wanted: VersionRange): GitPair =
|
||||||
|
let special = $wanted.spe
|
||||||
|
if special[0] == '#':
|
||||||
|
result.rev = special[1..special.high]
|
||||||
|
+ return # early return
|
||||||
|
else:
|
||||||
|
quit("unhandled version " & url & " " & $wanted)
|
||||||
|
else:
|
||||||
|
let withTags = wanted.kind != verAny
|
||||||
|
let pairs = gitLsRemote(url, withTags)
|
||||||
|
var resultVersion: Version
|
||||||
|
+ var latestTag: GitPair
|
||||||
|
+
|
||||||
|
for pair in pairs:
|
||||||
|
try:
|
||||||
|
- var tagVer = pair.`ref`.newVersion
|
||||||
|
- if tagVer.withinRange(wanted) and resultVersion < tagVer:
|
||||||
|
+ var tagVer = cleanVersion(pair.`ref`).newVersion
|
||||||
|
+ if (tagVer.withinRange(wanted) or not withTags) and resultVersion < tagVer:
|
||||||
|
resultVersion = tagVer
|
||||||
|
- result = pair
|
||||||
|
+ latestTag = pair
|
||||||
|
except ParseVersionError: discard
|
||||||
|
- if result.rev == "" and pairs.len > 0:
|
||||||
|
- result = pairs[pairs.high]
|
||||||
|
- doAssert result.rev != "", url
|
||||||
|
+
|
||||||
|
+ if latestTag.rev != "":
|
||||||
|
+ result = latestTag
|
||||||
|
+ return # early return
|
||||||
|
+
|
||||||
|
+ let headPairs = gitLsRemote(url, false)
|
||||||
|
+ var headPair: GitPair
|
||||||
|
+
|
||||||
|
+ for pair in headPairs:
|
||||||
|
+ if pair.`ref` == "HEAD":
|
||||||
|
+ headPair = pair
|
||||||
|
+
|
||||||
|
+ if headPair.rev != "":
|
||||||
|
+ result = headPair
|
||||||
|
+ return # early return
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+ doAssert false, "No matching revision found for " & url
|
||||||
|
|
||||||
|
proc collectMetadata(data: JsonNode) =
|
||||||
|
let storePath = data{"path"}.getStr
|
40
pkgs/lucem/update.nix
Normal file
40
pkgs/lucem/update.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ nixpkgs ? <nixpkgs>, pkgs ? (import nixpkgs) { } }:
|
||||||
|
let
|
||||||
|
inherit (pkgs) callPackage fetchFromSourcehut fetchFromGitHub lib;
|
||||||
|
inherit (lib) escapeShellArg;
|
||||||
|
|
||||||
|
lucem = pkgs.callPackage ./. { };
|
||||||
|
|
||||||
|
nim_lk_patched = pkgs.nim_lk.overrideAttrs (final: prev: {
|
||||||
|
src = pkgs.fetchFromSourcehut {
|
||||||
|
owner = "~ehmry";
|
||||||
|
repo = "nim_lk";
|
||||||
|
rev = "c2d601095d1961d8f59f1fffe5b56788b255c3de";
|
||||||
|
hash = "sha256-1WD1UVi6N7tftE69LAhx86Qxc97oMHKARFsCVGqtEm4=";
|
||||||
|
};
|
||||||
|
patches = [
|
||||||
|
./nim_lk-rev-order-fix.patch
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
in
|
||||||
|
pkgs.stdenvNoCC.mkDerivation {
|
||||||
|
name = "lucem-lock.json";
|
||||||
|
|
||||||
|
src = lucem.src;
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
|
nim_lk_patched
|
||||||
|
nix-prefetch-git
|
||||||
|
nix
|
||||||
|
# cacert
|
||||||
|
git
|
||||||
|
];
|
||||||
|
|
||||||
|
SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
find .
|
||||||
|
nim_lk > $out
|
||||||
|
'';
|
||||||
|
}
|
@ -1,51 +1,11 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
inputs,
|
imports = [ ./legacy-module.nix ];
|
||||||
self,
|
config = {
|
||||||
config,
|
perSystem = { system, inputs', self', pkgs, ...}: {
|
||||||
lib,
|
packages = {
|
||||||
options,
|
lucem = pkgs.callPackage ./lucem { };
|
||||||
...
|
|
||||||
}: let
|
|
||||||
cfg = config.nixfiles.outputs.packages;
|
|
||||||
inherit (lib) mapAttrs mkEnableOption mkIf;
|
|
||||||
in {
|
|
||||||
options.nixfiles.outputs.packages = {
|
|
||||||
enable =
|
|
||||||
mkEnableOption ""
|
|
||||||
// {
|
|
||||||
description = ''
|
|
||||||
Whether to generate the packages output.
|
|
||||||
'';
|
|
||||||
default = true;
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
perSystem = {
|
|
||||||
system,
|
|
||||||
inputs',
|
|
||||||
self',
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
packages = let
|
|
||||||
inherit (pkgs) callPackage callPackages;
|
|
||||||
|
|
||||||
# i forget how this works so i'm not messing with it.
|
|
||||||
mopidyPackages = callPackages ./mopidy {
|
|
||||||
python = pkgs.python3;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
(mapAttrs (_: v: callPackage v {}) {
|
|
||||||
google-fonts = ./google-fonts;
|
|
||||||
wm-helpers = ./wm-helpers;
|
|
||||||
atool = ./atool-wrapped;
|
|
||||||
nixfiles-assets = ./nixfiles-assets;
|
|
||||||
redlib = ./redlib;
|
|
||||||
cross-seed = ./cross-seed;
|
|
||||||
})
|
|
||||||
// {
|
|
||||||
inherit (mopidyPackages) mopidy-autoplay;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user