nix-config/krops.nix

27 lines
868 B
Nix

let
krops = builtins.fetchGit { url = "https://cgit.krebsco.de/krops/"; };
lib = import "${krops}/lib";
pkgs = import "${krops}/pkgs" { };
hostSource = path: nixos-branch:
lib.evalSource [{
nixpkgs.git = {
ref = "origin/${nixos-branch}";
url = "https://github.com/NixOS/nixpkgs.git";
};
nixos-config.file = toString (./hosts + "/${path}/configuration.nix");
this-host.file = toString (./hosts + "/${path}");
lib.file = toString ./lib;
secrets.file = toString ./secrets;
"host-registry.nix".file = toString ./host-registry.nix;
}];
deployContainer = containerName: host:
pkgs.krops.writeDeploy containerName {
source = hostSource "containers/${containerName}" "nixos-20.09";
target = "root@${host}";
};
in {
ledstripes = deployContainer "ledstripes" "172.22.99.168";
}