feat(hosts): add deploy-rs nodes and checks

This commit is contained in:
tux
2026-08-12 05:34:16 +05:30
parent 9269257065
commit ec2e9e0721
3 changed files with 62 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
{ {
self,
inputs, inputs,
outputs, outputs,
config, config,
@@ -66,17 +67,61 @@ let
config.flake.modules.nixOnDroid.${hostName} config.flake.modules.nixOnDroid.${hostName}
]; ];
}; };
in
{ mkNixOSNode = hostname: {
flake.nixosConfigurations = builtins.mapAttrs mkHost { inherit hostname;
alpha = { }; profiles.system = {
arcturus = { }; user = "root";
canopus = { }; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.${hostname};
sirius = { }; };
vps = { };
}; };
flake.nixOnDroidConfigurations = builtins.mapAttrs mkDroidHost { activateNixOnDroid =
vega = { }; configuration:
inputs.deploy-rs.lib.aarch64-linux.activate.custom configuration.activationPackage "${configuration.activationPackage}/activate";
mkDroidNode = hostname: {
inherit hostname;
profiles.system = {
sshUser = "nix-on-droid";
user = "nix-on-droid";
magicRollback = true;
sshOpts = [
"-p"
"8033"
];
path = activateNixOnDroid self.nixOnDroidConfigurations.${hostname};
};
}; };
in
{
flake = {
nixosConfigurations = builtins.mapAttrs mkHost {
sirius = { };
canopus = { };
arcturus = { };
alpha = { };
vps = { };
};
nixOnDroidConfigurations = builtins.mapAttrs mkDroidHost {
vega = { };
};
deploy.nodes = {
sirius = mkNixOSNode "sirius";
canopus = mkNixOSNode "canopus";
arcturus = mkNixOSNode "arcturus";
alpha = mkNixOSNode "alpha";
vega = mkDroidNode "vega";
};
};
perSystem =
{ ... }:
{
checks = builtins.mapAttrs (
_: config: config.config.system.build.toplevel
) self.nixosConfigurations;
};
} }

View File

@@ -11,6 +11,8 @@
config = lib.mkMerge [ config = lib.mkMerge [
{ {
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
boot.loader = { boot.loader = {
timeout = 1; timeout = 1;
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;

View File

@@ -15,6 +15,11 @@
optimise.automatic = true; optimise.automatic = true;
settings = { settings = {
extra-platforms = [
"aarch64-linux"
"arm-linux"
];
experimental-features = [ experimental-features = [
"nix-command" "nix-command"
"flakes" "flakes"