Add skip01 NixOS configuration for Intel NUC server
- Created systems/skip01.nix with 13th gen Intel i5 NUC optimizations - Configured for headless server operation with SSH access - Enabled Docker and Podman for container services - Added Intel graphics support and thermal management - Network performance tuning for server workloads - Added skip01 to flake.nix nixosConfigurations
This commit is contained in:
parent
7a057122db
commit
1e70121b00
2 changed files with 94 additions and 0 deletions
10
flake.nix
10
flake.nix
|
|
@ -64,6 +64,16 @@
|
||||||
./desktop/office.nix
|
./desktop/office.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
skip01 = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
./systems/common.nix
|
||||||
|
./systems/skip01.nix
|
||||||
|
./users/jsutter.nix
|
||||||
|
./servers/common.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
84
systems/skip01.nix
Normal file
84
systems/skip01.nix
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
|
networking.hostName = "skip01";
|
||||||
|
|
||||||
|
# CPU Settings for 13th gen Intel Core i5
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|
||||||
|
# Boot and kernel modules for Intel NUC
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ "i915" ]; # Intel integrated graphics
|
||||||
|
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
||||||
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
# Intel-specific kernel parameters
|
||||||
|
boot.kernelParams = [
|
||||||
|
"i915.enable_guc=2" # Enable GuC and HuC for better power management
|
||||||
|
"intel_iommu=on" # Enable IOMMU for virtualization
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
|
||||||
|
# Intel graphics support
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
intel-media-driver # VAAPI driver for newer Intel GPUs
|
||||||
|
vaapiIntel # VAAPI driver for older Intel GPUs
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Power management optimized for server use
|
||||||
|
powerManagement = {
|
||||||
|
enable = true;
|
||||||
|
cpuFreqGovernor = "ondemand";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Thermal management
|
||||||
|
services.thermald.enable = true;
|
||||||
|
|
||||||
|
# Server-oriented settings
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
PasswordAuthentication = false;
|
||||||
|
KbdInteractiveAuthentication = false;
|
||||||
|
PermitRootLogin = "no";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Swap configuration (smaller for server use)
|
||||||
|
swapDevices = [
|
||||||
|
{
|
||||||
|
device = "/swapfile";
|
||||||
|
size = 8192; # 8GB swap for server workload
|
||||||
|
priority = 0;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable hardware monitoring
|
||||||
|
hardware.sensor.iio.enable = true;
|
||||||
|
|
||||||
|
# Network performance tuning for server use
|
||||||
|
boot.kernel.sysctl = {
|
||||||
|
"net.core.rmem_max" = 134217728;
|
||||||
|
"net.core.wmem_max" = 134217728;
|
||||||
|
"net.ipv4.tcp_rmem" = "4096 65536 134217728";
|
||||||
|
"net.ipv4.tcp_wmem" = "4096 65536 134217728";
|
||||||
|
"net.core.netdev_max_backlog" = 5000;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Disable unnecessary services for server use
|
||||||
|
services.xserver.enable = lib.mkForce false;
|
||||||
|
services.pipewire.enable = lib.mkForce false;
|
||||||
|
services.pulseaudio.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
# Enable container support for future server services
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
virtualisation.podman.enable = true;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue