diff --git a/flake.lock b/flake.lock index 1bab2a7..e5395e5 100644 --- a/flake.lock +++ b/flake.lock @@ -63,6 +63,22 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -83,9 +99,27 @@ "type": "github" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1726153070, + "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1710146030, @@ -335,6 +369,18 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1725233747, + "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1719075281, @@ -368,6 +414,22 @@ } }, "nixpkgs_4": { + "locked": { + "lastModified": 1726062873, + "narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1718428119, "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", @@ -392,11 +454,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1726450383, - "narHash": "sha256-NZH/k2efLoRWaBI4uEHJ99EvHknuJjTuLRowuyEMS7g=", + "lastModified": 1726939982, + "narHash": "sha256-1glg2PWhryacgi0B/qdP1vWahbcxjxlEhkN7EwjT6Sk=", "owner": "nydragon", "repo": "nysh", - "rev": "efa0386ade5b9b0833a07f34593e9c9e72046005", + "rev": "d3717cae4b1b3a7645c205ce5aa07b9f3dc130e3", "type": "github" }, "original": { @@ -405,6 +467,27 @@ "type": "github" } }, + "nyxexprs": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_4", + "systems": "systems_4" + }, + "locked": { + "lastModified": 1726882698, + "narHash": "sha256-tr/kJUcxkpklHk6x3ix1aoOm8nBZ3BCR/5j/pvAUVa0=", + "owner": "NotAShelf", + "repo": "nyxexprs", + "rev": "909588293c9865e7ea7e4f71c17e47464c2084fa", + "type": "github" + }, + "original": { + "owner": "NotAShelf", + "repo": "nyxexprs", + "type": "github" + } + }, "quickshell": { "inputs": { "nixpkgs": [ @@ -413,11 +496,11 @@ ] }, "locked": { - "lastModified": 1726441580, - "narHash": "sha256-/uiDpaZUZVwqI4d0rPjT2N4qp2+eQA4GZQwEr8e+0XM=", + "lastModified": 1726641881, + "narHash": "sha256-ee2YIeFbYhm/gGs26grUW37BxqqDoFNElW1Vy5PIuHA=", "ref": "refs/heads/master", - "rev": "c57ac4b1f283896bab7fb91e8fdc9249c18d3afe", - "revCount": 344, + "rev": "7f9762be5368ca33b84e7b2b3e23a626d432436d", + "revCount": 348, "type": "git", "url": "https://git.outfoxxed.me/outfoxxed/quickshell" }, @@ -458,12 +541,13 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_3", "nysh": "nysh", + "nyxexprs": "nyxexprs", "rofi-obsidian": "rofi-obsidian" } }, "rust-overlay": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1720318855, @@ -525,6 +609,21 @@ } }, "systems_4": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_5": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -544,11 +643,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f678f70..2474fb2 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,8 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + nyxexprs.url = "github:NotAShelf/nyxexprs"; + hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1&rev=918d8340afd652b011b937d29d5eea0be08467f5"; }; diff --git a/modules/commons/default.nix b/modules/commons/default.nix new file mode 100644 index 0000000..fecadf4 --- /dev/null +++ b/modules/commons/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./system.nix ]; +} diff --git a/modules/commons/system.nix b/modules/commons/system.nix new file mode 100644 index 0000000..e82dd7a --- /dev/null +++ b/modules/commons/system.nix @@ -0,0 +1,6 @@ +{ + config.system.switch = { + enable = false; + enableNg = true; + }; +} diff --git a/modules/nix/default.nix b/modules/nix/default.nix index 37d3940..3428b12 100644 --- a/modules/nix/default.nix +++ b/modules/nix/default.nix @@ -10,7 +10,7 @@ gc = { automatic = true; dates = "weekly"; - options = "--delete-older-than 20d"; + options = "--delete-older-than 10d"; # Catch up on missed runs due to being powered off persistent = true; }; diff --git a/modules/nix/overlays.nix b/modules/nix/overlays.nix index f15b9c7..060b06d 100644 --- a/modules/nix/overlays.nix +++ b/modules/nix/overlays.nix @@ -1,5 +1,5 @@ { - inputs, + inputs', config, lib, ... @@ -27,13 +27,12 @@ pkgs = prev.pkgs; }; - rofi-obsidian = inputs.rofi-obsidian.outputs.packages.${prev.pkgs.system}.rofi-obsidian; - nysh = inputs.nysh.defaultPackage.${prev.pkgs.system}; + rofi-obsidian = inputs'.rofi-obsidian.outputs.packages.rofi-obsidian; + nysh = inputs'.nysh.defaultPackage; - hyprland = inputs.hyprland.packages.${prev.pkgs.system}.hyprland; + hyprland = inputs'.hyprland.packages.hyprland; - xdg-desktop-portal-hyprland = - inputs.hyprland.packages.${prev.pkgs.system}.xdg-desktop-portal-hyprland; + xdg-desktop-portal-hyprland = inputs'.hyprland.packages.xdg-desktop-portal-hyprland; }) ]; } diff --git a/options/default.nix b/options/default.nix index 03ed40a..fefed37 100644 --- a/options/default.nix +++ b/options/default.nix @@ -1,42 +1,7 @@ -{ lib, ... }: -let - inherit (lib.types) bool array string; -in { - options = { - device = { - pubKeys = lib.mkOption { - type = array string; - default = [ ]; - }; - - type = { - gaming.enable = lib.mkEnableOption { - type = bool; - default = false; - }; - - graphical.enable = lib.mkEnableOption { - type = bool; - default = false; - }; - - workstation.enable = lib.mkEnableOption { - type = lib.types.bool; - default = false; - }; - - server.enable = lib.mkEnableOption { - type = lib.types.bool; - default = false; - }; - - vm.enable = lib.mkEnableOption { - type = lib.types.bool; - default = false; - }; - }; - }; - }; - + imports = [ + ./media.nix + ./system.nix + ./pulseview.nix + ]; } diff --git a/options/keys.nix b/options/keys.nix new file mode 100644 index 0000000..5ba53a3 --- /dev/null +++ b/options/keys.nix @@ -0,0 +1,10 @@ +rec { + brontesUser = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMvPqWPXEUOSMGMIRmirQfbrzq//NkPlEI2TmFpIkSfw" + ]; + marrUser = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGwlScEmVbdc0EH93XLX+K8yP5FKUKzMf/bWTSO+rMiO" ]; + + allUser = brontesUser ++ marrUser; + + all = allUser; +} diff --git a/options/system.nix b/options/system.nix new file mode 100644 index 0000000..a5e4dc6 --- /dev/null +++ b/options/system.nix @@ -0,0 +1,41 @@ +{ lib, ... }: +let + inherit (lib.types) bool array string; +in +{ + options = { + device = { + pubKeys = lib.mkOption { + type = array string; + default = [ ]; + }; + + type = { + gaming.enable = lib.mkEnableOption { + type = bool; + default = false; + }; + + graphical.enable = lib.mkEnableOption { + type = bool; + default = false; + }; + + workstation.enable = lib.mkEnableOption { + type = lib.types.bool; + default = false; + }; + + server.enable = lib.mkEnableOption { + type = lib.types.bool; + default = false; + }; + + vm.enable = lib.mkEnableOption { + type = lib.types.bool; + default = false; + }; + }; + }; + }; +}