nichts/modules/services/printing.mod.nix
Bloxx12 e641dfa114
treewide: format using nixfmt
Signed-off-by: Bloxx12 <charlie@charlieroot.dev>
Change-Id: I6a6a69641c36f9763e104087a559c148d0449f00
2025-07-20 02:14:32 +02:00

58 lines
1.4 KiB
Nix

{
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 = true;
# browsedConf = ''
# BrowseDNSSDSubTypes _cups,_print
# BrowseLocalProtocols all
# BrowseRemoteProtocols all
# CreateIPPPrinterQueues All
# BrowseProtocols all
# '';
# Enable the CUPS webinterface, accessible at localhost:631.
webInterface = true;
logLevel = "debug";
# Some local or network printers might need additional drivers.
# These can be added into here.
drivers = with pkgs; [
gutenprint
cups-kyocera-ecosys-m552x-p502x
cups-filters
];
};
# 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;
nssmdns6 = true;
openFirewall = true;
};
};
};
}