diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/flake.nix b/flake.nix index 3b0b980..f99f130 100644 --- a/flake.nix +++ b/flake.nix @@ -19,15 +19,31 @@ outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, home-manager, ... }: let + tailnetName = "serval-moth"; + systems = { x86 = "x86_64-linux"; arm = "aarch64-linux"; }; - machines = with systems; [ - { name = "corsac"; system = x86; } - { name = "lapin"; system = arm; } - { name = "renard"; system = x86; } + mkMachines = let + mkMachine = m: { + inherit (m) name system; + tailscale = { + inherit (m.tailscale) ip; + domain = "${m.name}.${tailnetName}.ts.net"; + }; + }; + + mkIdentities = ms: current: + lib.genAttrs (lib.catAttrs "name" ms) (m: current.name == m); + + in machines: map (m: (mkMachine m) // (mkIdentities machines m)) machines; + + machines = with systems; mkMachines [ + { name = "corsac"; system = x86; tailscale.ip = "100.64.100.100"; } + { name = "lapin"; system = arm; tailscale.ip = "100.83.254.27"; } + { name = "renard"; system = x86; tailscale.ip = "100.75.17.75"; } ]; packageSetsForSystem = system: let @@ -45,7 +61,7 @@ inherit (machine) system; specialArgs = inputs // (packageSetsForSystem machine.system) // { - me = machine.name; + me = machine; security = import ./security.nix; util = import ./util.nix { inherit lib; }; }; |
