{ pkgs, configVars, ... }: let serverIp = configVars.networking.addresses.merlin.ip; in { services = { udev.packages = [pkgs.sane-airscan]; printing = { enable = true; drivers = [pkgs.gutenprint pkgs.hplip]; }; avahi = { enable = true; nssmdns4 = true; openFirewall = true; }; }; hardware = { sane = { enable = true; extraBackends = [pkgs.sane-airscan]; netConf = "${serverIp}"; openFirewall = true; }; printers = { ensurePrinters = [ { name = "HP_ENVY_6000"; description = "Network printer hosted on bob"; location = "home"; deviceUri = "ipp://${serverIp}/printers/HP_Envy_6000"; model = "everywhere"; ppdOptions = { PageSize = "A4"; }; } ]; }; }; }