{ 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" ]; 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 = [ "enp6s0" ]; }; }; networking.interfaces.br0.useDHCP = lib.mkDefault true; networking.interfaces.wlan0.useDHCP = lib.mkDefault true; boot.kernel.sysctl."net.ipv6.conf.enp6s0.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" ]; 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"; services.greetd.enable = lib.mkForce false; }; }; }