# 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 initrd.kernelModules = [ "amdgpu" ]; kernelModules = [ "kvm-intel" ]; # Specific to used kernel (currently linux_zen) extraModulePackages = with pkgs.linuxKernel.packages.linux_zen; [ new-lg4ff # Logitech force feedback ]; }; fileSystems."/" = { device = "/dev/disk/by-uuid/b87bbc3d-edd3-434a-b4a3-859bf62b8a17"; fsType = "ext4"; }; fileSystems."/boot/efi" = { device = "/dev/disk/by-uuid/36A9-3D74"; fsType = "vfat"; }; fileSystems."/home/christoph/GameSSD" = { device = "/dev/disk/by-uuid/fcea57ce-cd8a-44b0-a4bc-5ac11849dfb6"; fsType = "ext4"; }; fileSystems."/home/christoph/GameHDD" = { device = "/dev/disk/by-uuid/77ae7407-5faa-4d93-8b11-a64ff9a33954"; fsType = "ext4"; }; fileSystems."/home/christoph/Videos" = { device = "/dev/disk/by-uuid/4ac26c8e-f9fc-449e-9a80-491558539dbb"; fsType = "ext4"; }; swapDevices = lib.mkForce [ { device = "/var/swap"; # size = 1024 * 16 * 2; # twice the RAM for hibernation size = 1024 * 8; # Without hibernation 4.0 GB to 0.5 x RAM } ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; # networking.interfaces.enp4s0u2.useDHCP = lib.mkDefault true; # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; hardware = { # Use all redistributable firmware (i.e. nonfree) # enableAllFirmware = true; enableRedistributableFirmware = true; cpu.intel.updateMicrocode = true; # nvidia.modesetting.enable = true; # Not officially supported by NVidia but needed for wayland video.hidpi.enable = lib.mkDefault true; opengl.enable = true; # Vulkan opengl.driSupport = true; opengl.driSupport32Bit = true; # AMD: https://nixos.wiki/wiki/AMD_GPU opengl.extraPackages = with pkgs; [ # amdvlk # RADV (mesa) and AMDVLK (amd) can be used simultaneously # OpenCL rocm-opencl-icd rocm-opencl-runtime # rocm-runtime # Wiki doesn't mention this, but it exists... # VAAPI/VDPAU: https://nixos.wiki/wiki/Accelerated_Video_Playback vaapiVdpau # Taken from wiki libvdpau-va-gl # Taken from wiki # TODO: Figure this out (vainfo), it works this way but I still don't know if this is completely correct libvdpau # NOTE: Don't know if needed/where it belongs... libva # NOTE: Don't know if needed/where it belongs... ]; sane.enable = true; # Scanning xpadneo.enable = true; # Xbox Controller }; environment.variables.AMD_VULKAN_ICD = "RADV"; # Choose mesa driver by default powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; }