2026-07-13 18:18:54 -05:00
|
|
|
{
|
2026-07-28 22:42:21 -05:00
|
|
|
config,
|
|
|
|
|
metadata,
|
|
|
|
|
modulesPath,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
{
|
|
|
|
|
# Then build nixosConfiguration.<host>.config.system.build.images.proxmox
|
|
|
|
|
# SCP that to /var/lib/vz/dumps on the Proxmox host
|
|
|
|
|
imports = [ "${modulesPath}/virtualisation/proxmox-image.nix" ];
|
|
|
|
|
greg = {
|
|
|
|
|
home = true;
|
|
|
|
|
nebula.enable = true;
|
2026-07-13 18:18:54 -05:00
|
|
|
};
|
2026-07-28 22:42:21 -05:00
|
|
|
networking = {
|
|
|
|
|
defaultGateway = metadata.infra.gw;
|
|
|
|
|
nameservers = [ metadata.infra.dns ];
|
|
|
|
|
interfaces.ens18 = {
|
|
|
|
|
useDHCP = false;
|
|
|
|
|
ipv4.addresses = [
|
|
|
|
|
{
|
|
|
|
|
address = metadata.hosts."${config.networking.hostName}".ip;
|
|
|
|
|
prefixLength = 16;
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
virtualisation.diskSize = 20480; # Size in mebbibytes for the base disk image
|
|
|
|
|
# Use these instead of the above to run an LXC image
|
|
|
|
|
# The main reason I wouldn't use these is because Proxmox LXC does
|
|
|
|
|
# not seem to be well supported by either Nebula VPN or Tailscale,
|
|
|
|
|
# both of which I use for my mesh networking. If there isn't a need
|
|
|
|
|
# for the service to run on those networks, then by all means go ahead
|
|
|
|
|
# and use LXC!
|
|
|
|
|
# imports = [ (modulesPath + "/virtualisation/proxmox-lxc.nix") ];
|
|
|
|
|
# proxmoxLXC = {
|
|
|
|
|
# manageNetwork = false;
|
|
|
|
|
# privileged = true;
|
|
|
|
|
# };
|
|
|
|
|
# systemd.suppressedSystemUnits = [
|
|
|
|
|
# "dev-mqueue.mount"
|
|
|
|
|
# "sys-kernel-debug.mount"
|
|
|
|
|
# "sys-fs-fuse-connections.mount"
|
|
|
|
|
# ];
|
|
|
|
|
nix.settings = {
|
|
|
|
|
sandbox = false;
|
|
|
|
|
};
|
|
|
|
|
services = {
|
|
|
|
|
fstrim.enable = false; # Let Proxmox host handle fstrim
|
|
|
|
|
openssh = {
|
|
|
|
|
enable = true;
|
|
|
|
|
openFirewall = true;
|
|
|
|
|
settings = {
|
2026-07-13 18:18:54 -05:00
|
|
|
PermitRootLogin = "yes";
|
|
|
|
|
PasswordAuthentication = true;
|
|
|
|
|
PermitEmptyPasswords = "yes";
|
2026-07-28 22:42:21 -05:00
|
|
|
};
|
2026-07-13 18:18:54 -05:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|