Compare commits

..

25 Commits

Author SHA1 Message Date
2e036997fe
Update flake.lock 2025-05-15 17:38:24 -04:00
d21c09b006
Update flake.lock 2025-05-07 12:02:57 -04:00
ba744082b4
system: enable flipper zero config 2025-05-06 03:25:57 -04:00
1cd8ecb093
install serial utilities, add to group 2025-05-05 19:55:17 -04:00
b2ab765800
Update flake.lock 2025-05-02 03:26:58 -04:00
3b97ca6943
overlays/mitigations: gotenberg 2025-04-26 18:38:30 -04:00
b13d96f56e
slab: fix stylix config 2025-04-26 17:28:13 -04:00
c6ba185187
Update flake.lock 2025-04-26 11:00:17 -04:00
7e663d2e13
Update zen browser 2025-03-15 11:18:30 -04:00
ad73714688
Revert "Update flake.lock"
This reverts commit df2f8726f68525b00e55ad2f824ec361a33fb4d5.
2025-03-15 11:17:33 -04:00
df2f8726f6
Update flake.lock 2025-03-13 18:19:41 -04:00
95f3aa39c8
Fix formatting 2025-03-13 17:30:29 -04:00
a41bd02ca4
overlays: pin rustdesk-flutter 2025-03-13 17:29:59 -04:00
7b07ae7983
system: fix eval failure 2025-03-13 12:42:36 -04:00
551723abef
home(productivity): add Zen Browser 2025-03-06 17:03:04 -05:00
b2a24ce42e
flake: add Zen Browser input + overlay 2025-03-06 16:58:11 -05:00
9b438def7b
Update flake.lock, pkgs 2025-03-04 09:24:58 -05:00
e9bc288e35
ci: eval builds as single attrset
This is much safer and might also be faster. Passing `system` could
still be hypothetically unsafe, but I doubt nixpkgs will ever have a
system name with a dot in it for this specific reason.
2025-03-04 01:25:36 -05:00
bd0759b398
flake: fix specialisedNixosConfigurations nospec 2025-03-04 01:19:51 -05:00
d768399a4e
ci: dynamic system build list 2025-03-04 00:49:04 -05:00
8c7d95f0fd
rpi4: update reddit subscriptions 2025-03-03 16:47:49 -05:00
b02c67961f
flake: add config specialisation attrset
This contains each host's individual specialisations as separate
derivations, as well as a modified top-level config containing no
specialisations. Evaluating specialisations as separate derivations
takes significantly less memory (especially since nix-fast-build doesn't
support eval caching) and should stop CI from crashing.
2025-03-03 16:32:48 -05:00
f60bd3ade9
ci: actually remove full system build
it would be nice if i actually removed the thing i said i was gonna
remove, now wouldn't it?
2025-03-02 18:12:01 -05:00
f309435739
ci: don't eval full systems with specialisations
this should fix the ungodly memory usage that keeps crashing my runners
2025-03-02 17:27:30 -05:00
c49fa018b3
ci: update build script 2025-03-02 16:30:11 -05:00
28 changed files with 326 additions and 191 deletions

View File

@ -1,4 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# shellcheck disable=SC2317
# ^ SC2317 (Command appears to be unreachable.)
set -Exo pipefail set -Exo pipefail
@ -6,6 +8,7 @@ err=0
set_error () { set_error () {
err=1 err=1
pkill -s 0 -9 nix-eval-jobs || true
} }
trap set_error ERR trap set_error ERR
@ -16,14 +19,19 @@ system="$(nix eval --impure --raw --expr 'builtins.currentSystem')"
run_builds () { run_builds () {
for i in "$@" ; do for i in "$@" ; do
nix-fast-build --eval-workers 1 --no-nom --skip-cache --attic-cache main -f "$i" nix-fast-build --eval-workers 1 --no-nom --skip-cache --attic-cache main -f "$i"
pkill -s 0 -9 nix-eval-jobs || true
done done
} }
build_systems () { _build_systems () {
case "$system" in case "$system" in
# TODO this is messy and hard-coded, make an attribute set for
# each system containing the specializations as well as the nospec ver
x86_64-linux) run_builds \ x86_64-linux) run_builds \
.\#nixosConfigurations.nullbox.config.system.build.toplevel \ .\#nixosConfigurations.nullbox.config.specialisation.hyprland.configuration.system.build.toplevel \
.\#nixosConfigurations.slab.config.system.build.toplevel \ .\#nospec.nullbox.config.system.build.toplevel \
.\#nixosConfigurations.slab.config.specialisation.{hyprland,nvidia}.configuration.system.build.toplevel \
.\#nospec.slab.config.system.build.toplevel \
.\#nixosConfigurations.nixos-wsl.config.system.build.toplevel \ .\#nixosConfigurations.nixos-wsl.config.system.build.toplevel \
;; ;;
@ -33,6 +41,23 @@ build_systems () {
esac esac
} }
build_systems () {
# system should be set in `nix develop` but just in case
local system
system="${system:-$(nix eval --impure --raw --expr 'builtins.currentSystem')}"
#nix eval --json .#legacyPackages."${system}".specialisedNixosConfigurations --apply 'builtins.attrNames' \
# | jq -c '.[]' \
# | while read -r line ; do
# local build
# build="$(printf '%s' "$line" | jq -r)"
# run_builds ".#legacyPackages.${system}.specialisedNixosConfigurations.${build}"
# done
run_builds ".#legacyPackages.${system}.specialisedNixosConfigurations"
}
build_packages () { build_packages () {
run_builds .\#packages."${system}".redlib run_builds .\#packages."${system}".redlib
} }

250
flake.lock generated
View File

@ -10,11 +10,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1736955230, "lastModified": 1745630506,
"narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", "narHash": "sha256-bHCFgGeu8XjWlVuaWzi3QONjDW3coZDqSHvnd4l7xus=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", "rev": "96e078c646b711aee04b82ba01aefbff87004ded",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -43,11 +43,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739298463, "lastModified": 1745357003,
"narHash": "sha256-oAFv9jKwwA7d7384d2LeywDSgwhvb3ZnrwbfoWPhXsI=", "narHash": "sha256-jYwzQkv1r7HN/4qrAuKp+NR4YYNp2xDrOX5O9YVqkWo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "f239e5aadd6d23c48e085c2de3397e2058e54d16", "rev": "a19cf76ee1a15c1c12083fa372747ce46387289f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -61,11 +61,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1732200724, "lastModified": 1746562888,
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "153d52373b0fb2d343592871009a286ec8837aec", "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -146,11 +146,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1700795494, "lastModified": 1744478979,
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", "rev": "43975d782b418ebf4969e9ccba82466728c2851b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -163,11 +163,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1739223196, "lastModified": 1744642301,
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=", "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21", "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -178,11 +178,11 @@
}, },
"flake-compat": { "flake-compat": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1747046372,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -291,11 +291,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1738453229, "lastModified": 1743550720,
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -433,11 +433,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1737465171, "lastModified": 1742649964,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -537,11 +537,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1703113217, "lastModified": 1745494811,
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -557,11 +557,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740624780, "lastModified": 1747340209,
"narHash": "sha256-8TP61AI3QBQsjzVUQFIV8NoB5nbYfJB3iHczhBikDkU=", "narHash": "sha256-tUiXrwlJoG3dzJ+fSwv1S3VPU5ODSPZJHoBmlu4t344=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b8869e4ead721bbd4f0d6b927e8395705d4f16e6", "rev": "098e365dd83311cc8236f83ea6be42abb49a6c76",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -607,11 +607,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1738664950, "lastModified": 1745948457,
"narHash": "sha256-xIeGNM+iivwVHkv9tHwOqoUP5dDrtees34bbFKKMZYs=", "narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "7c6d165e1eb9045a996551eb9f121b6d1b30adc3", "rev": "ac903e80b33ba6a88df83d02232483d99f327573",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -636,11 +636,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739049071, "lastModified": 1745015490,
"narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", "narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", "rev": "60754910946b4e2dc1377b967b7156cb989c5873",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -661,11 +661,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1739465717, "lastModified": 1747052241,
"narHash": "sha256-8Ulwr1Z6n5YjM518DYMSHZUbPsZOG53d6QO/bwhb4SA=", "narHash": "sha256-X979gxgClu/MnL0vcBaKDkpFIWg2KhOZfAI8BFlNsEM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hypridle", "repo": "hypridle",
"rev": "3e30a63b5db64a208e9394328a81048044571368", "rev": "ecf2a3649dfb2e8a45aa63757ed571f1bfedb320",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -690,11 +690,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1740614171, "lastModified": 1747301504,
"narHash": "sha256-6fWCR3TLTK39XNy6SDsW4L78VsmwIwi1sO5B8lq24vY=", "narHash": "sha256-N7eVRonAZ7N7SOl/4jMnqj7Cr/XDUI36mr9w/tKWy4A=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "d5920bc5da75b8eaf3476bc814bd46d225709788", "rev": "a5c9b3e49047b4f03f79c5146d8925363eab3072",
"revCount": 5849, "revCount": 6114,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -742,11 +742,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1738422629, "lastModified": 1743714874,
"narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", "narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", "rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -810,11 +810,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739048983, "lastModified": 1745951494,
"narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", "narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-qtutils", "repo": "hyprland-qtutils",
"rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", "rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -868,11 +868,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739048914, "lastModified": 1746655412,
"narHash": "sha256-vd5rJBTmp2w7SDgfv23Zcd84ktI5eDA7e5UBzx+pKrU=", "narHash": "sha256-kVQ0bHVtX6baYxRWWIh4u3LNJZb9Zcm2xBeDPOGz5BY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "a7334904d591f38757c46fbe2ab68651877d9099", "rev": "557241780c179cf7ef224df392f8e67dab6cef83",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -918,11 +918,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739891528, "lastModified": 1746635225,
"narHash": "sha256-h8HOCZ/rw2Buzku+GKF77VXxrGjCSOQkLhptiEKMYg0=", "narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "61a5382f4b1ab578064d470b1b3d3f0df396b8ba", "rev": "674ea57373f08b7609ce93baff131117a0dfe70d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -968,11 +968,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739049028, "lastModified": 1739870480,
"narHash": "sha256-RleJp7LYbr6s+M1xgbmhtBs+fYa3ZdIiF7+QalJ4D1g=", "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "04146df74a8d5ec0b579657307be01f1e241125f", "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -988,11 +988,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739465511, "lastModified": 1747045452,
"narHash": "sha256-kXdVW89VJoG+W6N1u0m8hgK2VIWUAweQVzehRZwdNSo=", "narHash": "sha256-VKs/GtedyOrcWiEOf9JPPX6ZgKzngXTVMUlqsL60G/c=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "59178a657b7e09ddf82b9e79681f482b6c2f378b", "rev": "8e6c02ac3dfbff878ef300266598737ee9cedf94",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1049,11 +1049,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740281615, "lastModified": 1746934494,
"narHash": "sha256-dZWcbAQ1sF8oVv+zjSKkPVY0ebwENQEkz5vc6muXbKY=", "narHash": "sha256-3n6i+F0sDASjkhbvgFDpPDZGp7z19IrRtjfF9TwJpCA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "465792533d03e6bb9dc849d58ab9d5e31fac9023", "rev": "e9b21b01e4307176b9718a29ac514838e7f6f4ff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1071,11 +1071,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740617752, "lastModified": 1747272340,
"narHash": "sha256-OTNAtsRtkojQ9qCwPNCjBOTJMAIJLaYk4Ti83IXYSBM=", "narHash": "sha256-j8CZRlI92AIaf6cTGr7vhE1NJ6J39pUV8dIiF3TEVfE=",
"owner": "Silveere", "owner": "Silveere",
"repo": "nix-minecraft", "repo": "nix-minecraft",
"rev": "68b45fd2540ec02ddf696f32e741a536b9cacf95", "rev": "8d1139b3b3e86ee24d3ebb5907a0f13f027232d6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1094,11 +1094,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740620959, "lastModified": 1747274430,
"narHash": "sha256-2yp4ipvKG1cZf4OJYelOiDMtZ4qxGn4PPFXlpiVMcuo=", "narHash": "sha256-LuQB+Ck8tF7Pt5EhcRXggTU7PHijDyZ2F7MtOnPKB5I=",
"owner": "infinidoge", "owner": "infinidoge",
"repo": "nix-minecraft", "repo": "nix-minecraft",
"rev": "91ee2f20fe2500359ba04f6ca86d39e950345d1f", "rev": "2e380da304152264ed46b09f846bf6e374af1b97",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1115,11 +1115,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740567864, "lastModified": 1746453552,
"narHash": "sha256-eTS2wrC1jKR6PKXC9jZqQy5PwqbIOBLSLF3dwLiFJ8M=", "narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "1f40b43d01626ce994eb47150afa0d7215f396ca", "rev": "be618645aa0adf461f778500172b6896d5ab2d01",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1153,11 +1153,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1739020877, "lastModified": 1746461020,
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1169,14 +1169,17 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1738452942, "lastModified": 1743296961,
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
"type": "tarball", "owner": "nix-community",
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" "repo": "nixpkgs.lib",
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
"type": "github"
}, },
"original": { "original": {
"type": "tarball", "owner": "nix-community",
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" "repo": "nixpkgs.lib",
"type": "github"
} }
}, },
"nixpkgs-mopidy": { "nixpkgs-mopidy": {
@ -1229,11 +1232,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1740547748, "lastModified": 1747312588,
"narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", "narHash": "sha256-MmJvj6mlWzeRwKGLcwmZpKaOPZ5nJb/6al5CXqJsgjo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3a05eebede89661660945da1f151959900903b6a", "rev": "b1bebd0fe266bbd1820019612ead889e96a8fa2d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1245,11 +1248,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1740463929, "lastModified": 1747209494,
"narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", "narHash": "sha256-fLise+ys+bpyjuUUkbwqo5W/UyIELvRz9lPBPoB0fbM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", "rev": "5d736263df906c5da72ab0f372427814de2f52f8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1269,11 +1272,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1740408283, "lastModified": 1746056780,
"narHash": "sha256-2xECnhgF3MU9YjmvOkrRp8wRFo2OjjewgCtlfckhL5s=", "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "496a4a11162bdffb9a7b258942de138873f019f7", "rev": "d476cd0972dd6242d76374fcc277e6735715c167",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1292,11 +1295,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1737465171, "lastModified": 1746537231,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "rev": "fa466640195d38ec97cf0493d6d6882bc4d14969",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1357,7 +1360,8 @@
"rust-overlay": "rust-overlay_2", "rust-overlay": "rust-overlay_2",
"stylix": "stylix", "stylix": "stylix",
"systems": "systems_7", "systems": "systems_7",
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2",
"zen-browser": "zen-browser"
} }
}, },
"rust-overlay": { "rust-overlay": {
@ -1388,11 +1392,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740623427, "lastModified": 1747332411,
"narHash": "sha256-3SdPQrZoa4odlScFDUHd4CUPQ/R1gtH4Mq9u8CBiK8M=", "narHash": "sha256-2LOxMLddhMoJphMU/72Ls6Rvp38aJUrp7OhWwyvslek=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "d342e8b5fd88421ff982f383c853f0fc78a847ab", "rev": "10d4529b7ead35863caa77993915104345524bed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1429,11 +1433,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1740644467, "lastModified": 1747277033,
"narHash": "sha256-i2ArXwncE2OmneLBllo5OlpLB2UsXU5JX+T+7or5OX4=", "narHash": "sha256-CXlOnolot/OYiDoG391q2dQVmdtuznpDRlsY+m55oHo=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "e7c09d206680e6fe6771e1ac9a83515313feaf95", "rev": "b460904a6fc6273345d5e2525dc89ec033d68be9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1584,11 +1588,11 @@
"tinted-schemes": { "tinted-schemes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1740351358, "lastModified": 1744974599,
"narHash": "sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA=", "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "schemes", "repo": "schemes",
"rev": "a1bc2bd89e693e7e3f5764cfe8114e2ae150e184", "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1600,11 +1604,11 @@
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1740272597, "lastModified": 1745111349,
"narHash": "sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ=", "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "b6c7f46c8718cc484f2db8b485b06e2a98304cd0", "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1658,11 +1662,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739829690, "lastModified": 1747299117,
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", "narHash": "sha256-JGjCVbxS+9t3tZ2IlPQ7sdqSM4c+KmIJOXVJPfWmVOU=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "3d0579f5cc93436052d94b73925b48973a104204", "rev": "e758f27436367c23bcd63cd973fa5e39254b530e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1699,11 +1703,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1737634991, "lastModified": 1745871725,
"narHash": "sha256-dBAnb7Kbnier30cA7AgxVSxxARmxKZ1vHZT33THSIr8=", "narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "e09dfe2726c8008f983e45a0aa1a3b7416aaeb8a", "rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1711,6 +1715,26 @@
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"type": "github" "type": "github"
} }
},
"zen-browser": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1747282003,
"narHash": "sha256-UlCfXNncIYwUvPxHngoH6pY4fiZlU8Z2Ve/gUEn6h+o=",
"owner": "youwen5",
"repo": "zen-browser-flake",
"rev": "952ca99903f19a7096a3709f2938d9c7840a5f91",
"type": "github"
},
"original": {
"owner": "youwen5",
"repo": "zen-browser-flake",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@ -85,6 +85,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
zen-browser = {
url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
rust-overlay = { rust-overlay = {
url = "github:oxalica/rust-overlay"; url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -150,6 +155,7 @@
perSystem = { perSystem = {
config, config,
system,
pkgs, pkgs,
self', self',
... ...
@ -160,9 +166,49 @@
}; };
}; };
legacyPackages.specialisedNixosConfigurations = let
attrs = lib.pipe self.nixosConfigurations [
(lib.filterAttrs (n: v: !(builtins.elem n ["iso" "rpi4-x86_64"])))
(lib.filterAttrs (n: v: v.pkgs.system or "" == system))
(lib.mapAttrs' (configName: v: let
nospec =
(v.extendModules {
modules = [
({lib, ...}: {
config.specialisation = lib.mkForce {};
})
];
})
.config;
configs =
(
lib.mapAttrs'
(n: v: lib.nameValuePair "specialisation-${n}" v.configuration)
v.config.specialisation
)
// {inherit nospec;};
in
lib.nameValuePair configName configs))
(
lib.concatMapAttrs (
configName: v:
(
lib.mapAttrs' (
specName: v: lib.nameValuePair "${configName}--${specName}" v
)
)
v
)
)
(lib.mapAttrs (_: v: v.system.build.toplevel))
];
in
attrs;
devShells = { devShells = {
ci = pkgs.mkShell { ci = pkgs.mkShell {
buildInputs = with pkgs; [ buildInputs = with pkgs; [
jq
nix-update nix-update
nix-fast-build nix-fast-build
]; ];
@ -216,6 +262,28 @@
inherit (packages) mopidy-autoplay google-fonts; inherit (packages) mopidy-autoplay google-fonts;
atool-wrapped = packages.atool; atool-wrapped = packages.atool;
}; };
zen-browser-overlay = final: prev: let
inherit (final) system callPackage;
input = inputs.zen-browser;
packages = input.packages.${system};
sources = builtins.fromJSON (builtins.readFile (input + "/sources.json"));
warnExists = name: value: let
pass =
if prev ? ${name}
then builtins.warn "zen-browser-overlay: Package `${name}` already exists. This overlay is no longer needed and should be removed." value
else value;
in
pass;
in {
zen-browser-bin = callPackage packages.zen-browser.override {};
zen-browser-unwrapped = warnExists "zen-browser-unwrapped" (callPackage packages.zen-browser-unwrapped.override {
inherit (sources.${system}) hash url;
inherit (sources) version;
});
};
in [ in [
# TODO delete this, transfer all packages to new-packages overlay # TODO delete this, transfer all packages to new-packages overlay
packagesOverlay packagesOverlay
@ -234,6 +302,7 @@
inputs.rust-overlay.overlays.default inputs.rust-overlay.overlays.default
inputs.nixfiles-assets.overlays.default inputs.nixfiles-assets.overlays.default
nix-minecraft-patched-overlay nix-minecraft-patched-overlay
zen-browser-overlay
]; ];
systems = { systems = {
@ -300,6 +369,16 @@
iso = mkISOSystem "x86_64-linux"; iso = mkISOSystem "x86_64-linux";
}; # end nixosConfigurations }; # end nixosConfigurations
nospec = lib.mapAttrs (n: v:
v.extendModules {
modules = [
(
{lib, ...}: {specialisation = lib.mkForce {};}
)
];
})
config.flake.nixosConfigurations;
homeConfigurations = { homeConfigurations = {
# minimal root config # minimal root config
"root@rpi4" = mkHome { "root@rpi4" = mkHome {

View File

@ -6,7 +6,7 @@
inputs, inputs,
self, self,
... ...
} @ flakeArgs: let }: let
cfg = config.nixfiles.systems; cfg = config.nixfiles.systems;
inherit inherit
(lib) (lib)
@ -227,22 +227,14 @@ in {
++ lib.optional config.wsl wslModule; ++ lib.optional config.wsl wslModule;
extraConfig = { extraConfig = {
inherit (config) system modules; inherit (config) system modules;
specialArgs = { # TODO get rid of specialArgs and pass things as a module
# TODO this is temporary, i prefer to not use specialArgs because specialArgs = let
# it can't be exported. these are still better than my clunky inherit (self) outputs;
# "vars" arg that i would arbitrarily add things to. in {
# inherit inputs outputs;
# we need to merge all of the module args like this because the inherit (outerConfig.nixfiles) vars;
# module evaluator only calls each module with the args it asks
# for, but we explicitly want *all* args to be made available.
flakeArgs = outerConfig._module.args // outerConfig._module.specialArgs // flakeArgs;
# still unsure of what the best way to deal with this is. i can
# probably pass this submodule's args for a fairly clean way to
# pass it, but i'd want to refactor it because config.nixpkgs and
# config.home-manager.input are named inconsistently
inherit (config) nixpkgs; inherit (config) nixpkgs;
home-manager = config.home-manager.input; inherit (config.home-manager) input;
}; };
}; };
result = config.nixpkgs.lib.nixosSystem config.extraConfig; result = config.nixpkgs.lib.nixosSystem config.extraConfig;

View File

@ -7,10 +7,6 @@
... ...
}: let }: let
cfg = config.nixfiles.packageSets.communication; cfg = config.nixfiles.packageSets.communication;
rustdesk-pkg =
if (lib.strings.hasInfix "23.11" lib.version)
then inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.rustdesk-flutter
else pkgs.rustdesk-flutter;
vesktop-ozone-cmd = let vesktop-ozone-cmd = let
extraFlags = lib.optionalString config.nixfiles.workarounds.nvidiaPrimary " --disable-gpu"; extraFlags = lib.optionalString config.nixfiles.workarounds.nvidiaPrimary " --disable-gpu";
@ -52,7 +48,7 @@ in {
signal-desktop signal-desktop
thunderbird thunderbird
vesktop vesktop
rustdesk-pkg rustdesk-flutter
tor-browser tor-browser
onionshare onionshare
] ]

View File

@ -13,6 +13,10 @@ in {
libreoffice-fresh libreoffice-fresh
obsidian obsidian
anki anki
zen-browser-bin
# uhh idk where else to put this
qflipper
# mapping/GIS # mapping/GIS
qgis qgis

View File

@ -175,6 +175,10 @@ in {
zoxide zoxide
asciinema asciinema
mtr mtr
screen
minicom
picocom
] ]
++ builtins.map (x: lib.hiPrio x) [ ++ builtins.map (x: lib.hiPrio x) [
# terminfo (just the ones i'm likely to use) # terminfo (just the ones i'm likely to use)

View File

@ -2,11 +2,9 @@
pkgs, pkgs,
config, config,
lib, lib,
flakeConfig, vars,
... ...
}: let }: {
inherit (flakeConfig.nixfiles) vars;
in {
config = { config = {
networking.hostName = "nixos-wsl"; networking.hostName = "nixos-wsl";

View File

@ -6,6 +6,7 @@
config, config,
lib, lib,
pkgs, pkgs,
inputs,
... ...
}: { }: {
imports = [ imports = [

View File

@ -33,6 +33,7 @@ okbuddyhetero
peepeeshart peepeeshart
pressureroblox pressureroblox
prismlauncher prismlauncher
programmingcirclejerk
regretevator regretevator
rust rust
rustjerk rustjerk

View File

@ -6,6 +6,7 @@
config, config,
lib, lib,
pkgs, pkgs,
vars,
... ...
}: { }: {
imports = [ imports = [

View File

@ -23,7 +23,7 @@
# TODO mkif stylix.enable; danth/stylix#216 # TODO mkif stylix.enable; danth/stylix#216
home.pointerCursor = lib.mkIf (config.nixfiles.theming.enable && !config.stylix.enable) {size = 32;}; home.pointerCursor = lib.mkIf (config.nixfiles.theming.enable && !config.stylix.enable) {size = 32;};
stylix.cursor = {size = 32;}; stylix.cursor = lib.mkIf config.stylix.enable {size = 32;};
nixfiles.theming.catppuccin.themeDPI = "hdpi"; nixfiles.theming.catppuccin.themeDPI = "hdpi";

View File

@ -9,7 +9,10 @@
# not high priority, this still works well for this overlay. # not high priority, this still works well for this overlay.
nixfiles = self; nixfiles = self;
overlay = final: prev: let overlay = final: prev: let
pkgsStable = import nixfiles.inputs.nixpkgs.outPath {inherit (prev) system;}; pkgsStable = import nixfiles.inputs.nixpkgs.outPath {
inherit (prev) system;
config.allowUnfree = true;
};
updateTime = nixfiles.inputs.nixpkgs-unstable.lastModified; updateTime = nixfiles.inputs.nixpkgs-unstable.lastModified;
inherit (final) callPackage fetchFromGitHub; inherit (final) callPackage fetchFromGitHub;
@ -79,11 +82,25 @@
in in
hold now 7 stable unstable; hold now 7 stable unstable;
gotenberg = let
stable = pkgsStable.gotenberg;
unstable = prev.gotenberg;
now = 1745707083;
in
hold now 90 stable unstable;
redlib = let redlib = let
redlib-new = final.callPackage nixfiles.packages.${prev.system}.redlib.override {}; redlib-new = final.callPackage nixfiles.packages.${prev.system}.redlib.override {};
inherit (prev) redlib; inherit (prev) redlib;
in in
pickNewer redlib-new redlib; pickNewer redlib-new redlib;
rustdesk-flutter = let
stable = pkgsStable.rustdesk-flutter;
unstable = prev.rustdesk-flutter;
now = 1741899501;
in
hold now 7 stable unstable;
} }
// ( // (
lib.genAttrs [ lib.genAttrs [

View File

@ -5,13 +5,13 @@
}: }:
buildNpmPackage rec { buildNpmPackage rec {
pname = "cross-seed"; pname = "cross-seed";
version = "6.11.0"; version = "6.11.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cross-seed"; owner = "cross-seed";
repo = "cross-seed"; repo = "cross-seed";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-+bIRLoiY9+23GUuKxPpKK23cb4Dng5nwxh3SUzMAtXA="; hash = "sha256-m/TlEAW9BFEXOvBixOj09ylgstgHKL48e9zC50fzD5g=";
}; };
npmDepsHash = "sha256-gNsD6+4+PIcygL/QCznecd5bVnLyorVJfHM/+cLG4og="; npmDepsHash = "sha256-c8wTvEA7QQb17gBHdBKMUatn8I/wKOhXP1W5ftH3pJc=";
} }

View File

@ -10,13 +10,13 @@
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "redlib"; pname = "redlib";
version = "0.35.1-unstable-2025-02-18"; version = "0.35.1-unstable-2025-03-01";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "redlib-org"; owner = "redlib-org";
repo = "redlib"; repo = "redlib";
rev = "efcf2fc24c455acdf2ddc4adc8d20606883aa118"; rev = "357e7c2e096c1aa3bb871e42860dfd3be62e0bfb";
hash = "sha256-tcazjCxioVg13BexUnuybWKG/zaXo4xBAvb7BSvpShI="; hash = "sha256-KX76kq3AX+GI8wIulGixgS5cENlNUcrKaes1dZwRhxI=";
}; };
patches = [ patches = [
@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
./no-hash.patch ./no-hash.patch
]; ];
cargoHash = "sha256-aQmMKXBEymvz44hwDyB7z8M4mQR0hcOHJnZ7rlJsuIw="; cargoHash = "sha256-5cwF+pntkAwtTwerYrJOfL4NRcL8Sb7lLZiajNcvSZY=";
buildInputs = lib.optionals stdenv.isDarwin [ buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.Security

View File

@ -15,7 +15,7 @@ in {
uid = 1000; uid = 1000;
group = "nullbite"; group = "nullbite";
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel"] ++ lib.optional config.nixfiles.packageSets.fun.enable "input"; extraGroups = [ "wheel" "dialout" ] ++ lib.optional config.nixfiles.packageSets.fun.enable "input";
packages = with pkgs; [ packages = with pkgs; [
keychain keychain
]; ];

View File

@ -3,11 +3,10 @@
lib, lib,
config, config,
options, options,
flakeArgs, inputs,
nixpkgs, nixpkgs,
... ...
}: let }: let
inherit (flakeArgs) inputs;
cfg = config.nixfiles.common.nix; cfg = config.nixfiles.common.nix;
in { in {
options.nixfiles.common.nix = { options.nixfiles.common.nix = {

View File

@ -3,9 +3,9 @@
config, config,
lib, lib,
options, options,
flakeArgs,
nixpkgs, nixpkgs,
home-manager, home-manager,
inputs,
utils, utils,
... ...
} @ args: } @ args:
@ -14,15 +14,8 @@
# inputs/outputs/overlays/etc into scope. this might even make nixfiles # inputs/outputs/overlays/etc into scope. this might even make nixfiles
# portable (it still shouldn't be imported by other flakes probably) # portable (it still shouldn't be imported by other flakes probably)
let let
inherit (flakeArgs) inputs;
cfg = config.nixfiles; cfg = config.nixfiles;
flakeType = cfg.lib.types.flake; flakeType = cfg.lib.types.flake;
mkReadOnlyOption = {...} @ args:
lib.mkOption ({
readOnly = true;
}
// args);
in { in {
imports = [ imports = [
./common ./common
@ -42,15 +35,7 @@ in {
inputs.lanzaboote.nixosModules.lanzaboote inputs.lanzaboote.nixosModules.lanzaboote
./stylix.nix # imports inputs.stylix ./stylix.nix # imports inputs.stylix
]; ];
config = { config = {};
_module.args.flakeConfig = flakeArgs.config;
};
options.debug = {
args = mkReadOnlyOption {
description = "all module args";
default = config._module.args // config._module.specialArgs // args;
};
};
options.nixfiles = { options.nixfiles = {
meta.wayland = lib.mkOption { meta.wayland = lib.mkOption {
description = "Whether to prefer wayland applications and configuration"; description = "Whether to prefer wayland applications and configuration";
@ -59,6 +44,12 @@ in {
type = lib.types.bool; type = lib.types.bool;
}; };
utils = lib.mkOption {
description = "nixpkgs `utils` argument passthrough";
default = utils;
readOnly = true;
};
workarounds.nvidiaPrimary = lib.mkOption { workarounds.nvidiaPrimary = lib.mkOption {
description = "Whether to enable workarounds for NVIDIA as the primary GPU"; description = "Whether to enable workarounds for NVIDIA as the primary GPU";
default = false; default = false;

View File

@ -2,12 +2,11 @@
config, config,
lib, lib,
pkgs, pkgs,
flakeArgs, inputs,
... ...
}: let }: let
inherit (flakeArgs) inputs;
inherit (lib) optionals mkEnableOption mkIf mkDefault;
cfg = config.nixfiles.hardware.sound; cfg = config.nixfiles.hardware.sound;
inherit (lib) optionals mkEnableOption mkIf mkDefault;
in { in {
# Enable sound. # Enable sound.
# sound.enable = true; # sound.enable = true;

View File

@ -2,11 +2,9 @@
config, config,
lib, lib,
pkgs, pkgs,
flakeArgs, inputs,
... ...
}: let }: {
inherit (flakeArgs) inputs;
in {
imports = [ imports = [
inputs.nix-minecraft.nixosModules.minecraft-servers inputs.nix-minecraft.nixosModules.minecraft-servers
]; ];

View File

@ -1,10 +1,11 @@
{ {
pkgs, pkgs,
config, config,
flakeArgs, lib,
inputs,
nixpkgs,
... ...
}: let }: let
inherit (flakeArgs) inputs;
p5 = config.services.xserver.desktopManager.plasma5.enable; p5 = config.services.xserver.desktopManager.plasma5.enable;
p6 = config.services.desktopManager.plasma6.enable; p6 = config.services.desktopManager.plasma6.enable;

View File

@ -2,6 +2,7 @@
config, config,
lib, lib,
pkgs, pkgs,
inputs,
... ...
}: let }: let
cfg = config.nixfiles.packageSets.gaming; cfg = config.nixfiles.packageSets.gaming;

View File

@ -2,6 +2,9 @@
config, config,
lib, lib,
pkgs, pkgs,
options,
inputs,
outputs,
... ...
} @ args: let } @ args: let
cfg = config.nixfiles.profile.base; cfg = config.nixfiles.profile.base;

View File

@ -44,6 +44,8 @@ in {
(google-fonts.override {fonts = ["NovaSquare"];}) (google-fonts.override {fonts = ["NovaSquare"];})
]; ];
hardware.flipperzero.enable = true;
# TODO this should be defined in home-manager or not at all probably # TODO this should be defined in home-manager or not at all probably
# FIXME also my name is hardcoded # FIXME also my name is hardcoded
users.users.nullbite = { users.users.nullbite = {

View File

@ -2,10 +2,10 @@
config, config,
lib, lib,
pkgs, pkgs,
flakeConfig, outputs,
vars,
... ...
} @ args: let } @ args: let
inherit (flakeConfig.nixfiles) vars;
cfg = config.nixfiles.programs.adb; cfg = config.nixfiles.programs.adb;
in { in {
options.nixfiles.programs.adb = { options.nixfiles.programs.adb = {

View File

@ -79,11 +79,13 @@ in {
# here instead of above.) # here instead of above.)
programs.regreet = let programs.regreet = let
# lets us use wlr-randr # lets us use wlr-randr
wrapperPackage = pkgs.writeShellScriptBin "regreet-wrapper" '' wrapperPackage =
{inherit (pkgs.greetd.regreet) version;}
// (pkgs.writeShellScriptBin "regreet-wrapper" ''
${cfg.settings.graphicalInit} ${cfg.settings.graphicalInit}
exec ${escapeShellArg (lib.getExe pkgs.greetd.regreet)} "$@" exec ${escapeShellArg (lib.getExe pkgs.greetd.regreet)} "$@"
''; '');
in in
lib.mkIf cfg.presets.regreet.enable { lib.mkIf cfg.presets.regreet.enable {
enable = lib.mkDefault true; enable = lib.mkDefault true;

View File

@ -2,10 +2,9 @@
lib, lib,
pkgs, pkgs,
config, config,
flakeArgs, inputs,
... ...
}: let }: let
inherit (flakeArgs) inputs;
cfg = config.nixfiles.sessions.hyprland; cfg = config.nixfiles.sessions.hyprland;
flake-package = inputs.hyprland.packages.${pkgs.system}.hyprland; flake-package = inputs.hyprland.packages.${pkgs.system}.hyprland;
flake-portal = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; flake-portal = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;

View File

@ -2,11 +2,9 @@
pkgs, pkgs,
config, config,
lib, lib,
flakeArgs, inputs,
... ...
} @ args: let } @ args: {
inherit (flakeArgs) inputs;
in {
imports = [inputs.stylix.nixosModules.stylix]; imports = [inputs.stylix.nixosModules.stylix];
config = { config = {