mirror of
https://github.com/aviallon/nixos-lib.git
synced 2026-04-05 17:27:50 +00:00
49 lines
992 B
Nix
49 lines
992 B
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
cfg = config.aviallon.hardware.nvidia;
|
|
in
|
|
{
|
|
|
|
imports = [
|
|
./proprietary.nix
|
|
./opensource.nix
|
|
(mkRenamedOptionModule
|
|
[ "aviallon" "hardware" "nvidia" "saveAllVram" ]
|
|
[ "aviallon" "hardware" "nvidia" "proprietary" "saveAllVram" ]
|
|
)
|
|
];
|
|
|
|
options.aviallon.hardware.nvidia = {
|
|
enable = mkEnableOption "enable Nvidia hardware config";
|
|
useProprietary = mkEnableOption "nvidia proprietary drivers" // {
|
|
default = (cfg.variant == "proprietary");
|
|
};
|
|
variant = mkOption {
|
|
type =
|
|
with types;
|
|
enum [
|
|
"proprietary"
|
|
"open"
|
|
"nouveau"
|
|
];
|
|
description = "What driver variant to use";
|
|
default = "proprietary";
|
|
example = "nouveau";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
aviallon.programs.nvtop = {
|
|
enable = true;
|
|
};
|
|
|
|
aviallon.hardware.nvidia.useProprietary = mkForce (cfg.variant == "proprietary");
|
|
};
|
|
|
|
}
|