{ config, pkgs, unfreeAndNonDistributablePkgs, lib, ... }: with lib; let cfg = config.vuizvui.user.profpatsch.programs.scanning; in { options.vuizvui.user.profpatsch.programs.scanning = { enable = mkEnableOption "scanning & simple-scan & ScanSnap drivers"; remoteScanners = mkOption { type = lib.types.lines; default = ""; description = '' See hardware.sane.extraBackends. Proxy, because I may want to change this option. ''; }; }; config = mkIf cfg.enable { environment.systemPackages = [ pkgs.simple-scan ]; hardware.sane = { enable = true; netConf = cfg.remoteScanners; extraBackends = [ unfreeAndNonDistributablePkgs.hplipWithPlugin ]; drivers.scanSnap = { enable = true; package = unfreeAndNonDistributablePkgs.sane-drivers.epjitsu; }; }; }; }