{ lib, pkgs, config, ... }: with lib; let cfg = config.drivers.nvidia-prime; in { options.drivers.nvidia-prime = { enable = mkEnableOption "enable nvidia prime hybrid gpu offload"; intelBusID = mkOption { type = types.str; default = "PCI:1:0:0"; }; nvidiaBusID = mkOption { type = types.str; default = "PCI:0:2:0"; }; }; config = mkIf cfg.enable { hardware.nvidia = { prime = { offload = { enable = true; enableOffloadCmd = true; }; # make sure to use the correct BusID values for your system!!! intelBusID = "${cfg.intelBusID}"; nvidiaBusID = "${cfg.nvidiaBusID}"; }; }; }; }