nixos/modules/hardware/default.nix

23 lines
794 B
Nix
Raw Normal View History

2023-07-15 22:45:35 +08:00
inputs:
{
options.nixos.hardware = let inherit (inputs.lib) mkOption types; in
{
bluetooth.enable = mkOption { type = types.bool; default = false; };
2023-07-15 22:48:24 +08:00
joystick.enable = mkOption { type = types.bool; default = false; };
2023-07-18 18:19:00 +08:00
printer.enable = mkOption { type = types.bool; default = false; };
};
config =
{
hardware = {}
// (if inputs.config.nixos.hardware.bluetooth.enable then { bluetooth.enable = true; } else {})
// (if inputs.config.nixos.hardware.joystick.enable then { xone.enable = true; xpadneo.enable = true; } else {});
services = {}
// (if inputs.config.nixos.hardware.printer.enable then
{
printing = { enable = true; drivers = [ inputs.pkgs.cnijfilter2 ]; };
avahi = { enable = true; nssmdns = true; openFirewall = true; };
}
else {});
2023-07-15 22:45:35 +08:00
};
}