42 lines
985 B
Nix
42 lines
985 B
Nix
{lib, ...}: let
|
|
mkEO = lib.mkEnableOption;
|
|
in {
|
|
config.hardware.enableRedistributableFirmware = true;
|
|
|
|
imports = [
|
|
./bluetooth.nix
|
|
./fingerprint.nix
|
|
./fwupd.nix
|
|
./graphics.nix
|
|
./joycond.nix
|
|
./power.nix
|
|
];
|
|
|
|
options.niksos.hardware = {
|
|
bluetooth = mkEO "bluetooth related stuff.";
|
|
fingerprint = mkEO "fingerprint support.";
|
|
|
|
graphics = {
|
|
enable = mkEO "core graphics";
|
|
intel = mkEO "additional intel drivers";
|
|
nvidia = mkEO "additoinal nvidia drivers";
|
|
};
|
|
|
|
joycond = mkEO "support for nintendo switch controllers.";
|
|
|
|
portable = {
|
|
enable = mkEO "battery optimisers";
|
|
hyprland = let
|
|
gen = mode:
|
|
lib.mkOption {
|
|
default = "";
|
|
description = "Shell commands to run when switching to ${mode} mode.";
|
|
type = lib.types.lines;
|
|
};
|
|
in {
|
|
powerSaver = gen "power-saver";
|
|
performance = gen "performance";
|
|
};
|
|
};
|
|
};
|
|
}
|