Make Isaiah a Proxmox node

This commit is contained in:
Greg Hellings
2024-11-25 13:56:52 -06:00
parent ed53532eed
commit 8730a7f963
5 changed files with 301 additions and 137 deletions
+2 -1
View File
@@ -1,4 +1,4 @@
{ top, overlays, ... }:
{ top, ... }@all:
let
vm = args: (unstable (args // { extraMods = [ top.nixos-generators.nixosModules.all-formats ]; }));
wsl = args: (unstable (args // { extraMods = [ top.wsl.nixosModules.wsl ]; }));
@@ -23,6 +23,7 @@ let
}:
let
nixpkgs = import channel { inherit system; };
overlays = all.overlays ++ [ top.proxmox.overlays.${system} ];
in
channel.lib.nixosSystem {
inherit system;
+65 -39
View File
@@ -1,8 +1,39 @@
{ lib, ... }:
{
lib,
pkgs,
top,
...
}:
{
imports = [
./hardware-configuration.nix
./git.nix
top.proxmox.nixosModules.proxmox-ve
];
boot = {
binfmt.emulatedSystems = [ "aarch64-linux" ];
extraModprobeConfig = "options kvm_amd nested=1";
kernel.sysctl = {
"net.bridge.bridge-nf-call-ip6tables" = 0;
"net.bridge.bridge-nf-call-iptables" = 0;
"net.bridge.bridge-nf-call-arptables" = 0;
};
loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
systemd-boot = {
enable = true;
configurationLimit = 10;
};
};
supportedFilesystems = [ "ntfs" ];
};
environment.systemPackages = with pkgs; [
zstd
];
greg = {
@@ -10,22 +41,14 @@
remote-builder.enable = true;
};
virtualisation.libvirtd = {
enable = true;
allowedBridges = [
"br0"
"virbr0"
];
onBoot = "ignore"; # only restart VMs labeled 'autostart'
qemu.ovmf.enable = true;
};
services = {
openssh = {
enable = true;
settings.PermitRootLogin = "yes";
fileSystems = {
"/media/proxmox" = {
device = "10.42.1.4:/volume1/proxmox";
fsType = "nfs";
options = [ "noatime" ];
};
};
networking = {
hostName = "isaiah";
useDHCP = false;
@@ -49,6 +72,24 @@
nameservers = [ "10.42.1.5" ];
firewall.checkReversePath = lib.mkForce false;
};
nixpkgs = {
config = {
allowUnfree = true;
permittedInsecurePackages = [ "nodejs-16.20.2" ];
};
};
services = {
openssh = {
enable = true;
settings.PermitRootLogin = "yes";
};
proxmox-ve.enable = true;
};
system.stateVersion = lib.mkForce "24.05";
users = {
users = {
greg = {
@@ -62,29 +103,14 @@
};
};
};
system.stateVersion = lib.mkForce "24.05";
boot = {
binfmt.emulatedSystems = [ "aarch64-linux" ];
extraModprobeConfig = "options kvm_amd nested=1";
kernel.sysctl = {
"net.bridge.bridge-nf-call-ip6tables" = 0;
"net.bridge.bridge-nf-call-iptables" = 0;
"net.bridge.bridge-nf-call-arptables" = 0;
};
loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
systemd-boot = {
enable = true;
configurationLimit = 10;
};
};
supportedFilesystems = [ "ntfs" ];
};
nixpkgs.config = {
allowUnfree = true;
permittedInsecurePackages = [ "nodejs-16.20.2" ];
virtualisation.libvirtd = {
enable = true;
allowedBridges = [
"br0"
"virbr0"
];
onBoot = "ignore"; # only restart VMs labeled 'autostart'
qemu.ovmf.enable = true;
};
}