diff --git a/modules/module-list.nix b/modules/module-list.nix index ea800648eab..a44e1c6e422 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -68,6 +68,7 @@ ./services/hardware/bluetooth.nix ./services/hardware/hal.nix ./services/hardware/pcscd.nix + ./services/hardware/sane.nix ./services/hardware/udev.nix ./services/hardware/udisks.nix ./services/hardware/upower.nix diff --git a/modules/services/hardware/sane.nix b/modules/services/hardware/sane.nix new file mode 100644 index 00000000000..e9f32a2662c --- /dev/null +++ b/modules/services/hardware/sane.nix @@ -0,0 +1,34 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + hardware.sane.enable = mkOption { + default = false; + description = "Enable support for SANE scanners."; + }; + + hardware.sane.snapshot = mkOption { + default = false; + description = "Use a development snapshot of SANE scanner drivers."; + }; + + }; + + + ###### implementation + + config = let pkg = if config.hardware.sane.snapshot + then pkgs.saneBackendsSnapshot + else pkgs.saneBackends; + in mkIf config.hardware.sane.enable { + environment.systemPackages = [ pkg ]; + services.udev.packages = [ pkg ]; + }; + +}