From 4e08eb5dffbfc9707633b6d30e200bb993185db2 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 3 Nov 2020 22:59:13 +0100 Subject: puyak.r,wolf.r: move all services from wolf to puyak --- krebs/1systems/puyak/config.nix | 79 +++++++++++++++++++++++++++++++++++- krebs/1systems/wolf/config.nix | 76 ---------------------------------- makefu/2configs/urlwatch/default.nix | 1 + 3 files changed, 79 insertions(+), 77 deletions(-) diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index 08a3392bd..fb7d01e70 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -13,13 +13,90 @@ + ### shackspace + # handle the worlddomination map via coap + + + # drivedroid.shack for shackphone + + # + # Say if muell will be collected + + # provide muellshack api + + # provide light control api + + # light.shack web-ui + + # send mail if muell was not handled + + # send mail if muell was not handled + + # powerraw usb serial to mqtt and raw socket + + + { # do not log to /var/spool/log + services.nginx.appendHttpConfig = '' + map $request_method $loggable { + default 1; + GET 0; + } + log_format vhost '$host $remote_addr - $remote_user ' + '[$time_local] "$request" $status ' + '$body_bytes_sent "$http_referer" ' + '"$http_user_agent"'; + error_log stderr; + access_log syslog:server=unix:/dev/log vhost; + ''; + services.journald.rateLimitBurst = 10000; + } + + # create samba share for anonymous usage with the laser and 3d printer pc + + + # mobile.lounge.mpd.shack + + + # hass.shack + + + # connect to git.shackspace.de as group runner for rz + + + # Statistics collection and visualization + # # graphiteApi is broken and unused(hopefully) + ## Collect data from mqtt.shack and store in graphite database + + ## Collect radioactive data and put into graphite + + ## mqtt.shack + + ## influx.shack + + + ## Collect local statistics via collectd and send to collectd + + + + + # prometheus.shack + # + + # + # grafana.shack + + + # shackdns.shack + # replacement for leases.shack and shackles.shack + + + # monitoring: prometheus.shack - ## Collect local statistics via collectd and send to collectd diff --git a/krebs/1systems/wolf/config.nix b/krebs/1systems/wolf/config.nix index 0160f9ebb..eff09630c 100644 --- a/krebs/1systems/wolf/config.nix +++ b/krebs/1systems/wolf/config.nix @@ -14,82 +14,6 @@ in - # handle the worlddomination map via coap - - - - # drivedroid.shack for shackphone - - # - # Say if muell will be collected - - # provide muellshack api - - # provide light control api - - # light.shack web-ui - - # send mail if muell was not handled - - # send mail if muell was not handled - - # powerraw usb serial to mqtt and raw socket - - - { # do not log to /var/spool/log - services.nginx.appendHttpConfig = '' - map $request_method $loggable { - default 1; - GET 0; - } - log_format vhost '$host $remote_addr - $remote_user ' - '[$time_local] "$request" $status ' - '$body_bytes_sent "$http_referer" ' - '"$http_user_agent"'; - error_log stderr; - access_log syslog:server=unix:/dev/log vhost; - ''; - services.journald.rateLimitBurst = 10000; - } - - # create samba share for anonymous usage with the laser and 3d printer pc - - - # mobile.lounge.mpd.shack - - - # hass.shack - - - # connect to git.shackspace.de as group runner for rz - - - # Statistics collection and visualization - # # graphiteApi is broken and unused(hopefully) - ## Collect data from mqtt.shack and store in graphite database - - ## Collect radioactive data and put into graphite - - ## mqtt.shack - - ## influx.shack - - - ## Collect local statistics via collectd and send to collectd - - - - - # prometheus.shack - # - - # - # grafana.shack - - - # shackdns.shack - # replacement for leases.shack and shackles.shack - # misc diff --git a/makefu/2configs/urlwatch/default.nix b/makefu/2configs/urlwatch/default.nix index 838c26278..5b059a3b2 100644 --- a/makefu/2configs/urlwatch/default.nix +++ b/makefu/2configs/urlwatch/default.nix @@ -34,6 +34,7 @@ in { https://pypi.python.org/simple/pyserial/ https://pypi.python.org/simple/semantic_version/ # weird shit + https://www.zigbee2mqtt.io/information/supported_adapters.html http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/ https://erdgeist.org/gitweb/opentracker/info/refs?service=git-upload-pack -- cgit v1.2.3 From fd0a2c3c309fd4d86d0c8b4e4472bf828954fd1f Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 4 Nov 2020 08:51:34 +0100 Subject: wolf.r: re-add shack ssh keys --- krebs/1systems/wolf/config.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/krebs/1systems/wolf/config.nix b/krebs/1systems/wolf/config.nix index eff09630c..0c95f4d13 100644 --- a/krebs/1systems/wolf/config.nix +++ b/krebs/1systems/wolf/config.nix @@ -14,9 +14,13 @@ in + #### shackspace services + # misc + + ]; # use your own binary cache, fallback use cache.nixos.org (which is used by -- cgit v1.2.3 From 696f6a534a7e193fa726692bcdeb968a68b61612 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 4 Nov 2020 23:01:50 +0100 Subject: puyak.r: cleanup imports --- krebs/1systems/puyak/config.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index fb7d01e70..827f984d6 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -79,11 +79,9 @@ - - # prometheus.shack - # - - # + ## netbox.shack: Netbox is disabled as nobody seems to be using it anyway + # + # grafana.shack -- cgit v1.2.3 From a23066a27e0c7c448912d71d0ece0c92420b3671 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2020 10:30:05 +0100 Subject: ma minimal: keep nscd enabled --- makefu/2configs/minimal.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/makefu/2configs/minimal.nix b/makefu/2configs/minimal.nix index 78a9dcfa6..445e6c577 100644 --- a/makefu/2configs/minimal.nix +++ b/makefu/2configs/minimal.nix @@ -82,5 +82,4 @@ "net.ipv6.conf.default.use_tempaddr" = 2; }; - services.nscd.enable = false; } -- cgit v1.2.3 From 9919cb25912dfcc50881239f95494dd2f8e7b858 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2020 22:14:09 +0100 Subject: puyak.r: initrd bootstrapping via tor --- krebs/1systems/puyak/config.nix | 6 +++++ krebs/2configs/tor/initrd.nix | 50 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 krebs/2configs/tor/initrd.nix diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index 827f984d6..3357964ef 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -7,12 +7,18 @@ + + ## initrd unlocking + # (brain hosts/puyak/luks-ssd;echo) | ssh root@$(brain krebs-secrets/puyak/initrd/hostname) 'cat > /crypt-ramfs/passphrase' + + + ### shackspace # handle the worlddomination map via coap diff --git a/krebs/2configs/tor/initrd.nix b/krebs/2configs/tor/initrd.nix new file mode 100644 index 000000000..cb6008f73 --- /dev/null +++ b/krebs/2configs/tor/initrd.nix @@ -0,0 +1,50 @@ +{config, pkgs, ... }: +## unlock command: +# (brain hosts/puyak/luks-ssd;echo) | ssh root@$(brain krebs-secrets/puyak/initrd/hostname) 'cat > /crypt-ramfs/passphrase' +{ + boot.initrd.network.enable = true; + boot.initrd.network.ssh = { + enable = true; + port = 22; + authorizedKeys = [ + config.krebs.users.jeschli-brauerei.pubkey + config.krebs.users.lass.pubkey + config.krebs.users.lass-mors.pubkey + config.krebs.users.makefu.pubkey + config.krebs.users.tv.pubkey + ]; + hostECDSAKey = ; + }; + boot.initrd.availableKernelModules = [ "e1000e" ]; + + boot.initrd.secrets = { + "/etc/tor/onion/bootup" = ; + }; + + boot.initrd.extraUtilsCommands = '' + copy_bin_and_libs ${pkgs.tor}/bin/tor + ''; + + # start tor during boot process + boot.initrd.network.postCommands = let + torRc = (pkgs.writeText "tor.rc" '' + DataDirectory /etc/tor + SOCKSPort 127.0.0.1:9050 IsolateDestAddr + SOCKSPort 127.0.0.1:9063 + HiddenServiceDir /etc/tor/onion/bootup + HiddenServicePort 22 127.0.0.1:22 + ''); + in '' + echo "tor: preparing onion folder" + # have to do this otherwise tor does not want to start + chmod -R 700 /etc/tor + + echo "make sure localhost is up" + ip a a 127.0.0.1/8 dev lo + ip link set lo up + + echo "tor: starting tor" + tor -f ${torRc} --verify-config + tor -f ${torRc} & + ''; +} -- cgit v1.2.3 From 430dad522cfc6d19329c323e009f47dc0cdc9250 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2020 22:25:24 +0100 Subject: krebs dummy-secrets: add initrd --- krebs/0tests/data/secrets/initrd/host_ecdsa.pub | 0 krebs/0tests/data/secrets/initrd/host_ecdsa_key | 0 krebs/0tests/data/secrets/initrd/hostname | 0 krebs/0tests/data/secrets/initrd/hs_ed25519_public_key | 0 krebs/0tests/data/secrets/initrd/hs_ed25519_secret_key | 0 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 krebs/0tests/data/secrets/initrd/host_ecdsa.pub create mode 100644 krebs/0tests/data/secrets/initrd/host_ecdsa_key create mode 100644 krebs/0tests/data/secrets/initrd/hostname create mode 100644 krebs/0tests/data/secrets/initrd/hs_ed25519_public_key create mode 100644 krebs/0tests/data/secrets/initrd/hs_ed25519_secret_key diff --git a/krebs/0tests/data/secrets/initrd/host_ecdsa.pub b/krebs/0tests/data/secrets/initrd/host_ecdsa.pub new file mode 100644 index 000000000..e69de29bb diff --git a/krebs/0tests/data/secrets/initrd/host_ecdsa_key b/krebs/0tests/data/secrets/initrd/host_ecdsa_key new file mode 100644 index 000000000..e69de29bb diff --git a/krebs/0tests/data/secrets/initrd/hostname b/krebs/0tests/data/secrets/initrd/hostname new file mode 100644 index 000000000..e69de29bb diff --git a/krebs/0tests/data/secrets/initrd/hs_ed25519_public_key b/krebs/0tests/data/secrets/initrd/hs_ed25519_public_key new file mode 100644 index 000000000..e69de29bb diff --git a/krebs/0tests/data/secrets/initrd/hs_ed25519_secret_key b/krebs/0tests/data/secrets/initrd/hs_ed25519_secret_key new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3 From 5e6f56889580d4e2924491a7f471d7994b35212f Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 12 Nov 2020 10:28:14 +0100 Subject: puyak,wolf: add documentation for imports update share --- krebs/1systems/puyak/config.nix | 20 ++++++++++++-------- krebs/1systems/wolf/config.nix | 4 +++- krebs/2configs/shack/share.nix | 3 +++ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index 3357964ef..0cadc3a10 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -27,20 +27,24 @@ # drivedroid.shack for shackphone # + # Say if muell will be collected - # provide muellshack api + # provide muellshack api: muell.shack - # provide light control api - - # light.shack web-ui - # send mail if muell was not handled - # send mail if muell was not handled - + + # provide light control api + # light.shack lounge.light.shack power.light.shack openhab.shack lightapi.shack + # light.shack web-ui + #light.shack + # powerraw usb serial to mqtt and raw socket - + # powerraw.shack standby.shack + # send power stats to s3 + # powerraw.shack must be available + { # do not log to /var/spool/log services.nginx.appendHttpConfig = '' diff --git a/krebs/1systems/wolf/config.nix b/krebs/1systems/wolf/config.nix index 0c95f4d13..25e7c5f06 100644 --- a/krebs/1systems/wolf/config.nix +++ b/krebs/1systems/wolf/config.nix @@ -15,8 +15,10 @@ in #### shackspace services - + # wolf.shack + # gitlab runner + # misc diff --git a/krebs/2configs/shack/share.nix b/krebs/2configs/shack/share.nix index 465d6ef69..d8d65d309 100644 --- a/krebs/2configs/shack/share.nix +++ b/krebs/2configs/shack/share.nix @@ -37,6 +37,9 @@ # for legacy systems client min protocol = NT1 server min protocol = NT1 + workgroup = WORKGROUP + server string = ${config.networking.hostName} + netbios name = ${config.networking.hostName} ''; }; } -- cgit v1.2.3 From 3fdd49c0d4cafd6dcfcbffeb41441986a6331d8e Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:22:52 +0100 Subject: ma omo.r: enable direct connect to gum share --- makefu/1systems/omo/config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/makefu/1systems/omo/config.nix b/makefu/1systems/omo/config.nix index dd89b4057..cbe97e28a 100644 --- a/makefu/1systems/omo/config.nix +++ b/makefu/1systems/omo/config.nix @@ -47,6 +47,7 @@ in { # + { krebs.airdcpp.dcpp.shares = let d = path: "/media/cryptX/${path}"; -- cgit v1.2.3 From 94b6aea2cd6af0454577bf3ba69cfdfd130f928b Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:31:17 +0100 Subject: ma bureautomation/kalauerbot: enterprise restart after 12h --- makefu/2configs/bureautomation/kalauerbot.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/makefu/2configs/bureautomation/kalauerbot.nix b/makefu/2configs/bureautomation/kalauerbot.nix index d61b8885e..ff045e2f3 100644 --- a/makefu/2configs/bureautomation/kalauerbot.nix +++ b/makefu/2configs/bureautomation/kalauerbot.nix @@ -12,6 +12,9 @@ WorkingDirectory = "/var/lib/kalauerbot"; ExecStart = "${pkgs.kalauerbot}/bin/kalauerbot"; PrivateTmp = true; + + Restart = "always"; + RuntimeMaxSec = "12h"; }; }; } -- cgit v1.2.3 From 4fb678f03f381b6bd0cda10a3c161dab8be5ed00 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:31:58 +0100 Subject: ma printer: use extraconfig for magicolor, new netconfig for lan devices --- makefu/2configs/printer.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/makefu/2configs/printer.nix b/makefu/2configs/printer.nix index d297483b2..6fd1c1858 100644 --- a/makefu/2configs/printer.nix +++ b/makefu/2configs/printer.nix @@ -21,16 +21,20 @@ in { hardware.sane = { enable = true; extraBackends = [ ]; + netConf = + # drucker.lan SCX-3205W + '' + 192.168.1.6'' + # uhrenkind.shack magicolor 1690mf + + '' + 10.42.20.30''; # $ 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 - extraConfig."xerox_mfp" = '' - tcp 192.168.1.5 - ''; #home printer SCX-3205W + extraConfig."magicolor" = '' + net 10.42.20.30 0x2098 + ''; # 10.42.20.30: uhrenkind.shack magicolor 1690mf }; state = [ "/var/lib/cups" ]; } -- cgit v1.2.3 From 9323f9141ddd9824eacc8f718aa3ba49ea57b852 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:32:27 +0100 Subject: ma remote-build: enable gum for arm6l cross-build --- makefu/2configs/remote-build/gum.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/makefu/2configs/remote-build/gum.nix b/makefu/2configs/remote-build/gum.nix index 98e2e58b5..39e90f1b8 100644 --- a/makefu/2configs/remote-build/gum.nix +++ b/makefu/2configs/remote-build/gum.nix @@ -10,6 +10,14 @@ system = "x86_64-linux"; supportedFeatures = [ ]; } + { + hostName = "gum.krebsco.de"; + maxJobs = 8; + sshKey = toString ; + sshUser = "nixBuild"; + system = "armv6l-linux"; + supportedFeatures = [ ]; + } ]; }; } -- cgit v1.2.3 From 29c4df2d2228956b65f435cb1358d2f577119217 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:33:58 +0100 Subject: ma share/omo: set workgroup and netbios name --- makefu/2configs/share/omo.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/makefu/2configs/share/omo.nix b/makefu/2configs/share/omo.nix index 732dc2036..1a488e69c 100644 --- a/makefu/2configs/share/omo.nix +++ b/makefu/2configs/share/omo.nix @@ -82,6 +82,9 @@ in { printing = bsd printcap name = /dev/null disable spoolss = yes + workgroup = WORKGROUP + server string = ${config.networking.hostName} + netbios name = ${config.networking.hostName} ''; }; } -- cgit v1.2.3 From b033dfd615db0334684f699731aa0064fcedf6e8 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:35:30 +0100 Subject: ma urlwatch: watch zigbee2mqtt supported adapters --- makefu/2configs/urlwatch/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/makefu/2configs/urlwatch/default.nix b/makefu/2configs/urlwatch/default.nix index 5b059a3b2..ecd03710e 100644 --- a/makefu/2configs/urlwatch/default.nix +++ b/makefu/2configs/urlwatch/default.nix @@ -34,7 +34,9 @@ in { https://pypi.python.org/simple/pyserial/ https://pypi.python.org/simple/semantic_version/ # weird shit - https://www.zigbee2mqtt.io/information/supported_adapters.html + { url = "https://www.zigbee2mqtt.io/information/supported_adapters.html"; + filter = "html2text"; + } http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/ https://erdgeist.org/gitweb/opentracker/info/refs?service=git-upload-pack -- cgit v1.2.3 From a1ab1cde34c13cc0a1c78eee28835e22cdcc1794 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:36:10 +0100 Subject: ma wireguard/server: add workaround for failing tunnel behind nat --- makefu/2configs/wireguard/server.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/makefu/2configs/wireguard/server.nix b/makefu/2configs/wireguard/server.nix index ae10f34a2..1b81cf57f 100644 --- a/makefu/2configs/wireguard/server.nix +++ b/makefu/2configs/wireguard/server.nix @@ -54,4 +54,10 @@ in { # wireguard server } ]; }; + # TODO: this issue is related to the router which connects to the host but is + # unable to re-connect once restarted + systemd.services.wireguard-wg0.serviceConfig = { + Restart = "always"; + RuntimeMaxSec = "12h"; + }; } -- cgit v1.2.3 From c743b9e53c4dfe2a39409c8bd01f373ce86b8e06 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:37:03 +0100 Subject: ma pkgs.droidcam: init software + kernel module --- makefu/2configs/hw/droidcam.nix | 7 ++++ makefu/5pkgs/droidcam/default.nix | 55 ++++++++++++++++++++++++++++++++ makefu/5pkgs/v4l2loopback-dc/default.nix | 36 +++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 makefu/2configs/hw/droidcam.nix create mode 100644 makefu/5pkgs/droidcam/default.nix create mode 100644 makefu/5pkgs/v4l2loopback-dc/default.nix diff --git a/makefu/2configs/hw/droidcam.nix b/makefu/2configs/hw/droidcam.nix new file mode 100644 index 000000000..c638123bb --- /dev/null +++ b/makefu/2configs/hw/droidcam.nix @@ -0,0 +1,7 @@ +{ pkgs, config, ... }: +{ + boot.extraModprobeConfig = "options v4l2loopback_dc width=640 height=480"; + boot.extraModulePackages = [ + (pkgs.callPackage ../../5pkgs/v4l2loopback-dc { kernel = config.boot.kernelPackages.kernel; }) + ]; +} diff --git a/makefu/5pkgs/droidcam/default.nix b/makefu/5pkgs/droidcam/default.nix new file mode 100644 index 000000000..d30fb01a6 --- /dev/null +++ b/makefu/5pkgs/droidcam/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchFromGitHub +, pkg-config +, alsaLib +, libjpeg_turbo +, ffmpeg +, libusbmuxd +, speex +, gtk3 +, libappindicator-gtk3 +}: + +stdenv.mkDerivation rec { + pname = "droidcam"; + version = "1.6"; + + src = fetchFromGitHub { + owner = "aramg"; + repo = "droidcam"; + rev = "v${version}"; + sha256 = "1d9qpnmqa3pfwsrpjnxdz76ipk4w37bbxyrazchh4vslnfc886fx"; + }; + + sourceRoot = "source/linux"; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + alsaLib + libjpeg_turbo + ffmpeg + libusbmuxd + speex + gtk3 + libappindicator-gtk3 + ]; + + buildPhase = '' + runHook preBuild + make JPEG_DIR="" JPEG_INCLUDE="" JPEG_LIB="" JPEG="$(pkg-config --libs --cflags libturbojpeg)" + ''; + installPhase = '' + runHook preInstall + install -Dm755 "droidcam" "$out/bin/droidcam" + install -Dm755 "droidcam-cli" "$out/bin/droidcam-cli" + install -Dm644 icon2.png "$out/share/pixmaps/droidcam.png" + install -Dm644 README.md "$out/share/licenses/droidcam/LICENSE" + ''; + + meta = with stdenv.lib; { + description = "A kernel module to create V4L2 loopback devices"; + homepage = "https://github.com/aramg/droidcam"; + license = licenses.gpl2; + maintainers = [ maintainers.makefu ]; + platforms = platforms.linux; + }; +} diff --git a/makefu/5pkgs/v4l2loopback-dc/default.nix b/makefu/5pkgs/v4l2loopback-dc/default.nix new file mode 100644 index 000000000..2bb9d3d0b --- /dev/null +++ b/makefu/5pkgs/v4l2loopback-dc/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, kernel, kmod }: + +stdenv.mkDerivation rec { + name = "v4l2loopback-dc-${version}-${kernel.version}"; + version = "1.6"; + + src = fetchFromGitHub { + owner = "aramg"; + repo = "droidcam"; + rev = "v${version}"; + sha256 = "1d9qpnmqa3pfwsrpjnxdz76ipk4w37bbxyrazchh4vslnfc886fx"; + }; + + sourceRoot = "source/linux/v4l2loopback"; + + buildTargets = "v4l2loopback-dc"; + hardeningDisable = [ "pic" ]; + + nativeBuildInputs = kernel.moduleBuildDependencies; + buildInputs = [ kmod ]; + + + makeFlags = [ + "KERNELRELEASE=${kernel.modDirVersion}" + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "INSTALL_MOD_PATH=$(out)" + ]; + + meta = with stdenv.lib; { + description = "A kernel module to create V4L2 loopback devices"; + homepage = "https://github.com/aramg/droidcam"; + license = licenses.gpl2; + maintainers = [ maintainers.makefu ]; + platforms = platforms.linux; + }; +} -- cgit v1.2.3 From e824baec5ed0f42b6002632295ab241e9c7a80c7 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 16 Nov 2020 21:37:51 +0100 Subject: ma pkgs.kalauerbot: use patched matrix-client --- makefu/5pkgs/kalauerbot/badsync.patch | 14 ++++++++++++++ makefu/5pkgs/kalauerbot/default.nix | 7 ++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 makefu/5pkgs/kalauerbot/badsync.patch diff --git a/makefu/5pkgs/kalauerbot/badsync.patch b/makefu/5pkgs/kalauerbot/badsync.patch new file mode 100644 index 000000000..842129b94 --- /dev/null +++ b/makefu/5pkgs/kalauerbot/badsync.patch @@ -0,0 +1,14 @@ +diff --git a/matrix_client/client.py b/matrix_client/client.py +index af0e08f..f848c4f 100644 +--- a/matrix_client/client.py ++++ b/matrix_client/client.py +@@ -471,7 +471,7 @@ class MatrixClient(object): + self._sync(timeout_ms) + + def listen_forever(self, timeout_ms=30000, exception_handler=None, +- bad_sync_timeout=5): ++ bad_sync_timeout=61): + """ Keep listening for events forever. + + Args: + diff --git a/makefu/5pkgs/kalauerbot/default.nix b/makefu/5pkgs/kalauerbot/default.nix index 2cecbc3f2..ee90fdeec 100644 --- a/makefu/5pkgs/kalauerbot/default.nix +++ b/makefu/5pkgs/kalauerbot/default.nix @@ -8,7 +8,12 @@ rev = "08d98aa"; sha256 = "017hh61smgq4zsxd10brgwmykwgwabgllxjs31xayvs1hnqmkv2v"; }; propagatedBuildInputs = with python3.pkgs;[ - (callPackage ./python-matrixbot.nix {}) + (callPackage ./python-matrixbot.nix { + matrix-client = (stdenv.lib.overrideDerivation matrix-client (self: { + patches = [ ./badsync.patch ]; + })); + }) + (stdenv.lib.overrideDerivation googletrans (self: { patches = [ ./translate.patch ]; })) -- cgit v1.2.3