Restructure krops deployments
This commit is contained in:
parent
c1008ad61e
commit
c63305cb6b
45
deploy.nix
Normal file
45
deploy.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
# Deploy with: nix build -f ./deploy.nix HOSTNAME && ./result
|
||||
let
|
||||
sources = import ./nix/sources.nix;
|
||||
|
||||
krops = sources.krops;
|
||||
lib = import "${krops}/lib";
|
||||
kropsPkgs = import "${krops}/pkgs" { };
|
||||
|
||||
kropsDeploy =
|
||||
{ hostname
|
||||
, target ? null
|
||||
, extraSources ? { }
|
||||
}:
|
||||
let
|
||||
source = lib.evalSource [
|
||||
({
|
||||
nixpkgs.git = {
|
||||
ref = sources.nixpkgs.rev;
|
||||
url = https://github.com/NixOS/nixpkgs;
|
||||
shallow = true;
|
||||
};
|
||||
config.file = toString ./.;
|
||||
nixos-config.symlink = "config/machines/${hostname}/configuration.nix";
|
||||
secrets.pass = {
|
||||
dir = toString ~/.password-store;
|
||||
name = "nixos/machines/${hostname}";
|
||||
};
|
||||
} // extraSources)
|
||||
];
|
||||
in
|
||||
kropsPkgs.krops.writeDeploy "deploy-${hostname}" {
|
||||
source = source;
|
||||
target = lib.mkTarget (if target == null then "root@${hostname}" else target) // {
|
||||
extraOptions = [
|
||||
# force allocation of tty to allow aborting with ^C and to show build progress
|
||||
"-t"
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
builtins.mapAttrs (hostname: configuration: kropsDeploy { inherit hostname; } // configuration)
|
||||
{
|
||||
nunotaba = { };
|
||||
sayuri = { };
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
{ hostname
|
||||
, target ? null
|
||||
, extraSources ? { }
|
||||
}:
|
||||
let
|
||||
sources = import ../nix/sources.nix;
|
||||
krops = sources.krops;
|
||||
lib = import "${krops}/lib";
|
||||
pkgs = import "${krops}/pkgs" { };
|
||||
|
||||
source = lib.evalSource [
|
||||
({
|
||||
nixpkgs.git = {
|
||||
ref = sources.nixpkgs.rev;
|
||||
url = https://github.com/NixOS/nixpkgs;
|
||||
shallow = true;
|
||||
};
|
||||
config.file = toString ../.;
|
||||
nixos-config.symlink = "config/machines/${hostname}/configuration.nix";
|
||||
secrets.pass = {
|
||||
dir = toString ~/.password-store;
|
||||
name = "nixos/machines/${hostname}";
|
||||
};
|
||||
} // extraSources)
|
||||
];
|
||||
in
|
||||
pkgs.krops.writeDeploy "deploy-${hostname}" {
|
||||
source = source;
|
||||
target = lib.mkTarget (if target == null then "root@${hostname}" else target) // {
|
||||
extraOptions = [
|
||||
# force allocation of tty to allow aborting with ^C and to show build progress
|
||||
"-t"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
import ../../lib/krops.nix rec {
|
||||
hostname = "nunotaba";
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
import ../../lib/krops.nix {
|
||||
hostname = "sayuri";
|
||||
}
|
Loading…
Reference in a new issue