# Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, modulesPath, ... }: { imports = [(modulesPath + "/installer/scan/not-detected.nix")]; boot = { initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"]; # Enable early Nvidia kernel modesetting # https://wiki.archlinux.org/title/GDM#GDM_ignores_Wayland_and_uses_X.Org_by_default (not fixed by this) # https://wiki.archlinux.org/title/Kernel_mode_setting#Early_KMS_start initrd.kernelModules = ["nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm"]; # NVIDIA kernelModules = [ "kvm-amd" "sg" # Blu-Ray drive "zenpower" # Sensors for Zen CPUs: https://github.com/NixOS/nixos-hardware/blob/master/common/cpu/amd/zenpower.nix ]; blacklistedKernelModules = ["k10temp"]; # Disable in favor of zenpower # Enable AMD pstate # https://github.com/NixOS/nixos-hardware/blob/master/common/cpu/amd/pstate.nix kernelParams = ["amd_pstate=active"]; # extraModprobeConfig = '' # options iwlwifi 11n_disable=1 wd_disable=0 # ''; # Specific to used kernel (currently linux_zen) extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback zenpower ]; }; fileSystems = { "/" = { device = "/dev/disk/by-uuid/68bd46a0-e95c-4764-a006-44bd9975a6c2"; fsType = "ext4"; options = ["defaults" "rw" "relatime"]; }; "/boot/efi" = { device = "/dev/disk/by-uuid/36A9-3D74"; fsType = "vfat"; }; "/home/christoph/Games" = { device = "/dev/disk/by-uuid/e57c1831-09d7-4046-9c62-086d3596f825"; fsType = "ext4"; options = ["defaults" "rw" "relatime"]; }; # If the bg option is specified, a timeout or failure causes the mount(8) command # to fork a child which continues to attempt to mount the export. # The parent immediately returns with a zero exit code. # This is known as a "background" mount. # If the soft option is specified, then the NFS client fails an NFS request # after retrans retransmissions have been sent, causing the NFS client to return # an error to the calling application. # NB: A so-called "soft" timeout can cause silent data corruption in certain cases. # As such, use the soft option only when client responsiveness is more important than data integrity. # Using NFS over TCP or increasing the value of the retrans option may mitigate # some of the risks of using the soft option. "/home/christoph/Movies" = { device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Movie"; fsType = "nfs"; options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"]; }; "/home/christoph/Shows" = { device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Show"; fsType = "nfs"; options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"]; }; "/home/christoph/Music" = { device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Music"; fsType = "nfs"; options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"]; }; }; swapDevices = lib.mkForce [ { device = "/var/swap"; size = 1024 * 16; # Without hibernation 4.0 GB to 0.5 x RAM } ]; hardware = { # Use all redistributable firmware (i.e. nonfree) enableAllFirmware = true; enableRedistributableFirmware = true; cpu.amd.updateMicrocode = true; bluetooth.enable = true; nvidia-container-toolkit.enable = true; nvidia = { package = config.boot.kernelPackages.nvidiaPackages.stable; # package = config.boot.kernelPackages.nvidiaPackages.beta; modesetting.enable = true; # Not officially supported by NVidia but needed for wayland open = true; nvidiaSettings = false; # Those are for x-server }; # video.hidpi.enable = lib.mkDefault true; # No longer has any effect graphics = { enable = true; enable32Bit = true; # https://nixos.wiki/wiki/Accelerated_Video_Playback extraPackages = with pkgs; [ vaapiVdpau # Taken from wiki, this is also part of nixos-hardware/common/gpu/nvidia libvdpau-va-gl # Taken from wiki # https://discourse.nixos.org/t/nvidia-open-breaks-hardware-acceleration/58770/3 nvidia-vaapi-driver # Experimental, doesn't work with chromium ]; }; # sane.enable = true; # Scanning # xpadneo.enable = true; # Xbox Controller }; environment.variables = { GBM_BACKEND = "nvidia-drm"; __GLX_VENDOR_LIBRARY_NAME = "nvidia"; # https://github.com/elFarto/nvidia-vaapi-driver?tab=readme-ov-file#environment-variables LIBVA_DRIVER_NAME = "nvidia"; # https://wiki.hypr.land/Nvidia/#va-api-hardware-video-acceleration NVD_BACKEND = "direct"; # egl }; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; }