47 lines
1,015 B
Nix
47 lines
1,015 B
Nix
{ lib, config, ... }:
|
|
with lib;
|
|
let
|
|
cfg = config.modules.hardware.laptop;
|
|
in
|
|
{
|
|
options.modules.hardware.laptop = {
|
|
enable = mkEnableOption "Install Laptop utils";
|
|
|
|
governor_battery = mkOption {
|
|
type = types.str;
|
|
default = "powersave";
|
|
};
|
|
turbo_battery = mkOption {
|
|
type = types.enum ["always" "never" "auto"];
|
|
default = "never";
|
|
};
|
|
governor_ac = mkOption {
|
|
type = types.str;
|
|
default = "schedutil";
|
|
};
|
|
turbo_ac = mkOption {
|
|
type = types.enum ["always" "never" "auto"];
|
|
default = "never";
|
|
};
|
|
};
|
|
config = mkIf cfg.enable {
|
|
|
|
# Wifi is installed on laptops
|
|
networking.wireless.iwd.enable = true;
|
|
|
|
# And cpufreq
|
|
services.auto-cpufreq = {
|
|
enable = true;
|
|
settings = {
|
|
battery = {
|
|
governor = cfg.governor_battery;
|
|
turbo = cfg.turbo_battery;
|
|
};
|
|
charger = {
|
|
governor = cfg.governor_ac;
|
|
turbo = cfg.turbo_ac;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|