Compare commits
2 commits
6d4453b618
...
f2330d38b2
| Author | SHA1 | Date | |
|---|---|---|---|
| f2330d38b2 | |||
| 79368eafd5 |
6 changed files with 100 additions and 74 deletions
16
README.md
16
README.md
|
|
@ -7,13 +7,13 @@ rewrite of my nixos flake with hopefully better structuring and modularity
|
||||||
- (quater-progress) reintegrate file paths and arguments to work together
|
- (quater-progress) reintegrate file paths and arguments to work together
|
||||||
|
|
||||||
# todo: migrate files below
|
# todo: migrate files below
|
||||||
[X] flake stuff (flake.nix & flake.lock)
|
- [X] flake stuff (flake.nix & flake.lock)
|
||||||
|
|
||||||
[X] hardware configs (hardware/scans)
|
- [X] hardware configs (hardware/scans)
|
||||||
[X] nixos system
|
- [X] nixos system
|
||||||
[X] base nix configs
|
- [X] base nix configs
|
||||||
[X] apps list
|
- [X] apps list
|
||||||
[X] user config (not hm)
|
- [X] user config (not hm)
|
||||||
|
|
||||||
[ ] home manager config
|
- [ ] home manager config
|
||||||
[ ] rice config (everything in /rice)
|
- [ ] rice config (everything in /rice)
|
||||||
23
modules/hardware/battery-power.nix
Normal file
23
modules/hardware/battery-power.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
powerManagement.powertop.enable = true;
|
||||||
|
|
||||||
|
services = {
|
||||||
|
udev.extraRules = ''
|
||||||
|
#ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
|
||||||
|
ACTION=="add", SUBSYSTEM=="pci", TEST=="power/control", ATTR{power/control}="auto"
|
||||||
|
SUBSYSTEM=="power_supply", ACTION=="change", RUN+="${pkgs.writeShellScript "battery-thresholds" ''
|
||||||
|
echo 80 > /sys/class/power_supply/BAT1/charge_control_start_threshold || true
|
||||||
|
echo 85 > /sys/class/power_supply/BAT1/charge_control_end_threshold || true
|
||||||
|
''}"
|
||||||
|
'';
|
||||||
|
upower = {
|
||||||
|
enable = true;
|
||||||
|
percentageCritical = 15;
|
||||||
|
percentageAction = 10;
|
||||||
|
usePercentageForPolicy = true;
|
||||||
|
allowRiskyCriticalPowerAction = true;
|
||||||
|
criticalPowerAction = "HybridSleep";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
37
modules/hardware/cpu-thermal.nix
Normal file
37
modules/hardware/cpu-thermal.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
thermald.enable = true;
|
||||||
|
throttled.enable = true;
|
||||||
|
auto-cpufreq = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
charger = {
|
||||||
|
governor = "performance";
|
||||||
|
energy_performance_preference = "balance_performance";
|
||||||
|
turbo = "auto";
|
||||||
|
};
|
||||||
|
battery = {
|
||||||
|
governor = "powersave";
|
||||||
|
energy_performance_preference = "balance_power";
|
||||||
|
turbo = "never";
|
||||||
|
enable_thresholds = "true";
|
||||||
|
start_threshold = "80";
|
||||||
|
stop_threshold = "85";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
thinkfan = {
|
||||||
|
enable = true;
|
||||||
|
levels = [
|
||||||
|
[ "level auto" 0 55 ]
|
||||||
|
[ 3 55 65 ]
|
||||||
|
[ 7 65 75 ]
|
||||||
|
[ "level full-speed" 75 100 ]
|
||||||
|
];
|
||||||
|
# sensors = [
|
||||||
|
# { type = "hwmon"; query = "/sys/devices/platform/coretemp.0/hwmon"; }
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
13
modules/hardware/igpu.nix
Normal file
13
modules/hardware/igpu.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
intel-media-driver
|
||||||
|
intel-compute-runtime
|
||||||
|
libva-vdpau-driver
|
||||||
|
libvdpau-va-gl
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
7
modules/hardware/power-button.nix
Normal file
7
modules/hardware/power-button.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.logind.settings.Login = {
|
||||||
|
HandleLidSwitch = "suspend";
|
||||||
|
HandlePowerKey = "ignore";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,9 +1,14 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
import = [
|
{
|
||||||
|
imports = [
|
||||||
./tzupdate.nix
|
./tzupdate.nix
|
||||||
./hibernation.nix
|
./hibernation.nix
|
||||||
|
./igpu.nix
|
||||||
|
./cpu-thermal.nix
|
||||||
|
./battery-power.nix
|
||||||
|
./power-button.nix
|
||||||
];
|
];
|
||||||
powerManagement.powertop.enable = true;
|
|
||||||
security = {
|
security = {
|
||||||
tpm2 = {
|
tpm2 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -11,82 +16,23 @@
|
||||||
tctiEnvironment.enable = true;
|
tctiEnvironment.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
enableRedistributableFirmware = true; # T480 WiFi firmware fix
|
enableRedistributableFirmware = true; # T480 WiFi firmware fix
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
};
|
};
|
||||||
graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
intel-media-driver
|
|
||||||
intel-compute-runtime
|
|
||||||
libva-vdpau-driver
|
|
||||||
libvdpau-va-gl
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages;
|
kernelPackages = pkgs.linuxPackages;
|
||||||
kernel.sysctl."vm.laptop_mode" = 5;
|
kernel.sysctl."vm.laptop_mode" = 5;
|
||||||
initrd.availableKernelModules = [ "thinkpad_acpi" ];
|
initrd.availableKernelModules = [ "thinkpad_acpi" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
logind.settings.Login = {
|
|
||||||
HandleLidSwitch = "suspend";
|
|
||||||
HandlePowerKey = "ignore";
|
|
||||||
};
|
|
||||||
fstrim.enable = true;
|
fstrim.enable = true;
|
||||||
thermald.enable = true;
|
|
||||||
throttled.enable = true;
|
|
||||||
fwupd.enable = true;
|
fwupd.enable = true;
|
||||||
udev.extraRules = ''
|
|
||||||
#ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
|
|
||||||
ACTION=="add", SUBSYSTEM=="pci", TEST=="power/control", ATTR{power/control}="auto"
|
|
||||||
SUBSYSTEM=="power_supply", ACTION=="change", RUN+="${pkgs.writeShellScript "battery-thresholds" ''
|
|
||||||
echo 80 > /sys/class/power_supply/BAT1/charge_control_start_threshold || true
|
|
||||||
echo 85 > /sys/class/power_supply/BAT1/charge_control_end_threshold || true
|
|
||||||
''}"
|
|
||||||
'';
|
|
||||||
upower = {
|
|
||||||
enable = true;
|
|
||||||
percentageCritical = 15;
|
|
||||||
percentageAction = 10;
|
|
||||||
usePercentageForPolicy = true;
|
|
||||||
allowRiskyCriticalPowerAction = true;
|
|
||||||
criticalPowerAction = "HybridSleep";
|
|
||||||
};
|
|
||||||
auto-cpufreq = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
charger = {
|
|
||||||
governor = "performance";
|
|
||||||
energy_performance_preference = "balance_performance";
|
|
||||||
turbo = "auto";
|
|
||||||
};
|
|
||||||
battery = {
|
|
||||||
governor = "powersave";
|
|
||||||
energy_performance_preference = "balance_power";
|
|
||||||
turbo = "never";
|
|
||||||
enable_thresholds = "true";
|
|
||||||
start_threshold = "80";
|
|
||||||
stop_threshold = "85";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
thinkfan = {
|
|
||||||
enable = true;
|
|
||||||
levels = [
|
|
||||||
[ "level auto" 0 55 ]
|
|
||||||
[ 3 55 65 ]
|
|
||||||
[ 7 65 75 ]
|
|
||||||
[ "level full-speed" 75 100 ]
|
|
||||||
];
|
|
||||||
# sensors = [
|
|
||||||
# { type = "hwmon"; query = "/sys/devices/platform/coretemp.0/hwmon"; }
|
|
||||||
# ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue