{ config, pkgs, lib, ... }: { networking.firewall.enable = true; networking.firewall.allowedTCPPorts = [ 631 6566 ]; networking.firewall.allowedUDPPorts = [ 631 6566 ]; services.printing = { enable = true; drivers = with pkgs; [ epson-escpr ]; listenAddresses = [ "*:631" ]; defaultShared = true; browsing = true; allowFrom = [ "all" ]; extraConf = '' ServerAlias * DefaultEncryption Never ''; }; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ ]; hardware.printers.ensurePrinters = [{ description = "Epson XP-540"; location = "connected to bolty"; name = "epson_xp540"; deviceUri = "usb://EPSON/XP-540%20Series?serial=583245393030303936&interface=1"; model = "raw"; ppdOptions = { PageSize = "A4"; }; }]; hardware.sane = { enable = true; extraBackends = with pkgs; [ utsushi sane-airscan gawk ]; snapshot = true; }; services.udev.packages = [ pkgs.utsushi ]; environment.systemPackages = with pkgs; [ gawk ]; services.saned = { enable = true; extraConfig = '' 100.69.222.80 10.0.24.0/24 10.0.0.1/24 foureighty hagath ''; }; }