{ lib, pkgs, ... }: let gutenprintWithVersion = "gutenprint.${lib.versions.majorMinor (lib.getVersion pkgs.gutenprint)}"; in { services = { printing = { enable = true; drivers = with pkgs; [ gutenprint ]; }; avahi.enable = true; }; hardware.printers.ensurePrinters = [ { name = "kanna"; deviceUri = "socket://kanna.home.sbruder.de"; model = "${gutenprintWithVersion}://kyocera-fs-c5200dn/expert"; ppdOptions = { PageSize = "A4"; }; } # printer is broken and makes systemd unit fail #{ # name = "tintenpisser"; # deviceUri = "ipp://tintenpisser.home.sbruder.de:631/ipp/print"; # model = "everywhere"; # ppdOptions = { # PageSize = "A4"; # }; #} { name = "ich_drucke_nicht"; deviceUri = "socket://192.168.178.26"; model = "${gutenprintWithVersion}://bjc-TS3100-series/expert"; } ]; }