{ config, lib, pkgs, modulesPath, ... }: { nixpkgs.overlays = [ (self: super: { system76-scheduler = pkgs.callPackage ./syspkgs/system76-scheduler.nix {}; kwin-system76-scheduler-integration = pkgs.libsForQt5.callPackage ./syspkgs/kwin-system76-scheduler-integration.nix {}; }) ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbcore" "sd_mod" ]; boot.initrd.kernelModules = []; boot.kernelModules = [ "kvm-amd" "i2c-dev" ]; boot.extraModulePackages = [ ]; boot.kernelParams = [ "mitigations=off" "acpi_enforce_resources=lax" "preempt=full" ]; boot.loader.efi.canTouchEfiVariables = true; boot.plymouth.enable = true; boot.supportedFilesystems = [ "ntfs" ]; security.tpm2.enable = true; networking.useDHCP = lib.mkDefault true; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; services.minidlna = { enable = true; settings = { notify_interval = 120; friendly_name = "PC"; media_dir = [ "A,/data/Music/Slsk" ]; }; }; services.xserver.videoDrivers = [ "nvidia" ]; hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta; hardware.nvidia.modesetting.enable = true; hardware.nvidia.powerManagement.enable = true; programs.xwayland.enable = true; systemd.services.no-rgb = { wantedBy = [ "multi-user.target" ]; description = "rgb led turn-off-er"; serviceConfig = { Type = "oneshot"; ExecStart = ''${pkgs.openrgb}/bin/openrgb -d "HyperX Fury RGB" -m static -c 000000''; }; }; systemd.services."com.system76.Scheduler" = { wantedBy = [ "multi-user.target" ]; description = "the system76 process scheduler"; serviceConfig = { Type = "dbus"; ExecStart = ''${pkgs.system76-scheduler}/bin/system76-scheduler daemon''; ExecReload = ''${pkgs.system76-scheduler}/bin/system76-scheduler daemon reload''; BusName = "com.system76.Scheduler"; }; }; services.dbus.packages = [ pkgs.kwin-system76-scheduler-integration pkgs.system76-scheduler ]; systemd.packages = [ pkgs.kwin-system76-scheduler-integration pkgs.system76-scheduler ]; environment.etc = { "system76-scheduler".source = "${pkgs.system76-scheduler}/etc/system76-scheduler"; }; services.hardware.openrgb = { enable = true; motherboard = "amd"; }; hardware.ckb-next.enable = true; environment.systemPackages = with pkgs; [ xdg-desktop-portal-kde ckb-next openrgb wl-clipboard wl-clipboard-x11 xclip system76-scheduler kwin-system76-scheduler-integration ]; networking.hostName = "quiver"; # Define your hostname. users.users.bolt = { isNormalUser = true; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. }; fileSystems."/" = { device = "/dev/disk/by-uuid/06f59431-d939-4b48-9d91-e23606dd3ce0"; fsType = "ext4"; }; fileSystems."/home" = { device = "/dev/disk/by-uuid/f063e0c7-8590-4ed4-860c-5ae0c9b66898"; fsType = "ext4"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/5008-1946"; fsType = "vfat"; }; fileSystems."/data" = { device = "/dev/disk/by-uuid/39D4F78C658E8B56"; fsType = "ntfs"; options = [ "rw" "uid=1001" "gid=100" ]; }; swapDevices = [ { device = "/home/swapfile"; size = 4096; } ]; networking.firewall = { allowedUDPPorts = [ 1900 ]; allowedTCPPorts = [ 8200 2234 ]; }; }