diff options
| author | seth <[email protected]> | 2023-05-07 23:18:34 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-05-07 23:18:34 -0400 |
| commit | 66d3333ad7583df1e03296b88e21a964c10309de (patch) | |
| tree | 8e78fd8ddf4328d49208e3bfdf07b7419832efac /hosts/default.nix | |
| parent | 6e49c227c18d4f3008318aaa0a38a36c4de7f6c9 (diff) | |
hosts: add mkNixOS
Diffstat (limited to 'hosts/default.nix')
| -rw-r--r-- | hosts/default.nix | 130 |
1 files changed, 64 insertions, 66 deletions
diff --git a/hosts/default.nix b/hosts/default.nix index 78dfb4f..d059b40 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -3,79 +3,77 @@ self, ... }: let - inherit (import ./common.nix {inherit inputs self;}) personal server; + inherit (import ./profiles.nix {inherit inputs self;}) personal server; + + mkNixOS = { + name, + modules ? profile.modules, + profile ? personal, + system ? profile.system, + specialArgs ? profile.specialArgs, + }: + profile.builder { + inherit specialArgs system; + modules = [./${name}] ++ modules ++ profile.modules; + }; in { flake = { nixosConfigurations = { - glados = with personal; - builder { - inherit specialArgs system; - modules = with inputs; - modules - ++ [ - ./glados - nixos-hardware.nixosModules.common-cpu-amd-pstate - nixos-hardware.nixosModules.common-gpu-nvidia-nonprime - nixos-hardware.nixosModules.common-pc-ssd - lanzaboote.nixosModules.lanzaboote - ]; - }; + glados = mkNixOS { + name = "glados"; + modules = with inputs; [ + nixos-hardware.nixosModules.common-cpu-amd-pstate + nixos-hardware.nixosModules.common-gpu-nvidia-nonprime + nixos-hardware.nixosModules.common-pc-ssd + lanzaboote.nixosModules.lanzaboote + ]; + }; + + glados-wsl = mkNixOS { + name = "glados-wsl"; + modules = [inputs.nixos-wsl.nixosModules.wsl]; + }; + + atlas = mkNixOS { + name = "atlas"; + modules = [ + inputs.hercules-ci-agent.nixosModules.agent-service - glados-wsl = with personal; - builder { - inherit specialArgs system; - modules = with inputs; - modules - ++ [ - ./glados-wsl - nixos-wsl.nixosModules.wsl - ]; - }; + { + getchoo.server = { + secrets.enable = true; + services.hercules-ci = { + enable = true; + secrets.enable = true; + }; + }; + } + ]; - atlas = with server; - builder { - inherit specialArgs; - system = "aarch64-linux"; - modules = with inputs; - modules - ++ [ - ./atlas - hercules-ci-agent.nixosModules.agent-service + system = "aarch64-linux"; + profile = server; + }; - { - getchoo.server = { - secrets.enable = true; - services.hercules-ci = { - enable = true; - secrets.enable = true; - }; - }; - } - ]; - }; + p-body = mkNixOS { + name = "p-body"; + modules = with inputs; [ + hercules-ci-agent.nixosModules.agent-service + guzzle_api.nixosModules.guzzle_api - p-body = with server; - builder { - inherit specialArgs; - modules = with inputs; - modules - ++ [ - ./p-body - hercules-ci-agent.nixosModules.agent-service - guzzle_api.nixosModules.guzzle_api + { + getchoo.server = { + secrets.enable = true; + services.hercules-ci = { + enable = true; + secrets.enable = true; + }; + }; + } + ]; - { - getchoo.server = { - secrets.enable = true; - services.hercules-ci = { - enable = true; - secrets.enable = true; - }; - }; - } - ]; - system = "x86_64-linux"; - }; + system = "x86_64-linux"; + profile = server; + }; }; nixosModules.getchoo = import ../modules; @@ -89,7 +87,7 @@ in { apps = (inputs.nixinate.nixinate.${system} self).nixinate; packages = { - turret = pkgs.callPackage ./_turret {inherit (inputs) openwrt-imagebuilder;}; + turret = pkgs.callPackage ./turret {inherit (inputs) openwrt-imagebuilder;}; }; }; } |
