summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hosts/default.nix130
-rw-r--r--hosts/profiles.nix (renamed from hosts/common.nix)4
2 files changed, 64 insertions, 70 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;};
};
};
}
diff --git a/hosts/common.nix b/hosts/profiles.nix
index 3e2a7ca..ba49050 100644
--- a/hosts/common.nix
+++ b/hosts/profiles.nix
@@ -8,8 +8,6 @@ in {
system = "x86_64-linux";
builder = nixpkgsUnstable.lib.nixosSystem;
- dir = ./.;
-
modules = [
ragenix.nixosModules.default
home-manager.nixosModules.home-manager
@@ -68,8 +66,6 @@ in {
server = {
builder = nixpkgs.lib.nixosSystem;
- dir = ./.;
-
modules = [
ragenix.nixosModules.default
../modules/base