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
|
|
|
};
|
|
|
|
}
|