From 2083708a45ba416a0dc414d65d52256d2e19f6ca Mon Sep 17 00:00:00 2001 From: dadada Date: Mon, 30 Oct 2023 14:57:08 +0100 Subject: [PATCH] ninurta: enable printer sharing --- nixos/ninurta/configuration.nix | 3 +++ nixos/ninurta/printing.nix | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 nixos/ninurta/printing.nix diff --git a/nixos/ninurta/configuration.nix b/nixos/ninurta/configuration.nix index 4fabd86..35b4fb5 100644 --- a/nixos/ninurta/configuration.nix +++ b/nixos/ninurta/configuration.nix @@ -17,6 +17,7 @@ in imports = [ ../modules/profiles/server.nix ./hardware-configuration.nix + ./printing.nix ]; services.soft-serve = { @@ -388,10 +389,12 @@ in 22 # SSH 80 # HTTP 443 # HTTPS + 631 # Printing (TODO only allow from some networks) 3000 # Hydra softServePort ]; allowedUDPPorts = [ + 631 # Printing (TODO only allow from some networks) 51234 # Wireguard 51235 # Wireguard ]; diff --git a/nixos/ninurta/printing.nix b/nixos/ninurta/printing.nix new file mode 100644 index 0000000..68e5c69 --- /dev/null +++ b/nixos/ninurta/printing.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: +{ + services.printing = { + enable = true; + drivers = [ pkgs.brlaser ]; + # Remove all state at the start of the service + stateless = true; + }; + + hardware = { + printers = { + ensurePrinters = [ + { + name = "Brother_HL-L2310D"; + model = "drv:///brlaser.drv/brl2320d.ppd"; + location = "BS"; + deviceUri = "usb://Brother/HL-L2310D%20series?serial=E78096H3N771439"; + ppdOptions = { + PageSize = "A4"; + Duplex = "DuplexNoTumble"; + }; + } + ]; + }; + }; + + services.avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + publish = { + enable = true; + userServices = true; + }; + }; + services.printing = { + listenAddresses = [ "192.168.101.184:631" "fd42:9c3b:f96d:101:4a21:bff:fe3e:9cfe:631" ]; + allowFrom = [ "from 192.168.101.0/24" ]; + browsing = true; + defaultShared = true; + }; +}