mirror of
https://github.com/aviallon/nixos-lib.git
synced 2026-04-05 17:27:50 +00:00
[Programs/Nvtop] refactor to intelligently enable the required backends
This commit is contained in:
parent
5fa9147e02
commit
d9ea216ea8
5 changed files with 23 additions and 9 deletions
|
|
@ -5,6 +5,12 @@ let
|
|||
in {
|
||||
options.aviallon.programs.nvtop = {
|
||||
enable = mkEnableOption "nvtop";
|
||||
backend = mkOption {
|
||||
description = "Which backend to enable";
|
||||
type = with types; listOf (enum [ "nvidia" "amd" "intel" "panthor" "panfrost" "msm" ]);
|
||||
default = [ "amd" ];
|
||||
};
|
||||
|
||||
nvidia = mkEnableOption "Nvidia GPU with proprietary drivers is used";
|
||||
package = mkOption {
|
||||
internal = true;
|
||||
|
|
@ -16,7 +22,11 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
# If an Nvidia GPU is used, use the full nvtop package
|
||||
aviallon.programs.nvtop.package = mkIf cfg.nvidia pkgs.nvtop;
|
||||
aviallon.programs.nvtop.package = mkDefault (
|
||||
if (length cfg.backend > 1) then
|
||||
pkgs.nvtopPackages.full
|
||||
else pkgs.nvtopPackages.${elemAt cfg.backend 0}
|
||||
);
|
||||
|
||||
environment.systemPackages = [
|
||||
cfg.package
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue