less microvm boilerplate
This commit is contained in:
parent
3eaa328ca7
commit
3ad3c5898f
3 changed files with 92 additions and 134 deletions
197
flake.nix
197
flake.nix
|
@ -60,116 +60,95 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations =
|
||||||
toaster = nixpkgs.lib.nixosSystem {
|
let
|
||||||
system = "x86_64-linux";
|
microvm-list = [
|
||||||
specialArgs = { inherit inputs; };
|
"auth"
|
||||||
modules = [
|
"immich"
|
||||||
sops-nix.nixosModules.sops
|
"miniflux"
|
||||||
lanzaboote.nixosModules.lanzaboote
|
"radicale"
|
||||||
nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen3
|
|
||||||
lix-module.nixosModules.default
|
|
||||||
|
|
||||||
./hosts/toaster
|
|
||||||
|
|
||||||
./modules/basic-tools
|
|
||||||
./modules/binary-caches.nix
|
|
||||||
./modules/devtools.nix
|
|
||||||
./modules/gnome.nix
|
|
||||||
./modules/gnupg.nix
|
|
||||||
./modules/radio.nix
|
|
||||||
./modules/science.nix
|
|
||||||
./modules/tlp.nix
|
|
||||||
./modules/virtualization.nix
|
|
||||||
./hosts/toaster/secure-boot.nix
|
|
||||||
./modules/chromium.nix
|
|
||||||
./modules/mail
|
|
||||||
./modules/wg
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
microvms = builtins.listToAttrs (
|
||||||
|
map (vm: {
|
||||||
|
name = vm;
|
||||||
|
value = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
microvm.nixosModules.microvm
|
||||||
|
|
||||||
|
./hosts/${vm}
|
||||||
|
./modules/server
|
||||||
|
./modules/wg
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}) microvm-list
|
||||||
|
);
|
||||||
|
in
|
||||||
|
microvms
|
||||||
|
// {
|
||||||
|
toaster = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
lanzaboote.nixosModules.lanzaboote
|
||||||
|
nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen3
|
||||||
|
lix-module.nixosModules.default
|
||||||
|
|
||||||
|
./hosts/toaster
|
||||||
|
|
||||||
|
./modules/basic-tools
|
||||||
|
./modules/binary-caches.nix
|
||||||
|
./modules/devtools.nix
|
||||||
|
./modules/gnome.nix
|
||||||
|
./modules/gnupg.nix
|
||||||
|
./modules/radio.nix
|
||||||
|
./modules/science.nix
|
||||||
|
./modules/tlp.nix
|
||||||
|
./modules/virtualization.nix
|
||||||
|
./hosts/toaster/secure-boot.nix
|
||||||
|
./modules/chromium.nix
|
||||||
|
./modules/mail
|
||||||
|
./modules/wg
|
||||||
|
];
|
||||||
|
};
|
||||||
|
cloud = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
lix-module.nixosModules.default
|
||||||
|
|
||||||
|
./hosts/cloud
|
||||||
|
|
||||||
|
./modules/basic-tools
|
||||||
|
./modules/server
|
||||||
|
./modules/binary-caches.nix
|
||||||
|
./modules/wg
|
||||||
|
];
|
||||||
|
};
|
||||||
|
minime = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
microvm.nixosModules.host
|
||||||
|
lix-module.nixosModules.default
|
||||||
|
|
||||||
|
./hosts/minime
|
||||||
|
./modules/basic-tools
|
||||||
|
./modules/server
|
||||||
|
./modules/binary-caches.nix
|
||||||
|
./modules/wg
|
||||||
|
|
||||||
|
{
|
||||||
|
config.microvm.autostart = microvm-list;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
cloud = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
lix-module.nixosModules.default
|
|
||||||
|
|
||||||
./hosts/cloud
|
|
||||||
|
|
||||||
./modules/basic-tools
|
|
||||||
./modules/server
|
|
||||||
./modules/binary-caches.nix
|
|
||||||
./modules/wg
|
|
||||||
];
|
|
||||||
};
|
|
||||||
minime = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
microvm.nixosModules.host
|
|
||||||
lix-module.nixosModules.default
|
|
||||||
|
|
||||||
./hosts/minime
|
|
||||||
./modules/basic-tools
|
|
||||||
./modules/server
|
|
||||||
./modules/binary-caches.nix
|
|
||||||
./modules/wg
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
auth = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
microvm.nixosModules.microvm
|
|
||||||
authentik-nix.nixosModules.default
|
|
||||||
|
|
||||||
./hosts/auth
|
|
||||||
./modules/server
|
|
||||||
./modules/wg
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
immich = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
microvm.nixosModules.microvm
|
|
||||||
|
|
||||||
./hosts/immich
|
|
||||||
./modules/server
|
|
||||||
./modules/wg
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
miniflux = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
microvm.nixosModules.microvm
|
|
||||||
|
|
||||||
./hosts/miniflux
|
|
||||||
./modules/server
|
|
||||||
./modules/wg
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
radicale = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
microvm.nixosModules.microvm
|
|
||||||
|
|
||||||
./hosts/radicale
|
|
||||||
./modules/server
|
|
||||||
./modules/wg
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ config, ... }:
|
{ config, inputs, ... }:
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.authentik-nix.nixosModules.default
|
||||||
|
];
|
||||||
sops.secrets."authentik/env" = { };
|
sops.secrets."authentik/env" = { };
|
||||||
services.authentik = {
|
services.authentik = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{ inputs, ... }:
|
|
||||||
{
|
|
||||||
microvm.stateDir = "/var/lib/microvms";
|
|
||||||
microvm.autostart = [
|
|
||||||
"auth"
|
|
||||||
"radicale"
|
|
||||||
"immich"
|
|
||||||
"miniflux"
|
|
||||||
];
|
|
||||||
microvm.vms = {
|
|
||||||
auth = {
|
|
||||||
flake = inputs.self;
|
|
||||||
updateFlake = "github:gshipunov/nix-config/master";
|
|
||||||
};
|
|
||||||
radicale = {
|
|
||||||
flake = inputs.self;
|
|
||||||
updateFlake = "github:gshipunov/nix-config/master";
|
|
||||||
};
|
|
||||||
immich = {
|
|
||||||
flake = inputs.self;
|
|
||||||
updateFlake = "github:gshipunov/nix-config/master";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue