config/hardware/printer/common-share.nix

57 lines
1.2 KiB
Nix

{ lib, pkgs, ... }:
{
# airprint
# https://wiki.nixos.org/wiki/Printing#Printer_sharing
services.avahi = {
enable = lib.mkDefault true;
nssmdns = true;
openFirewall = true; # opens port 5353
publish.enable = true;
publish.userServices = true;
};
services.printing = {
defaultShared = true;
browsing = true;
# allows anonymous access to printer
listenAddresses = [ "*:631" ];
allowFrom = [ "all" ];
openFirewall = true;
};
# samba
# https://wiki.nixos.org/wiki/Samba#Printer_sharing
/** /
services.samba = {
enable = lib.mkDefault true;
package = pkgs.sambaFull; # compiled with CUPS
openFirewall = true;
settings = {
"global" = {
"load printers" = "yes";
"printing" = "cups";
"printcap name" = "cups";
};
"printers" = {
"comment" = "All Printers";
"path" = "/var/spool/samba";
"public" = "yes";
"browseable" = "yes";
# allow user 'guest account' to print.
"guest ok" = "yes";
"writable" = "no";
"printable" = "yes";
"create mode" = 0700;
};
};
systemd.tmpfiles.rules = [
"d /var/spool/samba 1777 root root -"
];
/**/
}