{ config, lib, ... }: let cfg = config.soispha.services.printing; in { options.soispha.services.printing = { enable = lib.mkEnableOption "default printing configuration"; }; config = lib.mkIf cfg.enable { services.avahi = { enable = true; nssmdns4 = true; nssmdns6 = true; openFirewall = true; }; services.printing = { enable = true; startWhenNeeded = true; webInterface = true; # deletes `/var/cache/cups`, `/var/lib/cups` and `/var/spool/cups` on cups startup stateless = true; drivers = []; }; hardware = { printers = { ensurePrinters = [ { name = "Brother"; description = "Brother DCP-9022CDW"; model = "everywhere"; deviceUri = "dnssd://Brother%20DCP-9022CDW._ipp._tcp.local/?uuid=e3248000-80ce-11db-8000-30055c773bcf"; } ]; ensureDefaultPrinter = "Brother"; }; }; }; }