diff --git a/.sops.yaml b/.sops.yaml index c761610..9351196 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -57,7 +57,7 @@ creation_rules: - *ryantm - *zimbatm - *zowoq - - path_regex: roles/hercules-ci/.+\.yaml$ + - path_regex: modules/nixos/hercules-ci/.+\.yaml$ key_groups: - age: - *build02 @@ -67,7 +67,7 @@ creation_rules: - *ryantm - *zimbatm - *zowoq - - path_regex: roles/.+\.yaml$ + - path_regex: modules/.+\.yaml$ key_groups: - age: - *build01 diff --git a/build01/configuration.nix b/build01/configuration.nix index 04f64fe..bb482ca 100644 --- a/build01/configuration.nix +++ b/build01/configuration.nix @@ -12,11 +12,11 @@ { imports = [ inputs.srvos.nixosModules.hardware-hetzner-online-amd - ../roles/common.nix - ../roles/raid.nix - ../roles/zfs.nix - ../roles/builder - ../roles/remote-builder/aarch64-nixos-community.nix + inputs.self.nixosModules.common + inputs.self.nixosModules.raid + inputs.self.nixosModules.zfs + inputs.self.nixosModules.builder + inputs.self.nixosModules.remote-builder-aarch64-nixos-community ]; # Emulate riscv64 until we have proper builders diff --git a/build02/configuration.nix b/build02/configuration.nix index a9a88c3..0800f01 100644 --- a/build02/configuration.nix +++ b/build02/configuration.nix @@ -6,11 +6,11 @@ inputs.srvos.nixosModules.hardware-hetzner-online-amd ./nixpkgs-update.nix ./nixpkgs-update-backup.nix - ../roles/common.nix - ../roles/hercules-ci - ../roles/raid.nix - ../roles/zfs.nix - ../roles/remote-builder/aarch64-build04.nix + inputs.self.nixosModules.common + inputs.self.nixosModules.hercules-ci + inputs.self.nixosModules.raid + inputs.self.nixosModules.zfs + inputs.self.nixosModules.remote-builder-aarch64-build04 ]; # /boot is a mirror raid diff --git a/build02/nixpkgs-update.nix b/build02/nixpkgs-update.nix index d6481e7..0703e98 100644 --- a/build02/nixpkgs-update.nix +++ b/build02/nixpkgs-update.nix @@ -179,7 +179,7 @@ in sops.secrets.nix-community-cachix = { path = "/home/r-ryantm/.config/cachix/cachix.dhall"; - sopsFile = "${toString inputs.self}/roles/nix-community-cache/secrets.yaml"; + sopsFile = "${toString inputs.self}/modules/nixos/nix-community-cache/secrets.yaml"; owner = "r-ryantm"; group = "r-ryantm"; }; diff --git a/build03/configuration.nix b/build03/configuration.nix index f4ea318..eec3476 100644 --- a/build03/configuration.nix +++ b/build03/configuration.nix @@ -12,14 +12,14 @@ imports = [ inputs.srvos.nixosModules.mixins-nginx inputs.srvos.nixosModules.hardware-hetzner-online-amd - ../roles/common.nix - ../roles/hercules-ci - ../roles/raid.nix - ../roles/zfs.nix - ../roles/remote-builder/aarch64-build04.nix + inputs.self.nixosModules.common + inputs.self.nixosModules.hercules-ci + inputs.self.nixosModules.raid + inputs.self.nixosModules.zfs + inputs.self.nixosModules.remote-builder-aarch64-build04 - ../services/hydra - ../services/nur-update + inputs.self.nixosModules.hydra + inputs.self.nixosModules.nur-update ]; # /boot is a mirror raid diff --git a/build04/configuration.nix b/build04/configuration.nix index 35e6663..3ebe563 100644 --- a/build04/configuration.nix +++ b/build04/configuration.nix @@ -3,15 +3,15 @@ imports = [ inputs.disko.nixosModules.disko ./hardware-configuration.nix - ../roles/common.nix - ../roles/hercules-ci - ../roles/remote-builder/user.nix + inputs.self.nixosModules.common + inputs.self.nixosModules.hercules-ci + inputs.self.nixosModules.remote-builder-user ]; nixpkgs.system = "aarch64-linux"; # disable kvm/nixos-tests - nix.settings.system-features = [ "big-parallel" ]; # sync with roles/remote-builder/aarch64-build04.nix + nix.settings.system-features = [ "big-parallel" ]; # sync with modules/nixos/remote-builder/aarch64-build04.nix boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.configurationLimit = 3; diff --git a/docs/community-builder.md b/docs/community-builder.md index 5fd03e3..d572921 100644 --- a/docs/community-builder.md +++ b/docs/community-builder.md @@ -4,7 +4,7 @@ We provide an `x86_64-linux` build machine as a public remote builder for the ni #### Access -If you want access read the security guide lines on [aarch64-build-box](https://github.com/nix-community/aarch64-build-box). Than add your username to [`roles/builder/users.nix`](https://github.com/nix-community/infra/blob/master/roles/builder/users.nix). Don't keep any important data in your home! We will regularly delete `/home` without further notice. +If you want access read the security guide lines on [aarch64-build-box](https://github.com/nix-community/aarch64-build-box). Than add your username to [`builder/users.nix`](https://github.com/nix-community/infra/blob/master/modules/nixos/builder/users.nix). Don't keep any important data in your home! We will regularly delete `/home` without further notice. #### Using your NixOS home-manager configuration on the hosts diff --git a/flake.nix b/flake.nix index 3f04985..83556f6 100644 --- a/flake.nix +++ b/flake.nix @@ -114,6 +114,21 @@ }; }; + flake.nixosModules = { + common = ./modules/nixos/common.nix; + + builder = ./modules/nixos/builder; + hercules-ci = ./modules/nixos/hercules-ci; + hydra = ./modules/nixos/hydra; + nur-update = ./modules/nixos/nur-update; + raid = ./modules/nixos/raid.nix; + remote-builder-aarch64-build04 = ./modules/nixos/remote-builder/aarch64-build04.nix; + remote-builder-aarch64-nixos-community = ./modules/nixos/remote-builder/aarch64-nixos-community.nix; + remote-builder-user = ./modules/nixos/remote-builder/user.nix; + watch-store = ./modules/nixos/watch-store.nix; + zfs = ./modules/nixos/zfs.nix; + }; + flake.lib.nixosSystem = args: inputs.nixpkgs.lib.nixosSystem ({ specialArgs = { inherit inputs; }; } // args); }; diff --git a/roles/auto-upgrade.nix b/modules/nixos/auto-upgrade.nix similarity index 100% rename from roles/auto-upgrade.nix rename to modules/nixos/auto-upgrade.nix diff --git a/roles/builder/default.nix b/modules/nixos/builder/default.nix similarity index 100% rename from roles/builder/default.nix rename to modules/nixos/builder/default.nix diff --git a/roles/builder/keys/0x4A6F b/modules/nixos/builder/keys/0x4A6F similarity index 100% rename from roles/builder/keys/0x4A6F rename to modules/nixos/builder/keys/0x4A6F diff --git a/roles/builder/keys/a-kenji b/modules/nixos/builder/keys/a-kenji similarity index 100% rename from roles/builder/keys/a-kenji rename to modules/nixos/builder/keys/a-kenji diff --git a/roles/builder/keys/ckie b/modules/nixos/builder/keys/ckie similarity index 100% rename from roles/builder/keys/ckie rename to modules/nixos/builder/keys/ckie diff --git a/roles/builder/keys/fgaz b/modules/nixos/builder/keys/fgaz similarity index 100% rename from roles/builder/keys/fgaz rename to modules/nixos/builder/keys/fgaz diff --git a/roles/builder/keys/flokli b/modules/nixos/builder/keys/flokli similarity index 100% rename from roles/builder/keys/flokli rename to modules/nixos/builder/keys/flokli diff --git a/roles/builder/keys/jtojnar b/modules/nixos/builder/keys/jtojnar similarity index 100% rename from roles/builder/keys/jtojnar rename to modules/nixos/builder/keys/jtojnar diff --git a/roles/builder/keys/lewo b/modules/nixos/builder/keys/lewo similarity index 100% rename from roles/builder/keys/lewo rename to modules/nixos/builder/keys/lewo diff --git a/roles/builder/keys/raitobezarius b/modules/nixos/builder/keys/raitobezarius similarity index 100% rename from roles/builder/keys/raitobezarius rename to modules/nixos/builder/keys/raitobezarius diff --git a/roles/builder/keys/schmittlauch b/modules/nixos/builder/keys/schmittlauch similarity index 100% rename from roles/builder/keys/schmittlauch rename to modules/nixos/builder/keys/schmittlauch diff --git a/roles/builder/keys/stephank b/modules/nixos/builder/keys/stephank similarity index 100% rename from roles/builder/keys/stephank rename to modules/nixos/builder/keys/stephank diff --git a/roles/builder/keys/winter b/modules/nixos/builder/keys/winter similarity index 100% rename from roles/builder/keys/winter rename to modules/nixos/builder/keys/winter diff --git a/roles/builder/packages.nix b/modules/nixos/builder/packages.nix similarity index 100% rename from roles/builder/packages.nix rename to modules/nixos/builder/packages.nix diff --git a/roles/builder/users.nix b/modules/nixos/builder/users.nix similarity index 100% rename from roles/builder/users.nix rename to modules/nixos/builder/users.nix diff --git a/roles/common.nix b/modules/nixos/common.nix similarity index 100% rename from roles/common.nix rename to modules/nixos/common.nix diff --git a/roles/disko.nix b/modules/nixos/disko.nix similarity index 100% rename from roles/disko.nix rename to modules/nixos/disko.nix diff --git a/roles/hercules-ci/default.nix b/modules/nixos/hercules-ci/default.nix similarity index 100% rename from roles/hercules-ci/default.nix rename to modules/nixos/hercules-ci/default.nix diff --git a/roles/hercules-ci/secrets.yaml b/modules/nixos/hercules-ci/secrets.yaml similarity index 100% rename from roles/hercules-ci/secrets.yaml rename to modules/nixos/hercules-ci/secrets.yaml diff --git a/services/hydra/default.nix b/modules/nixos/hydra/default.nix similarity index 98% rename from services/hydra/default.nix rename to modules/nixos/hydra/default.nix index 3eb0e24..06878ca 100644 --- a/services/hydra/default.nix +++ b/modules/nixos/hydra/default.nix @@ -45,7 +45,7 @@ in ]; nix.settings.post-build-hook = "${upload-to-cachix}/bin/upload-to-cachix"; - sops.secrets.nix-community-cachix.sopsFile = "${toString inputs.self}/roles/nix-community-cache/secrets.yaml"; + sops.secrets.nix-community-cachix.sopsFile = "${toString inputs.self}/modules/nixos/nix-community-cache/secrets.yaml"; sops.secrets.id_buildfarm = { }; # delete build logs older than 30 days diff --git a/roles/nix-community-cache/secrets.yaml b/modules/nixos/nix-community-cache/secrets.yaml similarity index 100% rename from roles/nix-community-cache/secrets.yaml rename to modules/nixos/nix-community-cache/secrets.yaml diff --git a/roles/nix-daemon.nix b/modules/nixos/nix-daemon.nix similarity index 100% rename from roles/nix-daemon.nix rename to modules/nixos/nix-daemon.nix diff --git a/services/nur-update/default.nix b/modules/nixos/nur-update/default.nix similarity index 100% rename from services/nur-update/default.nix rename to modules/nixos/nur-update/default.nix diff --git a/roles/raid.nix b/modules/nixos/raid.nix similarity index 100% rename from roles/raid.nix rename to modules/nixos/raid.nix diff --git a/roles/remote-builder/aarch64-build04.nix b/modules/nixos/remote-builder/aarch64-build04.nix similarity index 100% rename from roles/remote-builder/aarch64-build04.nix rename to modules/nixos/remote-builder/aarch64-build04.nix diff --git a/roles/remote-builder/aarch64-nixos-community.nix b/modules/nixos/remote-builder/aarch64-nixos-community.nix similarity index 100% rename from roles/remote-builder/aarch64-nixos-community.nix rename to modules/nixos/remote-builder/aarch64-nixos-community.nix diff --git a/roles/remote-builder/user.nix b/modules/nixos/remote-builder/user.nix similarity index 100% rename from roles/remote-builder/user.nix rename to modules/nixos/remote-builder/user.nix diff --git a/roles/security.nix b/modules/nixos/security.nix similarity index 100% rename from roles/security.nix rename to modules/nixos/security.nix diff --git a/roles/sops-nix.nix b/modules/nixos/sops-nix.nix similarity index 100% rename from roles/sops-nix.nix rename to modules/nixos/sops-nix.nix diff --git a/roles/users.nix b/modules/nixos/users.nix similarity index 100% rename from roles/users.nix rename to modules/nixos/users.nix diff --git a/roles/watch-store.nix b/modules/nixos/watch-store.nix similarity index 100% rename from roles/watch-store.nix rename to modules/nixos/watch-store.nix diff --git a/roles/zfs.nix b/modules/nixos/zfs.nix similarity index 100% rename from roles/zfs.nix rename to modules/nixos/zfs.nix