diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 31 |
1 files changed, 22 insertions, 9 deletions
@@ -29,13 +29,13 @@ | |||
29 | type = "github"; | 29 | type = "github"; |
30 | owner = "NixOS"; | 30 | owner = "NixOS"; |
31 | repo = "nixpkgs"; | 31 | repo = "nixpkgs"; |
32 | ref = "24.05"; | 32 | ref = "25.05"; |
33 | }; | 33 | }; |
34 | nixpkgs-eostre = { | 34 | nixpkgs-eostre = { |
35 | type = "github"; | 35 | type = "github"; |
36 | owner = "NixOS"; | 36 | owner = "NixOS"; |
37 | repo = "nixpkgs"; | 37 | repo = "nixpkgs"; |
38 | ref = "23.11"; | 38 | ref = "25.05"; |
39 | }; | 39 | }; |
40 | home-manager = { | 40 | home-manager = { |
41 | type = "github"; | 41 | type = "github"; |
@@ -53,7 +53,7 @@ | |||
53 | type = "github"; | 53 | type = "github"; |
54 | owner = "gkleen"; | 54 | owner = "gkleen"; |
55 | repo = "home-manager"; | 55 | repo = "home-manager"; |
56 | ref = "nixos-late-start-23.11"; | 56 | ref = "nixos-late-start-25.05"; |
57 | inputs = { | 57 | inputs = { |
58 | nixpkgs.follows = "nixpkgs-eostre"; | 58 | nixpkgs.follows = "nixpkgs-eostre"; |
59 | }; | 59 | }; |
@@ -145,20 +145,23 @@ | |||
145 | type = "gitlab"; | 145 | type = "gitlab"; |
146 | owner = "gkleen"; | 146 | owner = "gkleen"; |
147 | repo = "ca"; | 147 | repo = "ca"; |
148 | ref = "v3.1.3"; | 148 | ref = "v3.1.5"; |
149 | inputs = { | 149 | inputs = { |
150 | pyproject-nix.follows = "pyproject-nix"; | ||
151 | uv2nix.follows = "uv2nix"; | ||
150 | nixpkgs.follows = "nixpkgs"; | 152 | nixpkgs.follows = "nixpkgs"; |
151 | poetry2nix.follows = "poetry2nix"; | ||
152 | }; | 153 | }; |
153 | }; | 154 | }; |
154 | backup-utils = { | 155 | backup-utils = { |
155 | type = "gitlab"; | 156 | type = "gitlab"; |
156 | owner = "gkleen"; | 157 | owner = "gkleen"; |
157 | repo = "backup-utils"; | 158 | repo = "backup-utils"; |
158 | ref = "v0.1.6"; | 159 | ref = "v0.1.7"; |
159 | inputs = { | 160 | inputs = { |
160 | nixpkgs.follows = "nixpkgs"; | 161 | nixpkgs.follows = "nixpkgs"; |
161 | poetry2nix.follows = "poetry2nix"; | 162 | pyproject-nix.follows = "pyproject-nix"; |
163 | uv2nix.follows = "uv2nix"; | ||
164 | pyproject-build-systems.follows = "pyproject-build-systems"; | ||
162 | }; | 165 | }; |
163 | }; | 166 | }; |
164 | prometheus-borg-exporter = { | 167 | prometheus-borg-exporter = { |
@@ -218,6 +221,14 @@ | |||
218 | nixpkgs.follows = "nixpkgs"; | 221 | nixpkgs.follows = "nixpkgs"; |
219 | }; | 222 | }; |
220 | }; | 223 | }; |
224 | lanzaboote = { | ||
225 | type = "github"; | ||
226 | owner = "nix-community"; | ||
227 | repo = "lanzaboote"; | ||
228 | ref = "v0.4.2"; | ||
229 | |||
230 | inputs.nixpkgs.follows = "nixpkgs"; | ||
231 | }; | ||
221 | }; | 232 | }; |
222 | 233 | ||
223 | outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, nvfetcher, niri-flake, ... }@inputs: | 234 | outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, nvfetcher, niri-flake, ... }@inputs: |
@@ -363,7 +374,7 @@ | |||
363 | 374 | ||
364 | overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; | 375 | overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; |
365 | 376 | ||
366 | packages = forAllSystems (system: systemPkgs: nixImport rec { dir = ./tools; _import = _path: name: import "${toString dir}/${name}" ({ inherit system; } // inputs); }); | 377 | packages = forAllSystems (system: systemPkgs: nixImport rec { dir = ./tools; _import = name: _base: import (dir + "/${name}") ({ inherit system; } // inputs); }); |
367 | 378 | ||
368 | # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; | 379 | # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; |
369 | # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; | 380 | # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; |
@@ -375,6 +386,8 @@ | |||
375 | activateNixosConfigurations activateHomeManagerConfigurations | 386 | activateNixosConfigurations activateHomeManagerConfigurations |
376 | ]; | 387 | ]; |
377 | 388 | ||
389 | lib = nixImport rec { dir = ./lib; _import = name: _base: import (dir + "/${name}") inputs; }; | ||
390 | |||
378 | devShells = forAllSystems (system: systemPkgs: { default = import ./shell.nix ({ inherit system; } // inputs); } // installerShells system systemPkgs); | 391 | devShells = forAllSystems (system: systemPkgs: { default = import ./shell.nix ({ inherit system; } // inputs); } // installerShells system systemPkgs); |
379 | 392 | ||
380 | templates.default = { | 393 | templates.default = { |
@@ -398,7 +411,7 @@ | |||
398 | # path = activateHomeManager (self.nixosConfigurations.${hostname}.config.nixpkgs.system) usercfg.home; | 411 | # path = activateHomeManager (self.nixosConfigurations.${hostname}.config.nixpkgs.system) usercfg.home; |
399 | # }) self.nixosConfigurations.${hostname}.config.home-manager.users); | 412 | # }) self.nixosConfigurations.${hostname}.config.home-manager.users); |
400 | }) (nixImport { dir = ./hosts; _import = (_path: name: name); }); | 413 | }) (nixImport { dir = ./hosts; _import = (_path: name: name); }); |
401 | overrides = if pathExists ./deploy then nixImport { dir = ./deploy; _import = path: _name: import (./deploy + "/${path}") inputs; } else {}; | 414 | overrides = if pathExists ./deploy then nixImport rec { dir = ./deploy; _import = path: _name: import (dir + "/${path}") inputs; } else {}; |
402 | filterEnabled = attrs: mapAttrs (_n: v: filterAttrs (n: _v: n != "enabled") v) (filterAttrs (_n: v: v.enabled or true) attrs); | 415 | filterEnabled = attrs: mapAttrs (_n: v: filterAttrs (n: _v: n != "enabled") v) (filterAttrs (_n: v: v.enabled or true) attrs); |
403 | in mapAttrs (_n: v: if v ? "profiles" then v // { profiles = filterEnabled v.profiles; } else v) (filterEnabled (recursiveUpdate defaults overrides)); | 416 | in mapAttrs (_n: v: if v ? "profiles" then v // { profiles = filterEnabled v.profiles; } else v) (filterEnabled (recursiveUpdate defaults overrides)); |
404 | 417 | ||