summaryrefslogtreecommitdiffstats
path: root/tv/2configs/br.nix
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-09-29 21:28:23 +0200
committermakefu <github@syntax-fehler.de>2017-09-29 21:28:23 +0200
commitc352397385d5e7cbf2095ead0aa4a74be116da34 (patch)
tree72a730cb2b451b5700a8eaf9420b4bd46f513ba9 /tv/2configs/br.nix
parent9d9e9bc3d8087974370e3d62bc05d2332b2efab2 (diff)
parent37951eed3dd7806f73c40c47ec9cd047ad76c15d (diff)
Merge remote-tracking branch 'lass/master'
Diffstat (limited to 'tv/2configs/br.nix')
-rw-r--r--tv/2configs/br.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/tv/2configs/br.nix b/tv/2configs/br.nix
new file mode 100644
index 000000000..c7eb20e90
--- /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;
+}