blob: e11434a6310155ac16f34b5d90b3607ef87e1669 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
{...}:
{
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?
}
|