mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2026-04-14 21:29:12 +02:00
feat: add persistent ids to all users/groups
This commit is contained in:
parent
37a8e17cc9
commit
7f65f74fef
62 changed files with 533 additions and 173 deletions
|
|
@ -68,8 +68,8 @@
|
|||
|
||||
guests = lib.mkIf (!minimal && config.swarselsystems.withMicroVMs) (
|
||||
{ }
|
||||
// confLib.mkMicrovm "adguardhome"
|
||||
// confLib.mkMicrovm "nginx"
|
||||
// confLib.mkMicrovm "adguardhome" { }
|
||||
// confLib.mkMicrovm "nginx" { }
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
imports = [
|
||||
"${self}/profiles/nixos/microvm"
|
||||
"${self}/modules/nixos"
|
||||
"${self}/modules/nixos/optional/microvm-guest-shares.nix"
|
||||
];
|
||||
|
||||
swarselsystems = {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ in
|
|||
imports = [
|
||||
"${self}/profiles/nixos/microvm"
|
||||
"${self}/modules/nixos"
|
||||
"${self}/modules/nixos/optional/microvm-guest-shares.nix"
|
||||
];
|
||||
|
||||
swarselsystems = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ self, inputs, lib, minimal, ... }:
|
||||
{ self, config, inputs, lib, minimal, confLib, ... }:
|
||||
{
|
||||
|
||||
imports = [
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
writeGlobalNetworks = false;
|
||||
networkKernelModules = [ "igb" ];
|
||||
rootDisk = "/dev/disk/by-id/ata-TS120GMTS420S_J024880123";
|
||||
withMicroVMs = false;
|
||||
withMicroVMs = true;
|
||||
localVLANs = [ "services" "home" ]; # devices is only provided on interface for bmc
|
||||
initrdVLAN = "home";
|
||||
server = {
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
acme = false; # cert handled by proxy
|
||||
|
||||
nfs = true;
|
||||
kavita = true;
|
||||
# kavita = true;
|
||||
restic = true;
|
||||
jellyfin = true;
|
||||
navidrome = true;
|
||||
|
|
@ -109,29 +109,29 @@
|
|||
opkssh = true;
|
||||
};
|
||||
|
||||
# guests = lib.mkIf (!minimal && config.swarselsystems.withMicroVMs) (
|
||||
# { }
|
||||
# // confLib.mkMicrovm "kavita"
|
||||
# // confLib.mkMicrovm "jellyfin"
|
||||
# // confLib.mkMicrovm "audio"
|
||||
# // confLib.mkMicrovm "postgresql"
|
||||
# // confLib.mkMicrovm "matrix"
|
||||
# // confLib.mkMicrovm "nextcloud"
|
||||
# // confLib.mkMicrovm "immich"
|
||||
# // confLib.mkMicrovm "paperless"
|
||||
# // confLib.mkMicrovm "transmission"
|
||||
# // confLib.mkMicrovm "storage"
|
||||
# // confLib.mkMicrovm "monitoring"
|
||||
# // confLib.mkMicrovm "freshrss"
|
||||
# // confLib.mkMicrovm "kanidm"
|
||||
# // confLib.mkMicrovm "firefly"
|
||||
# // confLib.mkMicrovm "koillection"
|
||||
# // confLib.mkMicrovm "radicale"
|
||||
# // confLib.mkMicrovm "atuin"
|
||||
# // confLib.mkMicrovm "forgejo"
|
||||
# // confLib.mkMicrovm "ankisync"
|
||||
# // confLib.mkMicrovm "homebox"
|
||||
# );
|
||||
guests = lib.mkIf (!minimal && config.swarselsystems.withMicroVMs) (
|
||||
{ }
|
||||
// confLib.mkMicrovm "kavita" { withZfs = true; }
|
||||
// confLib.mkMicrovm "jellyfin" { withZfs = true; }
|
||||
// confLib.mkMicrovm "audio" { withZfs = true; }
|
||||
// confLib.mkMicrovm "postgresql" { withZfs = true; }
|
||||
// confLib.mkMicrovm "matrix" { withZfs = true; }
|
||||
// confLib.mkMicrovm "nextcloud" { withZfs = true; }
|
||||
// confLib.mkMicrovm "immich" { withZfs = true; }
|
||||
// confLib.mkMicrovm "paperless" { withZfs = true; }
|
||||
// confLib.mkMicrovm "transmission" { withZfs = true; }
|
||||
// confLib.mkMicrovm "storage" { withZfs = true; }
|
||||
// confLib.mkMicrovm "monitoring" { withZfs = true; }
|
||||
// confLib.mkMicrovm "freshrss" { withZfs = true; }
|
||||
// confLib.mkMicrovm "kanidm" { withZfs = true; }
|
||||
// confLib.mkMicrovm "firefly" { withZfs = true; }
|
||||
// confLib.mkMicrovm "koillection" { withZfs = true; }
|
||||
// confLib.mkMicrovm "radicale" { withZfs = true; }
|
||||
// confLib.mkMicrovm "atuin" { withZfs = true; }
|
||||
// confLib.mkMicrovm "forgejo" { withZfs = true; }
|
||||
// confLib.mkMicrovm "ankisync" { withZfs = true; }
|
||||
// confLib.mkMicrovm "homebox" { withZfs = true; }
|
||||
);
|
||||
|
||||
networking.nftables.firewall.zones.untrusted.interfaces = [ "lan" "bmc" ];
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 1;
|
||||
vcpu = 1;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
ankisync = true;
|
||||
# ankisync = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
atuin = true;
|
||||
# atuin = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
navidrome = true;
|
||||
spotifyd = true;
|
||||
mpd = true;
|
||||
# navidrome = true;
|
||||
# spotifyd = true;
|
||||
# mpd = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
firefly-iii = true;
|
||||
nginx = true;
|
||||
# firefly-iii = true;
|
||||
# nginx = true;
|
||||
# acme = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 1;
|
||||
vcpu = 1;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
forgejo = true;
|
||||
# forgejo = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
freshrss = true;
|
||||
nginx = true;
|
||||
# freshrss = true;
|
||||
# nginx = true;
|
||||
# acme = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 1;
|
||||
vcpu = 1;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
homebox = true;
|
||||
# homebox = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
immich = true;
|
||||
# immich = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 3;
|
||||
vcpu = 1;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
jellyfin = true;
|
||||
# jellyfin = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
kanidm = true;
|
||||
# kanidm = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
microvm = {
|
||||
mem = 1024 * 1;
|
||||
vcpu = 1;
|
||||
|
||||
};
|
||||
|
||||
swarselprofiles = {
|
||||
|
|
@ -36,7 +37,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
kavita = true;
|
||||
# kavita = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 1;
|
||||
vcpu = 1;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
koillection = true;
|
||||
# koillection = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
matrix = true;
|
||||
# matrix = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 3;
|
||||
vcpu = 2;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
grafana = true;
|
||||
# grafana = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
nextcloud = true;
|
||||
nginx = true;
|
||||
# nextcloud = true;
|
||||
# nginx = true;
|
||||
# acme = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
paperless = true;
|
||||
# paperless = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 1;
|
||||
vcpu = 1;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
postgresql = true;
|
||||
# postgresql = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 1;
|
||||
vcpu = 1;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
radicale = true;
|
||||
# radicale = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 4;
|
||||
vcpu = 2;
|
||||
};
|
||||
|
||||
|
|
@ -36,8 +36,8 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
nfs = true;
|
||||
syncthing = true;
|
||||
# nfs = true;
|
||||
# syncthing = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
} // lib.optionalAttrs (!minimal) {
|
||||
|
||||
microvm = {
|
||||
mem = 1024 * 2;
|
||||
mem = 1024 * 4;
|
||||
vcpu = 2;
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
swarselmodules.server = {
|
||||
transmission = true;
|
||||
# transmission = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, modulesPath, ... }:
|
||||
{ lib, config, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue