summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix50
1 files changed, 29 insertions, 21 deletions
diff --git a/flake.nix b/flake.nix
index 0745d37c..db0c6991 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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 };
@@ -108,7 +108,7 @@
108 }; 108 };
109 nix-index-database = { 109 nix-index-database = {
110 type = "github"; 110 type = "github";
111 owner = "Mic92"; 111 owner = "nix-community";
112 repo = "nix-index-database"; 112 repo = "nix-index-database";
113 ref = "main"; 113 ref = "main";
114 inputs = { 114 inputs = {
@@ -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 = {
@@ -183,16 +186,6 @@
183 repo = "impermanence"; 186 repo = "impermanence";
184 ref = "master"; 187 ref = "master";
185 }; 188 };
186 waybar = {
187 type = "github";
188 owner = "gkleen";
189 repo = "Waybar";
190 ref = "feat/niri-workspaces-hide";
191 inputs = {
192 nixpkgs.follows = "nixpkgs";
193 flake-compat.follows = "flake-compat";
194 };
195 };
196 nixVirt = { 189 nixVirt = {
197 type = "github"; 190 type = "github";
198 owner = "AshleyYakeley"; 191 owner = "AshleyYakeley";
@@ -206,7 +199,12 @@
206 ref = "main"; 199 ref = "main";
207 inputs = { 200 inputs = {
208 nixpkgs.follows = "nixpkgs"; 201 nixpkgs.follows = "nixpkgs";
209 # niri-unstable.url = "github:gkleen/niri"; 202 niri-unstable = {
203 type = "github";
204 owner = "gkleen";
205 repo = "niri";
206 ref = "fix/locked-monitor-control";
207 };
210 }; 208 };
211 }; 209 };
212 nix-monitored = { 210 nix-monitored = {
@@ -218,6 +216,14 @@
218 nixpkgs.follows = "nixpkgs"; 216 nixpkgs.follows = "nixpkgs";
219 }; 217 };
220 }; 218 };
219 lanzaboote = {
220 type = "github";
221 owner = "nix-community";
222 repo = "lanzaboote";
223 ref = "v0.4.3";
224
225 inputs.nixpkgs.follows = "nixpkgs";
226 };
221 }; 227 };
222 228
223 outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, nvfetcher, niri-flake, ... }@inputs: 229 outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, nvfetcher, niri-flake, ... }@inputs:
@@ -363,7 +369,7 @@
363 369
364 overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; 370 overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths;
365 371
366 packages = forAllSystems (system: systemPkgs: nixImport rec { dir = ./tools; _import = _path: name: import "${toString dir}/${name}" ({ inherit system; } // inputs); }); 372 packages = forAllSystems (system: systemPkgs: nixImport rec { dir = ./tools; _import = name: _base: import (dir + "/${name}") ({ inherit system; } // inputs); });
367 373
368 # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; 374 # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages;
369 # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; 375 # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages;
@@ -375,6 +381,8 @@
375 activateNixosConfigurations activateHomeManagerConfigurations 381 activateNixosConfigurations activateHomeManagerConfigurations
376 ]; 382 ];
377 383
384 lib = nixImport rec { dir = ./lib; _import = name: _base: import (dir + "/${name}") inputs; };
385
378 devShells = forAllSystems (system: systemPkgs: { default = import ./shell.nix ({ inherit system; } // inputs); } // installerShells system systemPkgs); 386 devShells = forAllSystems (system: systemPkgs: { default = import ./shell.nix ({ inherit system; } // inputs); } // installerShells system systemPkgs);
379 387
380 templates.default = { 388 templates.default = {
@@ -398,7 +406,7 @@
398 # path = activateHomeManager (self.nixosConfigurations.${hostname}.config.nixpkgs.system) usercfg.home; 406 # path = activateHomeManager (self.nixosConfigurations.${hostname}.config.nixpkgs.system) usercfg.home;
399 # }) self.nixosConfigurations.${hostname}.config.home-manager.users); 407 # }) self.nixosConfigurations.${hostname}.config.home-manager.users);
400 }) (nixImport { dir = ./hosts; _import = (_path: name: name); }); 408 }) (nixImport { dir = ./hosts; _import = (_path: name: name); });
401 overrides = if pathExists ./deploy then nixImport { dir = ./deploy; _import = path: _name: import (./deploy + "/${path}") inputs; } else {}; 409 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); 410 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)); 411 in mapAttrs (_n: v: if v ? "profiles" then v // { profiles = filterEnabled v.profiles; } else v) (filterEnabled (recursiveUpdate defaults overrides));
404 412