From 97bd06f03ddccaba03cf7635a3a5c25d547aa404 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 22 Jan 2017 23:41:01 +0100 Subject: m omo: add shared printer --- makefu/2configs/printer-shared.nix | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 makefu/2configs/printer-shared.nix (limited to 'makefu/2configs/printer-shared.nix') diff --git a/makefu/2configs/printer-shared.nix b/makefu/2configs/printer-shared.nix new file mode 100644 index 000000000..2a9e6724d --- /dev/null +++ b/makefu/2configs/printer-shared.nix @@ -0,0 +1,38 @@ +{ pkgs, config, ... }: + +{ + nixpkgs.config.allowUnfree = true; + services.avahi.enable = true; + services.avahi.publish.enable = true; + services.avahi.publish.userServices = true; + services.avahi.interfaces = [ config.makefu.server.primary-itf ]; + services.avahi.ipv6 = false; + services.avahi.nssmdns = true; + # via https://github.com/tjfontaine/airprint-generate/ + # environment.etc."avahi/services/samsung_scx2300.service".text + nixpkgs.config.packageOverrides = pkgs: rec { + avahi = pkgs.stdenv.lib.overrideDerivation pkgs.avahi (oldAttrs: { + postFixup = let + cfg = pkgs.writeText "airprint-scx3200.service" ''AirPrint Samsung_SCX-3200_Series @ %h_ipp._tcp_universal._sub._ipp._tcp631txtvers=1qtotal=1Transparent=TURF=nonerp=printers/Samsung_SCX-3200_Seriesnote=Samsung SCX-3200 Seriesproduct=(GPL Ghostscript)printer-state=3printer-type=0x801044pdl=application/octet-stream,application/pdf,application/postscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,image/tiff,image/urf,text/html,text/plain,application/vnd.adobe-reader-postscript,application/vnd.cups-command''; + in '' + cp ${cfg} $out/etc/avahi/services/airprint-scx3200.service + ''; + }); + }; + + # only allowed in local network + services.printing = { + enable = true; + browsing = true; + #avahiEnabled = true; + defaultShared = true; + listenAddresses = [ "*:631" ]; + drivers = [ + pkgs.samsungUnifiedLinuxDriver + ]; + }; + + # scanners are printers just in reverse anyway + hardware.sane.enable = true; + hardware.sane.extraBackends = [ pkgs.samsungUnifiedLinuxDriver ]; +} -- cgit v1.2.3