nichts/modules/services/printing.mod.nix

57 lines
1.4 KiB
Nix
Raw Normal View History

{
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;
};
};
};
}