diff options
| author | Seth Flynn <[email protected]> | 2025-02-13 21:07:48 -0500 |
|---|---|---|
| committer | Seth Flynn <[email protected]> | 2025-02-13 22:09:11 -0500 |
| commit | fd4925111408439dc8a8b875a6c3c4aff970ff12 (patch) | |
| tree | 16ac6134d3f5f0aa60d1d39cf9df55e3f75a665f | |
| parent | b816b91e4f1fcf090832f8bb81aa4484fc470cf6 (diff) | |
modules: group services & traits into "custom" modules
| -rw-r--r-- | modules/darwin/custom/default.nix (renamed from modules/darwin/services/default.nix) | 0 | ||||
| -rw-r--r-- | modules/darwin/custom/determinate.nix (renamed from modules/darwin/services/determinate.nix) | 2 | ||||
| -rw-r--r-- | modules/darwin/default.nix | 2 | ||||
| -rw-r--r-- | modules/nixos/custom/default.nix (renamed from modules/nixos/services/default.nix) | 2 | ||||
| -rw-r--r-- | modules/nixos/custom/determinate.nix (renamed from modules/nixos/services/determinate.nix) | 2 | ||||
| -rw-r--r-- | modules/nixos/custom/github-mirror/default.nix (renamed from modules/nixos/services/github-mirror/default.nix) | 8 | ||||
| -rwxr-xr-x | modules/nixos/custom/github-mirror/update-mirror.sh (renamed from modules/nixos/services/github-mirror/update-mirror.sh) | 0 | ||||
| -rw-r--r-- | modules/nixos/custom/nvd-diff.nix (renamed from modules/nixos/traits/nvd-diff.nix) | 11 | ||||
| -rw-r--r-- | modules/nixos/custom/remote-builders.nix | 96 | ||||
| -rw-r--r-- | modules/nixos/default.nix | 3 | ||||
| -rw-r--r-- | modules/nixos/defaults/default.nix | 4 | ||||
| -rw-r--r-- | modules/nixos/traits/arm-builder.nix | 42 | ||||
| -rw-r--r-- | modules/nixos/traits/default.nix | 7 | ||||
| -rw-r--r-- | modules/nixos/traits/mac-builder.nix | 65 | ||||
| -rw-r--r-- | modules/shared/custom/default.nix (renamed from modules/shared/services/default.nix) | 0 | ||||
| -rw-r--r-- | modules/shared/custom/determinate.nix (renamed from modules/shared/services/determinate.nix) | 4 | ||||
| -rw-r--r-- | modules/shared/default.nix | 2 | ||||
| -rw-r--r-- | systems/glados-wsl/default.nix | 19 | ||||
| -rw-r--r-- | systems/glados/default.nix | 19 |
19 files changed, 146 insertions, 142 deletions
diff --git a/modules/darwin/services/default.nix b/modules/darwin/custom/default.nix index 499a418..499a418 100644 --- a/modules/darwin/services/default.nix +++ b/modules/darwin/custom/default.nix diff --git a/modules/darwin/services/determinate.nix b/modules/darwin/custom/determinate.nix index 2716150..2e4e968 100644 --- a/modules/darwin/services/determinate.nix +++ b/modules/darwin/custom/determinate.nix @@ -6,7 +6,7 @@ }: let - cfg = config.services.determinate; + cfg = config.borealis.determinate; package = inputs'.determinate.packages.default; in diff --git a/modules/darwin/default.nix b/modules/darwin/default.nix index 56005e4..bc599c9 100644 --- a/modules/darwin/default.nix +++ b/modules/darwin/default.nix @@ -3,10 +3,10 @@ default = { imports = [ ../shared + ./custom ./defaults ./mixins ./profiles - ./services ./users ]; }; diff --git a/modules/nixos/services/default.nix b/modules/nixos/custom/default.nix index a6a10ea..db24a63 100644 --- a/modules/nixos/services/default.nix +++ b/modules/nixos/custom/default.nix @@ -2,5 +2,7 @@ imports = [ ./determinate.nix ./github-mirror + ./nvd-diff.nix + ./remote-builders.nix ]; } diff --git a/modules/nixos/services/determinate.nix b/modules/nixos/custom/determinate.nix index 6aa599e..3c1a97e 100644 --- a/modules/nixos/services/determinate.nix +++ b/modules/nixos/custom/determinate.nix @@ -6,7 +6,7 @@ }: let - cfg = config.services.determinate; + cfg = config.borealis.determinate; package = inputs'.determinate.packages.default; in diff --git a/modules/nixos/services/github-mirror/default.nix b/modules/nixos/custom/github-mirror/default.nix index 9d0d870..76d8853 100644 --- a/modules/nixos/services/github-mirror/default.nix +++ b/modules/nixos/custom/github-mirror/default.nix @@ -4,8 +4,9 @@ pkgs, ... }: + let - cfg = config.services.github-mirror; + cfg = config.borealis.github-mirror; cgitInstance = config.services.cgit.${cfg.hostname}; update-mirror = @@ -25,8 +26,9 @@ let patchShebangs $out ''; in + { - options.services.github-mirror = { + options.borealis.github-mirror = { enable = lib.mkEnableOption "the github-mirror service"; hostname = lib.mkOption { @@ -46,7 +48,7 @@ in assertions = [ { assertion = cfg.mirroredUsers != [ ]; - message = "`services.git-mirror.mirroredUsers` must have at least one user"; + message = "`borealis.github-mirror.mirroredUsers` must have at least one user"; } ]; diff --git a/modules/nixos/services/github-mirror/update-mirror.sh b/modules/nixos/custom/github-mirror/update-mirror.sh index 88ff6eb..88ff6eb 100755 --- a/modules/nixos/services/github-mirror/update-mirror.sh +++ b/modules/nixos/custom/github-mirror/update-mirror.sh diff --git a/modules/nixos/traits/nvd-diff.nix b/modules/nixos/custom/nvd-diff.nix index 4c59287..0e88d10 100644 --- a/modules/nixos/traits/nvd-diff.nix +++ b/modules/nixos/custom/nvd-diff.nix @@ -4,19 +4,20 @@ pkgs, ... }: + let - cfg = config.traits.nvd-diff; + cfg = config.borealis.nvd-diff; in + { - options.traits.nvd-diff = { - enable = lib.mkEnableOption "showing configuration diffs with NVD on upgrade" // { - default = true; - }; + options.borealis.nvd-diff = { + enable = lib.mkEnableOption "`nvd` to show configuration diffs on upgrade"; }; config = lib.mkIf cfg.enable { system.activationScripts."upgrade-diff" = { supportsDryActivation = true; + text = '' ${lib.getExe pkgs.nvd} \ --nix-bin-dir=${config.nix.package}/bin \ diff --git a/modules/nixos/custom/remote-builders.nix b/modules/nixos/custom/remote-builders.nix new file mode 100644 index 0000000..74d0538 --- /dev/null +++ b/modules/nixos/custom/remote-builders.nix @@ -0,0 +1,96 @@ +{ + config, + lib, + secretsDir, + ... +}: + +let + cfg = config.borealis.remote-builders; +in + +{ + options.borealis.remote-builders = { + enable = lib.mkEnableOption "the use of remote builders"; + + manageSecrets = lib.mkEnableOption "automatic management of SSH keys for builders" // { + default = true; + }; + + builders = { + atlas = lib.mkEnableOption "`atlas` as a remote builder"; + macstadium = lib.mkEnableOption "`macstadium` as a remote builder"; + }; + }; + + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + nix = { + distributedBuilds = true; + + settings = { + builders-use-substitutes = true; + }; + }; + } + + (lib.mkIf cfg.builders.atlas { + nix.buildMachines = [ + { + hostName = "atlas"; + maxJobs = 4; + publicHostKey = "IyBhdGxhczoyMiBTU0gtMi4wLVRhaWxzY2FsZQphdGxhcyBzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJQzdZaVNZWXgvK3ptVk9QU0NFUkh6U3NNZVVRdEErVnQxVzBzTFV3NFloSwo="; + sshUser = "atlas"; + supportedFeatures = [ + "benchmark" + "big-parallel" + "gccarch-armv8-a" + "kvm" + "nixos-test" + ]; + systems = [ + "aarch64-linux" + ]; + } + ]; + }) + + (lib.mkIf cfg.builders.macstadium { + nix.buildMachines = [ + (lib.mkMerge [ + { + hostName = "mini.scrumplex.net"; + maxJobs = 8; + publicHostKey = "IyBtaW5pLnNjcnVtcGxleC5uZXQ6MjIgU1NILTIuMC1PcGVuU1NIXzkuOAptaW5pLnNjcnVtcGxleC5uZXQgc3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU9DV1lXL29TbW5GYU1sOGQ0eHNjaGhxNkNKZkdjQ1M4djhLYkErb0dmQ3IK"; + sshUser = "bob-the-builder"; + supportedFeatures = [ + "nixos-test" + "benchmark" + "big-parallel" + "apple-virt" + ]; + systems = [ + "aarch64-darwin" + "x86_64-darwin" + ]; + } + + (lib.mkIf cfg.manageSecrets { + sshKey = config.age.secrets.macstadium.path; + }) + ]) + ]; + }) + + (lib.mkIf (cfg.manageSecrets && cfg.builders.macstadium) { + age.secrets = { + macstadium = { + file = secretsDir + "/macstadium.age"; + mode = "600"; + }; + }; + }) + ] + ); +} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index b184337..1a4ea00 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -3,11 +3,10 @@ default = { imports = [ ../shared + ./custom ./defaults ./mixins ./profiles - ./services - ./traits ./users ]; }; diff --git a/modules/nixos/defaults/default.nix b/modules/nixos/defaults/default.nix index 5b542a9..1b11d0e 100644 --- a/modules/nixos/defaults/default.nix +++ b/modules/nixos/defaults/default.nix @@ -10,6 +10,10 @@ ./users.nix ]; + borealis = { + nvd-diff.enable = true; + }; + documentation.nixos.enable = lib.mkDefault false; i18n = { diff --git a/modules/nixos/traits/arm-builder.nix b/modules/nixos/traits/arm-builder.nix deleted file mode 100644 index 3f655b8..0000000 --- a/modules/nixos/traits/arm-builder.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - config, - lib, - ... -}: -let - cfg = config.traits.arm-builder; -in -{ - options.traits.arm-builder = { - enable = lib.mkEnableOption "ARM remote builders"; - }; - - config = lib.mkIf cfg.enable { - nix = { - buildMachines = [ - { - hostName = "atlas"; - maxJobs = 4; - publicHostKey = "IyBhdGxhczoyMiBTU0gtMi4wLVRhaWxzY2FsZQphdGxhcyBzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJQzdZaVNZWXgvK3ptVk9QU0NFUkh6U3NNZVVRdEErVnQxVzBzTFV3NFloSwo="; - sshUser = "atlas"; - supportedFeatures = [ - "benchmark" - "big-parallel" - "gccarch-armv8-a" - "kvm" - "nixos-test" - ]; - systems = [ - "aarch64-linux" - ]; - } - ]; - - distributedBuilds = true; - - settings = { - builders-use-substitutes = true; - }; - }; - }; -} diff --git a/modules/nixos/traits/default.nix b/modules/nixos/traits/default.nix deleted file mode 100644 index d4b00dc..0000000 --- a/modules/nixos/traits/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./arm-builder.nix - ./mac-builder.nix - ./nvd-diff.nix - ]; -} diff --git a/modules/nixos/traits/mac-builder.nix b/modules/nixos/traits/mac-builder.nix deleted file mode 100644 index cfafaf3..0000000 --- a/modules/nixos/traits/mac-builder.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - config, - lib, - secretsDir, - ... -}: -let - cfg = config.traits.mac-builder; -in -{ - options.traits.mac-builder = { - enable = lib.mkEnableOption "macOS remote builders"; - manageSecrets = lib.mkEnableOption "managing SSH keys for builders" // { - default = true; - }; - }; - - config = lib.mkIf cfg.enable ( - lib.mkMerge [ - { - nix = { - buildMachines = [ - (lib.mkMerge [ - { - hostName = "mini.scrumplex.net"; - maxJobs = 8; - publicHostKey = "IyBtaW5pLnNjcnVtcGxleC5uZXQ6MjIgU1NILTIuMC1PcGVuU1NIXzkuOAptaW5pLnNjcnVtcGxleC5uZXQgc3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU9DV1lXL29TbW5GYU1sOGQ0eHNjaGhxNkNKZkdjQ1M4djhLYkErb0dmQ3IK"; - sshUser = "bob-the-builder"; - supportedFeatures = [ - "nixos-test" - "benchmark" - "big-parallel" - "apple-virt" - ]; - systems = [ - "aarch64-darwin" - "x86_64-darwin" - ]; - } - - (lib.mkIf cfg.manageSecrets { - sshKey = config.age.secrets.macstadium.path; - }) - ]) - ]; - - distributedBuilds = true; - - settings = { - builders-use-substitutes = true; - }; - }; - } - - (lib.mkIf cfg.manageSecrets { - age.secrets = { - macstadium = { - file = secretsDir + "/macstadium.age"; - mode = "600"; - }; - }; - }) - ] - ); -} diff --git a/modules/shared/services/default.nix b/modules/shared/custom/default.nix index 499a418..499a418 100644 --- a/modules/shared/services/default.nix +++ b/modules/shared/custom/default.nix diff --git a/modules/shared/services/determinate.nix b/modules/shared/custom/determinate.nix index 469306e..ee6822d 100644 --- a/modules/shared/services/determinate.nix +++ b/modules/shared/custom/determinate.nix @@ -7,13 +7,13 @@ }: let - cfg = config.services.determinate; + cfg = config.borealis.determinate; nixPackage = inputs.determinate.inputs.nix.packages.${pkgs.stdenv.hostPlatform.system}.default; in { - options.services.determinate = { + options.borealis.determinate = { enable = lib.mkEnableOption "Determinate with a bit less Determinate"; determinate-nix.enable = lib.mkEnableOption "Determinate Nix"; diff --git a/modules/shared/default.nix b/modules/shared/default.nix index 37bc85a..90a5103 100644 --- a/modules/shared/default.nix +++ b/modules/shared/default.nix @@ -1,8 +1,8 @@ { imports = [ + ./custom ./defaults ./mixins - ./services ./users ]; } diff --git a/systems/glados-wsl/default.nix b/systems/glados-wsl/default.nix index 8b5fd6e..2fd7477 100644 --- a/systems/glados-wsl/default.nix +++ b/systems/glados-wsl/default.nix @@ -6,6 +6,19 @@ inputs.self.nixosModules.default ]; + borealis = { + determinate.enable = true; + + remote-builders = { + enable = true; + + builders = { + atlas = true; + macstadium = true; + }; + }; + }; + profiles.personal.enable = true; environment.systemPackages = with pkgs; [ @@ -24,17 +37,11 @@ security.apparmor.enable = false; services = { - determinate.enable = true; resolved.enable = false; }; system.stateVersion = "23.11"; - traits = { - arm-builder.enable = true; - mac-builder.enable = true; - }; - wsl = { enable = true; defaultUser = "seth"; diff --git a/systems/glados/default.nix b/systems/glados/default.nix index 93d1def..9e54f08 100644 --- a/systems/glados/default.nix +++ b/systems/glados/default.nix @@ -12,6 +12,19 @@ inputs.self.nixosModules.default ]; + borealis = { + determinate.enable = true; + + remote-builders = { + enable = true; + + builders = { + atlas = true; + macstadium = true; + }; + }; + }; + profiles.personal.enable = true; boot = { @@ -55,7 +68,6 @@ }; services = { - determinate.enable = true; flatpak.enable = true; fstrim.enable = true; fwupd.enable = true; @@ -80,11 +92,6 @@ system.stateVersion = "23.11"; - traits = { - arm-builder.enable = true; - mac-builder.enable = true; - }; - virtualisation = { oci-containers.backend = "podman"; podman.enable = true; |
