nixos-config/machines/odin/configuration.nix

124 lines
2.2 KiB
Nix
Raw Normal View History

2024-02-05 11:46:52 +01:00
{
nixos-hardware,
disko,
nix-ld-rs,
...
}:
{ pkgs, config, ... }:
2023-01-17 13:45:37 +01:00
{
imports = [
nixos-hardware.nixosModules.common-cpu-intel
nixos-hardware.nixosModules.common-pc-ssd
disko.nixosModules.disko
./storage.nix
./network.nix
./virtualisation.nix
./promtail
2023-01-17 14:09:13 +01:00
../../users/erwin
../../users/root
2023-01-17 13:45:37 +01:00
];
eboskma = {
users.erwin = {
enable = true;
server = true;
2023-01-17 13:45:37 +01:00
};
base = {
plymouth.enable = true;
};
nix-common = {
enable = true;
remote-builders = true;
};
# libvirtd.enable = true;
2023-01-17 13:45:37 +01:00
systemd.enable = true;
tailscale.enable = true;
};
security = {
sudo-rs = {
enable = true;
};
sudo.enable = false;
2023-01-17 13:45:37 +01:00
};
boot = {
loader = {
systemd-boot = {
enable = true;
configurationLimit = 10;
};
efi.canTouchEfiVariables = true;
};
initrd = {
2024-02-05 11:46:52 +01:00
availableKernelModules = [
"xhci_pci"
"thunderbolt"
"nvme"
"ahci"
"usb_storage"
"usbhid"
"sd_mod"
"virtio_blk"
"virtio_pci"
];
kernelModules = [ "kvm-intel" ];
2023-01-17 13:45:37 +01:00
};
kernelPackages = pkgs.linuxPackages_latest;
2024-02-05 11:46:52 +01:00
kernelModules = [
"kvm-intel"
"dm-thin-pool"
"dm-snapshot"
];
# From PVE: ro quiet intel_iommu=on i915.enable_gvt=1 cpufreq.default_governor=ondemand
# kernelParams = [ "intel_iommu=on" "i915.enable_gvt=1" "cpufreq.default_governor=ondemand" ];
extraModulePackages = with config.boot.kernelPackages; [
(gasket.overrideAttrs (prevAttrs: {
patches = (prevAttrs.patches or [ ]) ++ [ ./0001-fix-gasket.patch ];
}))
];
kernel.sysctl = {
"net.core.rmem_max" = 2500000;
"net.core.wmem_max" = 2500000;
};
2023-01-17 13:45:37 +01:00
};
hardware.enableAllFirmware = true;
programs = {
nix-ld = {
enable = true;
package = nix-ld-rs.packages.${pkgs.hostPlatform.system}.nix-ld-rs;
2023-04-07 10:10:53 +02:00
};
};
services = {
openssh.enable = true;
lvm = {
enable = true;
};
prometheus.exporters = {
node = {
enable = true;
enabledCollectors = [ "systemd" ];
};
};
2024-06-11 15:26:14 +02:00
iperf3 = {
enable = true;
openFirewall = true;
};
2023-01-17 13:45:37 +01:00
};
system.stateVersion = "24.05";
2023-01-17 13:45:37 +01:00
}