machines/nix/packages/update-fleet/default.nix
Kaare Hoff Skovgaard af583fcbd4
Some checks failed
/ check (push) Failing after 2m43s
/ systems (push) Successful in 4m6s
/ dev-shell (push) Successful in 44s
/ rust-packages (push) Successful in 50s
/ terraform-providers (push) Successful in 48s
Add fleet handling and ensure all instances are up to date
2025-08-01 22:21:21 +02:00

30 lines
640 B
Nix

{
inputs,
pkgs,
lib,
...
}:
let
fleet = lib.attrsets.foldlAttrs (
acc: name: nixos:
acc
++ (
if
nixos.config.khscodes.infrastructure.hetzner-instance.enable
|| nixos.config.khscodes.infrastructure.khs-openstack-instance.enable
then
[ ">&2 echo \"Updating ${name}\n\"\nupdate-instance ${lib.escapeShellArg name}" ]
else
[ ]
)
) [ ] inputs.self.nixosConfigurations;
in
pkgs.writeShellApplication {
name = "update-fleet";
runtimeInputs = [
pkgs.khscodes.update-instance
];
text = ''
${lib.strings.concatStringsSep "\n>&2 echo \"\"\n" fleet}
'';
}