nix/modules/nixos/hardware/laptop/default.nix

48 lines
1,020 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;
};
};
};
};
}