nix/modules/nixos/hardware/laptop/default.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;
};
};
};
};
}