diff --git a/flake.nix b/flake.nix index 4689792..ab96866 100644 --- a/flake.nix +++ b/flake.nix @@ -5,33 +5,17 @@ ... }@inputs: let - mkSystem = type: hostname: bootDisk: { - name = "${hostname}"; - value = inputs.nixpkgs.lib.nixosSystem { - specialArgs = { - inherit - self - inputs - type - hostname - bootDisk - ; - }; - modules = [ - ./modules/nixos - ./modules/hm - ./hosts/common.nix - ./hosts/${hostname}.nix - ]; - }; + myLib = import ./lib { + inherit self inputs; + workingDir = ./.; }; in { nixosConfigurations = builtins.listToAttrs [ - (mkSystem "graphical" "nemesis" + (myLib.mkSystem "graphical" "nemesis" "nvme-nvme.c0a9-323332354536453737343334-435432303030503353534438-00000001" ) - (mkSystem "headless" "apollo" "/dev/disk/by-id/nvme-eui.002538d221b47b01") + (myLib.mkSystem "headless" "apollo" "/dev/disk/by-id/nvme-eui.002538d221b47b01") ]; }; inputs = { diff --git a/lib/default.nix b/lib/default.nix new file mode 100644 index 0000000..f49dfc5 --- /dev/null +++ b/lib/default.nix @@ -0,0 +1,28 @@ +{ + inputs, + self, + workingDir, + ... +}: +{ + mkSystem = type: hostname: bootDisk: { + name = "${hostname}"; + value = inputs.nixpkgs.lib.nixosSystem { + specialArgs = { + inherit + self + inputs + type + hostname + bootDisk + ; + }; + modules = [ + "${workingDir}/modules/nixos" + "${workingDir}/modules/hm" + "${workingDir}/hosts/common.nix" + "${workingDir}/hosts/${hostname}.nix" + ]; + }; + }; +}