nixos-config/krops.nix
Erwin Boskma 4cd0f83ce8
Some checks failed
/ check (push) Failing after 2m46s
Run nixfmt
2024-02-05 11:46:52 +01:00

34 lines
955 B
Nix

let
krops = builtins.fetchGit { url = "https://cgit.krebsco.de/krops/"; };
lib = import "${krops}/lib";
pkgs = import "${krops}/pkgs" { };
source = _name: lib.evalSource [ { machine-config.file = toString ./.; } ];
command = targetPath: ''
nix-shell -p git --run '
nix build '${targetPath}/machine-config#nixosConfigurations.$(hostname).config.system.build.toplevel' && \
nixos-rebuild switch --show-trace --build-host builder@loki --flake ${targetPath}/machine-config
'
'';
createHost =
name: target:
pkgs.krops.writeCommand "deploy-${name}" {
inherit command;
source = source name;
target = lib.mkTarget target;
};
in
{
# Deployments
# Run with:
# nix-build ./krops.nix -A loki && ./result
loki = createHost "loki" "root@loki";
drone = createHost "drone" "root@10.0.0.202";
proxy = createHost "proxy" "root@10.0.0.251";
gitea = createHost "gitea" "root@10.0.0.201";
}