bumblebee service: make bbswitch optional
This commit is contained in:
parent
44808cac65
commit
f10ec922e0
|
@ -22,25 +22,26 @@ in
|
|||
{
|
||||
|
||||
options = {
|
||||
hardware.bumblebee.enable = mkOption {
|
||||
hardware.bumblebee = {
|
||||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Enable the bumblebee daemon to manage Optimus hybrid video cards.
|
||||
This should power off secondary GPU until its use is requested
|
||||
by running an application with optirun.
|
||||
|
||||
Only nvidia driver is supported so far.
|
||||
'';
|
||||
};
|
||||
hardware.bumblebee.group = mkOption {
|
||||
|
||||
group = mkOption {
|
||||
default = "wheel";
|
||||
example = "video";
|
||||
type = types.str;
|
||||
description = ''Group for bumblebee socket'';
|
||||
};
|
||||
|
||||
hardware.bumblebee.connectDisplay = mkOption {
|
||||
connectDisplay = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
|
@ -52,19 +53,30 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
hardware.bumblebee.driver = mkOption {
|
||||
driver = mkOption {
|
||||
default = "nvidia";
|
||||
type = types.enum [ "nvidia" "nouveau" ];
|
||||
description = ''
|
||||
Set driver used by bumblebeed. Supported are nouveau and nvidia.
|
||||
'';
|
||||
};
|
||||
|
||||
bbswitch = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Set to true if you want to use bbswitch for power management of
|
||||
unused card.
|
||||
'';
|
||||
};
|
||||
|
||||
config = mkIf config.hardware.bumblebee.enable {
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot.blacklistedKernelModules = [ "nvidia-drm" "nvidia" "nouveau" ];
|
||||
boot.kernelModules = [ "bbswitch" ];
|
||||
boot.extraModulePackages = [ kernel.bbswitch ] ++ optional useNvidia kernel.nvidia_x11;
|
||||
boot.kernelModules = optional cfg.bbswitch [ "bbswitch" ];
|
||||
boot.extraModulePackages = optional cfg.bbswitch kernel.bbswitch ++ optional useNvidia kernel.nvidia_x11;
|
||||
|
||||
environment.systemPackages = [ bumblebee primus ];
|
||||
|
||||
|
|
Loading…
Reference in a new issue