{...}: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; services.upower.enable = true; swapDevices = [{ device = "/var/lib/swapfile"; size = 16*1024; # 16 GB }]; services.tlp = { enable = true; settings = { CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; # intel_pstate runs in active mode, where the scaling governor barely # matters. EPP is the knob that actually moves power. CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance"; CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; # drives the EC's PL1/PL2 power limits PLATFORM_PROFILE_ON_AC = "balanced"; PLATFORM_PROFILE_ON_BAT = "low-power"; # no turbo on battery, and cap sustained clocks. costs real # performance (nix builds especially) to buy runtime. CPU_BOOST_ON_BAT = 0; CPU_HWP_DYN_BOOST_ON_BAT = 0; CPU_MAX_PERF_ON_BAT = 60; PCIE_ASPM_ON_BAT = "powersave"; RUNTIME_PM_ON_BAT = "auto"; WIFI_PWR_ON_BAT = "on"; SOUND_POWER_SAVE_ON_BAT = 1; USB_AUTOSUSPEND = 1; # battery longevity, not runtime. stops charging at 85%. START_CHARGE_THRESH_BAT0 = 75; STOP_CHARGE_THRESH_BAT0 = 85; }; }; hardware.bluetooth = { enable = true; powerOnBoot = true; }; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; hardware.graphics.enable = true; services.xserver.videoDrivers = [ "modesetting" ]; # eDP-1 reports vrr_capable. Only helps fullscreen apps flipping via Present. services.xserver.deviceSection = '' Option "VariableRefresh" "true" ''; environment.variables = { "MOZ_USE_XINPUT2" = "1"; }; services.xserver.displayManager.sessionCommands = '' xrandr --output eDP-1 --mode 2880x1920 --rate 120.00 ''; services.xserver.dpi = 168; networking.hostName = "magician"; services.libinput = { enable = true; touchpad = { tapping = false; clickMethod = "clickfinger"; # no right click corner naturalScrolling = true; }; }; # This option defines the first version of NixOS you have installed on this particular machine, # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. # # Most users should NEVER change this value after the initial install, for any reason, # even if you've upgraded your system to a new NixOS release. # # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how # to actually do that. # # This value being lower than the current NixOS release does NOT mean your system is # out of date, out of support, or vulnerable. # # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, # and migrated your data accordingly. # # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . system.stateVersion = "26.05"; # Did you read the comment? }