services: printing: init

Adds CUPS and avahi for printing and discovering
printers on the network.
This commit is contained in:
Bloxx12 2025-06-04 22:31:32 +02:00
commit 609e8e4439
Signed by: faukah
SSH key fingerprint: SHA256:Uj2AXqvtdCA4hn5Hq0ZonhIAyUqI1q4w2sMG3Z1TH7E

View file

@ -0,0 +1,42 @@
{
lib,
pkgs,
...
}: let
inherit (lib.options) mkEnableOption;
in {
options.modules.services.cups.enable = mkEnableOption "CUPS, the Common UNIX printing system";
config = {
services = {
# enable CUPS, the Common UNIX printing system.
printing = {
enable = true;
# Move CUPSd's temporary directory.
# By default, it resides in /tmp.
tempDir = "/tmp/cups";
# Do not advertise shared printers.
browsing = false;
# Enable the CUPS webinterface, accessible at localhost:631.
webInterface = true;
# Some local or network printers might need additional drivers.
# These can be added into here.
drivers = [
pkgs.cups-kyocera-ecosys-m552x-p502x
];
};
# Add and autodiscover printers on the network via the IPP everywhere[1] protocol.
# [1] https://www.pwg.org/ipp/everywhere.html
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
};
};
}