From d0d10918cc344c8d8b00ed3c8ecee59d214f6e64 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 2 Aug 2017 01:08:12 +0200 Subject: ma sane-extra: init --- makefu/3modules/default.nix | 1 + makefu/3modules/sane-extra.nix | 45 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 makefu/3modules/sane-extra.nix diff --git a/makefu/3modules/default.nix b/makefu/3modules/default.nix index 2981e0fa3..00df56bee 100644 --- a/makefu/3modules/default.nix +++ b/makefu/3modules/default.nix @@ -9,6 +9,7 @@ _: ./opentracker.nix ./ps3netsrv.nix ./logging-config.nix + ./sane-extra.nix ./server-config.nix ./snapraid.nix ./torrent.nix diff --git a/makefu/3modules/sane-extra.nix b/makefu/3modules/sane-extra.nix new file mode 100644 index 000000000..2e0ce8f2f --- /dev/null +++ b/makefu/3modules/sane-extra.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: +# https://github.com/michalrus/dotfiles/blob/d943be3089aa436e07cea5f22d829402936a9229/.nixos-config.symlink/modules/sane-extra-config.nix +# via https://github.com/NixOS/nixpkgs/issues/17411 +# via https://unix.stackexchange.com/questions/321954/install-epson-v39-on-nixos +with lib; + +let + + cfg = config.hardware.sane; + + pkg = if cfg.snapshot + then pkgs.sane-backends-git + else pkgs.sane-backends; + + backends = [ pkg ] ++ cfg.extraBackends; + + saneConfig = pkgs.mkSaneConfig { paths = backends; }; + + saneExtraConfig = pkgs.runCommand "sane-extra-config" {} '' + cp -Lr '${pkgs.mkSaneConfig { paths = [ pkgs.sane-backends ]; }}'/etc/sane.d $out + chmod +w $out + ${concatMapStrings (c: '' + f="$out/${c.name}.conf" + [ ! -e "$f" ] || chmod +w "$f" + cat ${builtins.toFile "" (c.value + "\n")} >>"$f" + chmod -w "$f" + '') (mapAttrsToList nameValuePair cfg.extraConfig)} + chmod -w $out + ''; + +in + +{ + options = { + hardware.sane.extraConfig = mkOption { + type = types.attrsOf types.lines; + default = {}; + example = { "some-backend" = "# some lines to add to its .conf"; }; + }; + }; + + config = mkIf (cfg.enable && cfg.extraConfig != {}) { + hardware.sane.configDir = saneExtraConfig.outPath; + }; +} -- cgit v1.2.3 From a6b5b8dffd6023835e0fbb34c9d13364d9a4f1b3 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 2 Aug 2017 11:49:27 +0200 Subject: ma printer: add support for magicolor --- makefu/2configs/printer.nix | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/makefu/2configs/printer.nix b/makefu/2configs/printer.nix index 509ed512d..0865a0841 100644 --- a/makefu/2configs/printer.nix +++ b/makefu/2configs/printer.nix @@ -1,15 +1,30 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: -{ +let + mainUser = config.krebs.build.user.name; +in { services.printing = { enable = true; drivers = [ pkgs.samsungUnifiedLinuxDriver - pkgs.cups-dymo + pkgs.cups-dymo # dymo labelwriter + pkgs.foo2zjs # magicolor 1690mf ]; }; # scanners are printers just in reverse anyway - hardware.sane.enable = true; - hardware.sane.extraBackends = [ pkgs.samsungUnifiedLinuxDriver ]; + services.saned.enable = true; + users.users."${mainUser}".extraGroups = [ "scanner" ]; + + hardware.sane = { + enable = true; + extraBackends = [ pkgs.samsungUnifiedLinuxDriver ]; + + # $ scanimage -p --format=jpg --mode=Gray --source="Automatic Document Feeder" -v --batch="lol%d.jpg" --resolution=150 + + # requires 'sane-extra', scan via: + extraConfig."magicolor" = '' + net 10.42.20.30 0x2098 + ''; # 10.42.20.30: uhrenkind.shack magicolor 1690mf + }; } -- cgit v1.2.3 From 2fa2d79b475cb6ccda1fc4b044ec81c1f6b314e3 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 2 Aug 2017 22:17:41 +0200 Subject: ma x: enable stk1160 --- makefu/1systems/x/config.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/makefu/1systems/x/config.nix b/makefu/1systems/x/config.nix index 969e78bee..368655575 100644 --- a/makefu/1systems/x/config.nix +++ b/makefu/1systems/x/config.nix @@ -54,7 +54,7 @@ with import ; - # + # # Filesystem @@ -62,6 +62,9 @@ with import ; # Security + { + programs.adb.enable = true; + } ]; -- cgit v1.2.3 From 2653cbd257a9e4255bad6d01e6aed4639821b59c Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 2 Aug 2017 22:38:26 +0200 Subject: ma stk1160: revert to hacky override --- makefu/2configs/hw/stk1160.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/makefu/2configs/hw/stk1160.nix b/makefu/2configs/hw/stk1160.nix index e73741e26..b3a9e1a5a 100644 --- a/makefu/2configs/hw/stk1160.nix +++ b/makefu/2configs/hw/stk1160.nix @@ -1,8 +1,9 @@ { pkgs, ... }: { # TODO: un-pin linuxPackages somehow + boot.kernelPackages = builtins.trace "Warning: overriding kernel Packages with 4.9" pkgs.linuxPackages; nixpkgs.config.packageOverrides = pkgs: { - linux_latest = pkgs.linux_latest.override { + linux_4_9 = pkgs.linux_4_9.override { extraConfig = '' MEDIA_ANALOG_TV_SUPPORT y VIDEO_STK1160_COMMON m -- cgit v1.2.3 From 7db5d59018f4096b0cc39afa59df53b6a1fa9353 Mon Sep 17 00:00:00 2001 From: makefu Date: Sat, 5 Aug 2017 00:13:41 +0200 Subject: buildbot: remove nixpkgs-fix buildbot master cannot be run as forking anymore we start it as --nodaemon as normal type --- krebs/3modules/buildbot/master.nix | 6 +----- krebs/5pkgs/simple/buildbot-classic/default.nix | 27 ++++++++++--------------- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix index a7624c8f2..a02f3645d 100644 --- a/krebs/3modules/buildbot/master.nix +++ b/krebs/3modules/buildbot/master.nix @@ -341,8 +341,6 @@ let secretsdir = shell.escape (toString ); in { PermissionsStartOnly = true; - Type = "forking"; - PIDFile = "${workdir}/twistd.pid"; # TODO: maybe also prepare buildbot.tac? ExecStartPre = pkgs.writeDash "buildbot-master-init" '' set -efux @@ -366,9 +364,7 @@ let chmod 700 -R ${workdir} chown buildbotMaster:buildbotMaster -R ${workdir} ''; - ExecStart = "${pkgs.buildbot-classic}/bin/buildbot start ${workdir}"; - ExecStop = "${pkgs.buildbot-classic}/bin/buildbot stop ${workdir}"; - ExecReload = "${pkgs.buildbot-classic}/bin/buildbot reconfig ${workdir}"; + ExecStart = "${pkgs.buildbot-classic}/bin/buildbot start --nodaemon ${workdir}"; PrivateTmp = "true"; User = "buildbotMaster"; Restart = "always"; diff --git a/krebs/5pkgs/simple/buildbot-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix index 353972109..f723e7255 100644 --- a/krebs/5pkgs/simple/buildbot-classic/default.nix +++ b/krebs/5pkgs/simple/buildbot-classic/default.nix @@ -1,21 +1,14 @@ -{ fetchgit, fetchFromGitHub, python2Packages, git, ... }: -let - # https://github.com/NixOS/nixpkgs/issues/14026 - nixpkgs-fix = import (fetchgit { - url = https://github.com/nixos/nixpkgs; - rev = "e026b5c243ea39810826e68362718f5d703fb5d0"; - sha256 = "11lqd480bi6xbi7xbh4krrxmbp6a6iafv1d0q3sj461al0x0has8"; - }) {}; +{ pkgs, fetchgit, fetchFromGitHub, python2Packages, git, ... }: -in nixpkgs-fix.buildPythonApplication { +python2Packages.buildPythonApplication { name = "buildbot-classic-0.8.13"; namePrefix = ""; patches = []; src = fetchgit { url = "https://github.com/krebscode/buildbot-classic"; - rev = "211ec7815"; - sha256 = "0cyn406r31qdqhpsih7w83x47b443svpgfhxqd6w3iryv0y1z95i"; + rev = "da5c0204e"; + sha256 = "12aaq8ir9k7n2x9m2jnpcs4rr3pcixncbd3bm36ndh93n80q1z3j"; leaveDotGit = true; }; @@ -33,11 +26,13 @@ in nixpkgs-fix.buildPythonApplication { sed -i 's/==/>=/' setup.py ''; - propagatedBuildInputs = with nixpkgs-fix.pythonPackages; [ - jinja2 - twisted - dateutil_1_5 - sqlalchemy_migrate_0_7 + propagatedBuildInputs = [ + python2Packages.jinja2 + python2Packages.twisted + python2Packages.dateutil_1_5 + python2Packages.sqlalchemy_migrate + python2Packages.pysqlite + pkgs.coreutils ]; doCheck = false; postInstall = '' -- cgit v1.2.3