43 lines
1 KiB
Nix
43 lines
1 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 = 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;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|