From a21975cf620f3ba2049a6cb954b171f3ac2f09e4 Mon Sep 17 00:00:00 2001
From: tv <tv@krebsco.de>
Date: Tue, 19 Sep 2017 20:03:12 +0200
Subject: tv br config: init

---
 tv/2configs/br.nix | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 tv/2configs/br.nix

(limited to 'tv/2configs')

diff --git a/tv/2configs/br.nix b/tv/2configs/br.nix
new file mode 100644
index 0000000..c7eb20e
--- /dev/null
+++ b/tv/2configs/br.nix
@@ -0,0 +1,49 @@
+with import <stockholm/lib>;
+{ config, pkgs, ... }: {
+
+  imports = [
+    <nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
+  ];
+
+  krebs.nixpkgs.allowUnfreePredicate = pkg: any (flip hasPrefix pkg.name) [
+    "brother-udev-rule-type1-"
+    "brscan4-"
+    "mfcl2700dnlpr-"
+  ];
+
+  hardware.sane = {
+    enable = true;
+    brscan4 = {
+      enable = true;
+      netDevices = {
+        bra = {
+          model = "MFCL2700DN";
+          ip = "10.23.1.214";
+        };
+      };
+    };
+  };
+
+  services.saned.enable = true;
+
+  # usage: scanimage -d "$(find-scanner bra)" --batch --format=tiff --resolution 150  -x 211 -y 298
+  environment.systemPackages = [
+    (pkgs.writeDashBin "find-scanner" ''
+      set -efu
+      name=$1
+      ${pkgs.sane-backends}/bin/scanimage -f '%m %d
+      ' \
+      | ${pkgs.gawk}/bin/awk -v dev="*$name" '$1 == dev { print $2; exit }' \
+      | ${pkgs.gnugrep}/bin/grep .
+    '')
+  ];
+
+  services.printing = {
+    enable = true;
+    drivers = [
+      pkgs.mfcl2700dncupswrapper
+    ];
+  };
+
+  systemd.services.cups.serviceConfig.PrivateTmp = true;
+}
-- 
cgit v1.2.3