From 42a180352fb3c9e069fd6e41a6387cb548a054c2 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 22 Nov 2016 02:33:39 +0300 Subject: bumblebee service: replace bbswitch option with pmMethod I added this option just today, so I don't think this needs a rename entry. --- nixos/modules/hardware/video/bumblebee.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'nixos') diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix index 34571b344e563..3ce97ad31c221 100644 --- a/nixos/modules/hardware/video/bumblebee.nix +++ b/nixos/modules/hardware/video/bumblebee.nix @@ -13,6 +13,8 @@ let useDisplayDevice = cfg.connectDisplay; }; + useBbswitch = cfg.pmMethod == "bbswitch"; + primus = pkgs.primus.override { inherit useNvidia; }; @@ -61,12 +63,11 @@ in ''; }; - bbswitch = mkOption { - default = true; - type = types.bool; + pmMethod = mkOption { + default = "auto"; + type = types.enum [ "auto" "bbswitch" "nouveau" "switcheroo" "none" ]; description = '' - Set to true if you want to use bbswitch for power management of - unused card. + Set preferred power management method for unused card. ''; }; @@ -75,8 +76,8 @@ in config = mkIf cfg.enable { boot.blacklistedKernelModules = [ "nvidia-drm" "nvidia" "nouveau" ]; - boot.kernelModules = optional cfg.bbswitch [ "bbswitch" ]; - boot.extraModulePackages = optional cfg.bbswitch kernel.bbswitch ++ optional useNvidia kernel.nvidia_x11; + boot.kernelModules = optional useBbswitch [ "bbswitch" ]; + boot.extraModulePackages = optional useBbswitch kernel.bbswitch ++ optional useNvidia kernel.nvidia_x11; environment.systemPackages = [ bumblebee primus ]; @@ -85,7 +86,7 @@ in wantedBy = [ "multi-user.target" ]; before = [ "display-manager.service" ]; serviceConfig = { - ExecStart = "${bumblebee}/bin/bumblebeed --use-syslog -g ${cfg.group} --driver ${cfg.driver}"; + ExecStart = "${bumblebee}/bin/bumblebeed --use-syslog -g ${cfg.group} --driver ${cfg.driver} --pm-method ${cfg.pmMethod}"; }; }; }; -- cgit 1.4.1