improve mkSystem func

This commit is contained in:
Vivian 2021-11-17 00:55:01 +01:00
parent a5a7205980
commit 8daeef9e15

View file

@ -10,19 +10,19 @@
vault-secrets.url = "github:serokell/vault-secrets"; vault-secrets.url = "github:serokell/vault-secrets";
}; };
outputs = { self, nixpkgs, deploy-rs, vault-secrets, serokell-nix, ... }@inputs: outputs =
{ self, nixpkgs, deploy-rs, vault-secrets, serokell-nix, ... }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
mkLxcSystem = host: mkSystem = { host, lxc ? true }:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
inherit system; inherit system;
modules = [ modules = [ ./hosts/${host}/configuration.nix ] ++ (if lxc then
./hosts/${host}/configuration.nix [ "${nixpkgs}/nixos/modules/virtualisation/lxc-container.nix" ]
"${nixpkgs}/nixos/modules/virtualisation/lxc-container.nix" else
]; [ ]);
specialArgs = { inputs = inputs; }; specialArgs.inputs = inputs;
}; };
mkDeploy = hostname: profile: { mkDeploy = hostname: profile: {
hostname = hostname; hostname = hostname;
fastConnection = true; fastConnection = true;
@ -32,21 +32,15 @@
}; };
}; };
in { in {
nixosConfigurations.bastion = nixpkgs.lib.nixosSystem { # VMs
system = "x86_64-linux"; nixosConfigurations.bastion = mkSystem { host = "bastion"; lxc = false; };
modules = [ ./hosts/bastion/configuration.nix ]; nixosConfigurations.k3s = mkSystem { host = "k3s"; lxc = false; };
};
nixosConfigurations.k3s = nixpkgs.lib.nixosSystem { # LXCs
system = "x86_64-linux"; nixosConfigurations.vault = mkSystem { host = "vault"; };
modules = [ ./hosts/k3s/configuration.nix ]; nixosConfigurations.mosquitto = mkSystem { host = "mosquitto"; };
}; nixosConfigurations.nginx = mkSystem { host = "nginx"; };
nixosConfigurations.consul = mkSystem { host = "consul"; };
# LXC Containers
nixosConfigurations.vault = mkLxcSystem "vault";
nixosConfigurations.mosquitto = mkLxcSystem "mosquitto";
nixosConfigurations.nginx = mkLxcSystem "nginx";
nixosConfigurations.consul = mkLxcSystem "consul";
# Deploys # Deploys
deploy.nodes.bastion = mkDeploy "10.42.42.4" "bastion"; deploy.nodes.bastion = mkDeploy "10.42.42.4" "bastion";