{ config, pkgs, lib, ... }: { environment.systemPackages = with pkgs; [ ddcutil mangohud openrgb p7zip protontricks zenity wineWow64Packages.stable wineWow64Packages.waylandFull ]; # enable ddcutil users.users.${config.userOptions.username}.extraGroups = [ "i2c" ]; boot.extraModulePackages = [ config.boot.kernelPackages.ddcci-driver ]; boot.kernelModules = [ "i2c-dev" "ddcci_backlight" ]; services.udev.extraRules = '' KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660" ''; hardware.i2c.enable = true; # enable rgb support services.hardware.openrgb.enable = true; # boot.kernelPackages = pkgs.linuxPackages; # let's use the CachyOS kernel instead! boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-lts; hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; boot.loader.limine.maxGenerations = lib.mkForce 100; programs = { steam = { enable = true; gamescopeSession.enable = true; localNetworkGameTransfers.openFirewall = true; extraCompatPackages = with pkgs; [ proton-ge-bin ]; }; }; services.xserver.videoDrivers = [ "modesetting" "nvidia" ]; hardware.nvidia = { modesetting.enable = true; powerManagement.enable = false; nvidiaSettings = false; open = false; }; # virtualization settings virtualisation = { containers.enable = true; podman = { enable = true; dockerCompat = true; defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other. }; }; # enable hyper-v for guests virtualisation.hypervGuest.enable = true; boot.blacklistedKernelModules = [ "hyperv_fb" ]; # i don't even remember what this does or why i added it systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" "d /mnt/storage 0775 ${config.userOptions.username} users - -" ]; services.factorio = { enable = true; openFirewall = true; requireUserVerification = false; lan = true; port = 25565; # bind = "[::]"; # support IPv6 game-name = "kova's minecraft"; game-password = "ThisIsASuperSecurePasswordThatNobodyWillGuess"; admins = [ config.userOptions.username ]; }; }