{ lib, inputs, config, pkgs, ... }: let serverIP = "192.168.1.2"; in { imports = [ (import ../Common/default.nix { inherit inputs pkgs; }) # (import ../Common/nvidia.nix { inherit inputs pkgs config; }) (import ../Common/desktop.nix { inherit inputs pkgs config; }) (import ../Common/nfs.nix { inherit pkgs serverIP; }) (import ../Common/android.nix { inherit pkgs; }) ]; # Kernel boot.kernelPackages = pkgs.linuxPackages_latest; # AMD CPU boot.extraModulePackages = [ config.boot.kernelPackages.zenpower ]; boot.kernelModules = [ "zenpower amd_pstate=active" ]; boot.kernelParams = ["amd_pstate=active"]; boot.initrd.kernelModules = [ "amdgpu" ]; # hardware.graphics.extraPackages = with pkgs; [ # rocmPackages.clr.icd # ]; # systemd.tmpfiles.rules = [ # "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" # ]; # environment.systemPackages = with pkgs; [ # clinfo # rocmPackages.rpp # rocmPackages.clr # rocmPackages.hipcc # rocmPackages.rocm-smi # ]; # nixpkgs.config.rocmSupport = true; # services.ollama = { # enable = true; # }; # nixpkgs.config.cudaSupport = true; services.logind.extraConfig = ''HandlePowerKey=suspend''; # Virtualization virtualisation.libvirtd.enable = true; virtualisation.spiceUSBRedirection.enable = true; programs.virt-manager.enable = true; users.users.user.extraGroups = [ "libvirtd" ]; networking.wg-quick.interfaces = { wg0 = { address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ]; dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ]; privateKeyFile = "/home/user/.secrets/Wireguard/Kell.key"; listenPort = 51820; peers = [{ publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c="; allowedIPs = [ "10.0.0.1/8" ]; endpoint = "192.168.1.1:13231"; }]; }; }; networking.bridges = { "br0" = { interfaces = [ "enp5s0" ]; }; }; networking.interfaces.br0.useDHCP = lib.mkDefault true; # networking.interfaces.wlan0.useDHCP = lib.mkDefault true; boot.kernel.sysctl."net.ipv6.conf.enp5s0.disable_ipv6" = true; # networking.wireless.iwd.enable = true; # networking.wireless.iwd.settings = { # IPv6 = { # Enabled = true; # }; # Settings = { # AutoConnect = true; # }; # }; # Programs & Services programs.gnupg.agent.enable = true; services.sunshine = { enable = true; autoStart = false; capSysAdmin = true; openFirewall = true; }; programs.steam = { enable = true; gamescopeSession.enable = true; }; specialisation = { vfio.configuration = { boot.blacklistedKernelModules = [ "k10temp" "nvidia" "nouveau" "radeon" "amdgpu"]; boot = { initrd.kernelModules = [ "kvm-amd" "vfio_pci" "vfio" "vfio_iommu_type1" # "amdgpu" # "nvidia_modeset" # "nvidia" # "nvidia_uvm" # "nvidia_drm" ]; kernelParams = [ "amd_pstate=active" "amd_iommu=on" "vfio-pci.ids=10de:1b80,10de:10f0,1002:67df,1002:aaf0,1002:687f,1002:aaf8" ]; postBootCommands = '' DEVS="0000:0b:00.0 0000:0b:00.1 0000:05:00.0 0000:05:00.1 for DEV in $DEVS; do echo "vfio-pci" > /sys/bus/pci/devices/$DEV/driver_override done modprobe -i vfio-pci ''; }; boot.extraModprobeConfig = "options vfio-pci ids=10de:1b80,10de:10f0,1002:67df,1002:aaf0,1002:687f,1002:aaf8"; services.greetd.enable = lib.mkForce false; }; vfio-nvidia.configuration = { boot.blacklistedKernelModules = [ "k10temp" "nvidia" "nouveau" ]; boot = { initrd.kernelModules = [ "kvm-amd" "vfio_pci" "vfio" "vfio_iommu_type1" "amdgpu" ]; kernelParams = [ "amd_pstate=active" "amd_iommu=on" "vfio-pci.ids=10de:1b80,10de:10f0" ]; postBootCommands = '' DEVS="0000:0b:00.0 0000:0b:00.1 for DEV in $DEVS; do echo "vfio-pci" > /sys/bus/pci/devices/$DEV/driver_override done modprobe -i vfio-pci ''; }; boot.extraModprobeConfig = "options vfio-pci ids=10de:1b80,10de:10f0"; }; }; }