diff options
-rw-r--r-- | accounts/gkleen@sif/ssh-hosts.nix | 3 | ||||
-rw-r--r-- | flake.lock | 55 | ||||
-rw-r--r-- | flake.nix | 22 | ||||
-rw-r--r-- | overlays/zfs.nix | 11 | ||||
-rw-r--r-- | shell.nix | 3 |
5 files changed, 80 insertions, 14 deletions
diff --git a/accounts/gkleen@sif/ssh-hosts.nix b/accounts/gkleen@sif/ssh-hosts.nix index cd4c0c2d..f32ac91a 100644 --- a/accounts/gkleen@sif/ssh-hosts.nix +++ b/accounts/gkleen@sif/ssh-hosts.nix | |||
@@ -257,6 +257,9 @@ | |||
257 | { hostname = "vidhar.yggdrasil"; | 257 | { hostname = "vidhar.yggdrasil"; |
258 | identityFile = "~/.ssh/gkleen@sif.midgard.yggdrasil"; | 258 | identityFile = "~/.ssh/gkleen@sif.midgard.yggdrasil"; |
259 | }; | 259 | }; |
260 | "sif" = | ||
261 | { identityFile = "~/.ssh/gkleen@sif.midgard.yggdrasil"; | ||
262 | }; | ||
260 | "unison.vidhar" = | 263 | "unison.vidhar" = |
261 | { hostname = "vidhar.yggdrasil"; | 264 | { hostname = "vidhar.yggdrasil"; |
262 | identityFile = "~/.ssh/unison.gkleen@vidhar.yggdrasil"; | 265 | identityFile = "~/.ssh/unison.gkleen@vidhar.yggdrasil"; |
@@ -1,5 +1,44 @@ | |||
1 | { | 1 | { |
2 | "nodes": { | 2 | "nodes": { |
3 | "deploy-rs": { | ||
4 | "inputs": { | ||
5 | "flake-compat": "flake-compat", | ||
6 | "nixpkgs": [ | ||
7 | "nixpkgs" | ||
8 | ], | ||
9 | "utils": "utils" | ||
10 | }, | ||
11 | "locked": { | ||
12 | "lastModified": 1638665590, | ||
13 | "narHash": "sha256-nhtfL3z4TizWHemyZvgLvq11FhYX5Ya4ke+t6Np5PKQ=", | ||
14 | "owner": "serokell", | ||
15 | "repo": "deploy-rs", | ||
16 | "rev": "715e92a13018bc1745fb680b5860af0c5641026a", | ||
17 | "type": "github" | ||
18 | }, | ||
19 | "original": { | ||
20 | "owner": "serokell", | ||
21 | "ref": "master", | ||
22 | "repo": "deploy-rs", | ||
23 | "type": "github" | ||
24 | } | ||
25 | }, | ||
26 | "flake-compat": { | ||
27 | "flake": false, | ||
28 | "locked": { | ||
29 | "lastModified": 1627913399, | ||
30 | "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", | ||
31 | "owner": "edolstra", | ||
32 | "repo": "flake-compat", | ||
33 | "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", | ||
34 | "type": "github" | ||
35 | }, | ||
36 | "original": { | ||
37 | "owner": "edolstra", | ||
38 | "repo": "flake-compat", | ||
39 | "type": "github" | ||
40 | } | ||
41 | }, | ||
3 | "home-manager": { | 42 | "home-manager": { |
4 | "inputs": { | 43 | "inputs": { |
5 | "nixpkgs": [ | 44 | "nixpkgs": [ |
@@ -39,6 +78,7 @@ | |||
39 | }, | 78 | }, |
40 | "root": { | 79 | "root": { |
41 | "inputs": { | 80 | "inputs": { |
81 | "deploy-rs": "deploy-rs", | ||
42 | "home-manager": "home-manager", | 82 | "home-manager": "home-manager", |
43 | "nixpkgs": "nixpkgs", | 83 | "nixpkgs": "nixpkgs", |
44 | "sops-nix": "sops-nix" | 84 | "sops-nix": "sops-nix" |
@@ -64,6 +104,21 @@ | |||
64 | "repo": "sops-nix", | 104 | "repo": "sops-nix", |
65 | "type": "github" | 105 | "type": "github" |
66 | } | 106 | } |
107 | }, | ||
108 | "utils": { | ||
109 | "locked": { | ||
110 | "lastModified": 1631561581, | ||
111 | "narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=", | ||
112 | "owner": "numtide", | ||
113 | "repo": "flake-utils", | ||
114 | "rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19", | ||
115 | "type": "github" | ||
116 | }, | ||
117 | "original": { | ||
118 | "owner": "numtide", | ||
119 | "repo": "flake-utils", | ||
120 | "type": "github" | ||
121 | } | ||
67 | } | 122 | } |
68 | }, | 123 | }, |
69 | "root": "root", | 124 | "root": "root", |
@@ -22,9 +22,16 @@ | |||
22 | ref = "master"; | 22 | ref = "master"; |
23 | inputs.nixpkgs.follows = "nixpkgs"; | 23 | inputs.nixpkgs.follows = "nixpkgs"; |
24 | }; | 24 | }; |
25 | deploy-rs = { | ||
26 | type = "github"; | ||
27 | owner = "serokell"; | ||
28 | repo = "deploy-rs"; | ||
29 | ref = "master"; | ||
30 | inputs.nixpkgs.follows = "nixpkgs"; | ||
31 | }; | ||
25 | }; | 32 | }; |
26 | 33 | ||
27 | outputs = { self, nixpkgs, home-manager, sops-nix, ... }@inputs: | 34 | outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, ... }@inputs: |
28 | let | 35 | let |
29 | inherit (builtins) attrNames attrValues elemAt toJSON isNull pathExists; | 36 | inherit (builtins) attrNames attrValues elemAt toJSON isNull pathExists; |
30 | inherit (nixpkgs) lib; | 37 | inherit (nixpkgs) lib; |
@@ -157,11 +164,22 @@ | |||
157 | 164 | ||
158 | apps = activateNixosConfigurations; | 165 | apps = activateNixosConfigurations; |
159 | 166 | ||
160 | devShell = forAllSystems (system: systemPkgs: import ./shell.nix { pkgs = self.legacyPackages.${system}; }); | 167 | devShell = forAllSystems (system: systemPkgs: import ./shell.nix { pkgs = self.legacyPackages.${system}; deploy-rs = deploy-rs.defaultPackage.${system}; }); |
161 | 168 | ||
162 | defaultTemplate = { | 169 | defaultTemplate = { |
163 | path = ./.; | 170 | path = ./.; |
164 | description = "GKleen's flakey nixos configuration"; | 171 | description = "GKleen's flakey nixos configuration"; |
165 | }; | 172 | }; |
173 | |||
174 | deploy.nodes = mapAttrs (hostname: _: { | ||
175 | inherit hostname; | ||
176 | sshUser = "root"; | ||
177 | |||
178 | profiles.system = { | ||
179 | path = deploy-rs.lib.${self.nixosConfigurations.${hostname}.config.nixpkgs.system}.activate.nixos self.nixosConfigurations.${hostname}; | ||
180 | }; | ||
181 | }) (nixImport { dir = ./hosts; _import = (_path: name: name); }); | ||
182 | |||
183 | checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; | ||
166 | }; | 184 | }; |
167 | } | 185 | } |
diff --git a/overlays/zfs.nix b/overlays/zfs.nix deleted file mode 100644 index a76becff..00000000 --- a/overlays/zfs.nix +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | final: prev: { | ||
2 | linuxPackages_5_15 = prev.linuxPackages_latest.extend (self: super: { | ||
3 | zfsUnstable = prev.zfsUnstable.overrideAttrs (oldAttrs: { | ||
4 | meta = oldAttrs.meta // (assert (oldAttrs.src.outputHash == "sha256-UUuJa5w/GsEvsgH/BnXFsP/dsOt9wwmPqKzDxLPrhiY="); rec { | ||
5 | broken = !(self.kernel.kernelAtLeast "3.10" && self.kernel.kernelOlder "5.16"); | ||
6 | latestCompatibleLinuxPackages = final.linuxPackages_5_15; | ||
7 | }); | ||
8 | }); | ||
9 | }); | ||
10 | linuxPackages_latest = final.linuxPackages_5_15; | ||
11 | } | ||
@@ -1,4 +1,4 @@ | |||
1 | { pkgs ? import <nixpkgs> {} }: | 1 | { pkgs ? import <nixpkgs> {}, deploy-rs }: |
2 | let | 2 | let |
3 | nixWithFlakes = pkgs.symlinkJoin { | 3 | nixWithFlakes = pkgs.symlinkJoin { |
4 | name = "nix-with-flakes"; | 4 | name = "nix-with-flakes"; |
@@ -16,5 +16,6 @@ in pkgs.mkShell { | |||
16 | wireguard | 16 | wireguard |
17 | gup | 17 | gup |
18 | nftables | 18 | nftables |
19 | deploy-rs | ||
19 | ]; | 20 | ]; |
20 | } | 21 | } |