From e8d7fd99eb91a61eaefa931e5dde52b6366c496e Mon Sep 17 00:00:00 2001 From: Ahwx Date: Mon, 21 Oct 2024 17:12:46 +0200 Subject: [PATCH] feat: adds laptop role --- roles/laptop.nix | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 roles/laptop.nix diff --git a/roles/laptop.nix b/roles/laptop.nix new file mode 100644 index 0000000..9310f81 --- /dev/null +++ b/roles/laptop.nix @@ -0,0 +1,45 @@ +{ config, pkgs, lib, ... }: +{ + options = { + liv.laptop = lib.mkOption { + default = false; + type = lib.types.boolean; + description = '' + Enable this if the host is a laptop, to enable power management, extra packages, kernel modules, etc. + ''; + }; + + config = lib.mkIf config.liv.laptop { + networking.networkmanager.enable = true; + + environment.systemPackages = with pkgs; [ + acpi + brightnessctl + cpupower-gui + powertop + ]; + auto-cpufreq = { + enable = false; + settings = { + battery = { + governor = "powersave"; + turbo = "auto"; + }; + charger = { + governor = "performance"; + turbo = "auto"; + }; + }; + }; + boot = { + kernelModules = ["acpi_call"]; + extraModulePackages = with config.boot.kernelPackages; + [ + acpi_call + cpupower + ] + ++ [pkgs.cpupower-gui]; + }; + }; + }; +}