From c5bab88a9e2b9a30ea148e5938a2110f44f18a5e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 12:07:40 +0200 Subject: [PATCH 01/85] tinc module: add group for user --- krebs/3modules/tinc.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/krebs/3modules/tinc.nix b/krebs/3modules/tinc.nix index a8a78a43e..2c19aefdb 100644 --- a/krebs/3modules/tinc.nix +++ b/krebs/3modules/tinc.nix @@ -237,9 +237,14 @@ let inherit (cfg.user) home name uid; createHome = true; isSystemUser = true; + group = netname; } ) config.krebs.tinc; + users.groups = mapAttrs' (netname: cfg: + nameValuePair netname {} + ) config.krebs.tinc; + environment.etc = mapAttrs' (netname: cfg: nameValuePair "tinc/${netname}" (mkIf cfg.enableLegacy { source = cfg.confDir; From 1ea95b68f4cfeb85f4539a87797b120fca19e9d4 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 12:08:58 +0200 Subject: [PATCH 02/85] fetchWallpaper module: add group --- krebs/3modules/fetchWallpaper.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/krebs/3modules/fetchWallpaper.nix b/krebs/3modules/fetchWallpaper.nix index 852c8f630..dc0133a63 100644 --- a/krebs/3modules/fetchWallpaper.nix +++ b/krebs/3modules/fetchWallpaper.nix @@ -55,10 +55,12 @@ let name = "fetchWallpaper"; uid = genid_uint31 "fetchWallpaper"; description = "fetchWallpaper user"; + group = "fetchWallpaper"; home = cfg.stateDir; createHome = true; isSystemUser = true; }; + users.groups.fetchWallpaper = {}; systemd.timers.fetchWallpaper = { description = "fetch wallpaper timer"; From 9ea664b63c348a5855299250ec45f622c1404c5d Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 12:13:53 +0200 Subject: [PATCH 03/85] l coaxmetal.r: use nixos-unstable --- lass/1systems/coaxmetal/source.nix | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 lass/1systems/coaxmetal/source.nix diff --git a/lass/1systems/coaxmetal/source.nix b/lass/1systems/coaxmetal/source.nix new file mode 100644 index 000000000..0e2628b5b --- /dev/null +++ b/lass/1systems/coaxmetal/source.nix @@ -0,0 +1,4 @@ +{ lib, pkgs, ... }: +{ + nixpkgs.git.ref = lib.mkForce (lib.importJSON ../../../krebs/nixpkgs-unstable.json).rev; +} From 55b137ba525f075f4619de4676d3e66f782b1a12 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 14 Sep 2021 18:52:54 +0200 Subject: [PATCH 04/85] rip Reaktor --- .../simple/Reaktor/scripts/random-emoji.sh | 6 -- .../simple/Reaktor/scripts/random-issue.sh | 20 ------- .../simple/Reaktor/scripts/sed-plugin.py | 58 ------------------- .../simple/Reaktor/scripts/shack-correct.sh | 6 -- 4 files changed, 90 deletions(-) delete mode 100755 krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh delete mode 100755 krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh delete mode 100755 krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py delete mode 100755 krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh b/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh deleted file mode 100755 index 6f3dd4a3f..000000000 --- a/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -curl -sS http://emojicons.com/random | \ - grep data-text | \ - sed -n 's/.*>\(.*\)<\/textarea>/\1/p' | \ - head -n 1 | \ - xmlstarlet unesc diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh b/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh deleted file mode 100755 index 5c47c6156..000000000 --- a/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/sh -set -eu -# requires env: -# $state_dir -# $origin - -# in PATH: git,lentil,coreutils -subdir=`echo "$1" | tr -dc "[:alnum:]"` -name=`echo "$origin" | tr -dc "[:alnum:]"` -track="$state_dir/$name-checkout" -(if test -e "$track" ;then - cd "$track" - git fetch origin master - git reset --hard origin/master -else - git clone "$origin" "$track" -fi) >&2 - -cd "$track" -lentil "${subdir:-.}" -f csv | sed 1d | shuf | head -1 diff --git a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py deleted file mode 100755 index 4925b25bb..000000000 --- a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python3 - -# Usage: -# _from=krebs state_dir=. python sed-plugin.py 'dick butt' -# _from=krebs state_dir=. python sed-plugin.py 's/t/l/g' -# > dick bull -import shelve -from os import environ -from os.path import join -from sys import argv -from time import sleep -import re - -# try to open the shelve file until it succeeds -while True: - try: - d = shelve.open( - join(environ['state_dir'], 'sed-plugin.shelve'), - writeback=True - ) - break - except: # noqa: E722 - sleep(0.2) -usr = environ['_from'] - - -def is_regex(line): - myre = re.compile(r'^s/(?:\\/|[^/])+/(?:\\/|[^/])*/[ig]?$') - return myre.match(line) - - -line = argv[1] - -if is_regex(line): - last = d.get(usr, None) - if last: - from subprocess import Popen, PIPE - p = Popen(['sed', line], stdin=PIPE, stdout=PIPE, stderr=PIPE) - so, se = p.communicate(bytes("{}\n".format(last), "UTF-8")) - if p.returncode: - print("something went wrong when trying to process your regex: {}".format(line.strip())) - ret = so.decode() - if len(ret) > 512: - print('message to long, skipped') - elif len(ret.split('\n')) > 5: - print('to many lines, skipped') - else: - if last.strip() != ret.strip(): - print("\x02{}\x02 meant: {}".format(usr, ret.strip())) - if ret: - d[usr] = ret - - else: - print("no last message") -else: - d[usr] = line - -d.close() diff --git a/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh b/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh deleted file mode 100755 index d500b3cb3..000000000 --- a/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/sh -set -eu -printf "Sie meinten wohl \"" -echo -n $@ | sed 's/Shack/shack/g' -echo "\" check out https://wiki.shackspace.de/project/logo_and_ci#name_ci" -echo "${_from}--" From fd37549f825fb042cf091b25cd665155b7f80716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 13 Oct 2021 16:01:43 +0200 Subject: [PATCH 05/85] mic92: add ryan & graham --- krebs/3modules/external/mic92.nix | 50 +++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/krebs/3modules/external/mic92.nix b/krebs/3modules/external/mic92.nix index 3ef693290..c3a0d42df 100644 --- a/krebs/3modules/external/mic92.nix +++ b/krebs/3modules/external/mic92.nix @@ -761,5 +761,55 @@ in { }; }; }; + + graham = { + owner = config.krebs.users.mic92; + nets = rec { + retiolum = { + addrs = [ + config.krebs.hosts.graham.nets.retiolum.ip4.addr + config.krebs.hosts.graham.nets.retiolum.ip6.addr + ]; + ip4.addr = "10.243.29.196"; + aliases = [ "graham.r" ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIIBCgKCAQEAtnM8VqFlEPLPYfKOZvN4kKklrVEyX4WewlqHO8vtxML9ND5BHCdn + UeRsThvbKVRqEvZLTAXKClZRYVr2IroHqfx0euTq3FYTUbNNQ4KgcFAfLKWoxGfK + HsQbYpS93/sUtmhRBGcgXPnEkE6yqvFBXxcmB1QqdmgYKdY2Gtikwrv/5hb4AlNe + /gyzKGtAKYogspLI6EpEwlD9CGDNIUPJ4uQ56gDhV/qtyMSE6X0igSSVZayDc+x1 + InPkH90xsa0/uXjYDnXNdMguLArGkRzMhd6DzK4vEaPFIX59yMX+tEj46rGY7xAI + gUZUI2codqY5Z93W5GC+ws34y0bpfeMMWwIDAQAB + -----END RSA PUBLIC KEY----- + Ed25519PublicKey = xMJNMMXZRCbWkN9CzLFohkGUK54dPcrrosFD7xgIFXA + ''; + }; + }; + }; + + ryan = { + owner = config.krebs.users.mic92; + nets = rec { + retiolum = { + addrs = [ + config.krebs.hosts.ryan.nets.retiolum.ip4.addr + config.krebs.hosts.ryan.nets.retiolum.ip6.addr + ]; + ip4.addr = "10.243.29.198"; + aliases = [ "ryan.r" ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIIBCgKCAQEA0RE5jmBiEGmaYLVFmpCyVvlb6K3Zh2uxh7sVm44k31d9PEHHm4Wz + HQH+ueaefGVu19xLRJQGu4ZMl7oRbb5awiqKdSGgInhQaNzxUIHW4cCCdOVkgZSy + NjI9LMcc8tQtkoFGt6OhAzaViuGMo+aJAkLuXNf8hz5uR2flqQEeKfG5Kc7Z1DAQ + QNoBRtY0pltyK2y/Ip8cZ9cdxR5oLww67ykhY+eLy9tZLfKs6uWSq+2CV0cpNNQ9 + Sh8fSbkjb4+JkxWAHDOyAnwFxnxstMcW0cscOW7nXYDi5IpvvesJlk698un7bLhm + vCkAd+WiNuTGfs9t0r6FDDVDREBhNk1sLwIDAQAB + -----END RSA PUBLIC KEY----- + Ed25519PublicKey = sOD149OLZ2yUEjRpwbGdwHULKF2qNY3F+9AsEi1G0ZM + ''; + }; + }; + }; }; } From 6d51da9202791651b98d3139260884b24ed6b8ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 13 Oct 2021 19:51:31 +0200 Subject: [PATCH 06/85] mic92: non-colliding ip address for graham --- krebs/3modules/external/mic92.nix | 49 ++++++++++++++++--------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/krebs/3modules/external/mic92.nix b/krebs/3modules/external/mic92.nix index c3a0d42df..36f476db1 100644 --- a/krebs/3modules/external/mic92.nix +++ b/krebs/3modules/external/mic92.nix @@ -762,30 +762,6 @@ in { }; }; - graham = { - owner = config.krebs.users.mic92; - nets = rec { - retiolum = { - addrs = [ - config.krebs.hosts.graham.nets.retiolum.ip4.addr - config.krebs.hosts.graham.nets.retiolum.ip6.addr - ]; - ip4.addr = "10.243.29.196"; - aliases = [ "graham.r" ]; - tinc.pubkey = '' - -----BEGIN RSA PUBLIC KEY----- - MIIBCgKCAQEAtnM8VqFlEPLPYfKOZvN4kKklrVEyX4WewlqHO8vtxML9ND5BHCdn - UeRsThvbKVRqEvZLTAXKClZRYVr2IroHqfx0euTq3FYTUbNNQ4KgcFAfLKWoxGfK - HsQbYpS93/sUtmhRBGcgXPnEkE6yqvFBXxcmB1QqdmgYKdY2Gtikwrv/5hb4AlNe - /gyzKGtAKYogspLI6EpEwlD9CGDNIUPJ4uQ56gDhV/qtyMSE6X0igSSVZayDc+x1 - InPkH90xsa0/uXjYDnXNdMguLArGkRzMhd6DzK4vEaPFIX59yMX+tEj46rGY7xAI - gUZUI2codqY5Z93W5GC+ws34y0bpfeMMWwIDAQAB - -----END RSA PUBLIC KEY----- - Ed25519PublicKey = xMJNMMXZRCbWkN9CzLFohkGUK54dPcrrosFD7xgIFXA - ''; - }; - }; - }; ryan = { owner = config.krebs.users.mic92; @@ -811,5 +787,30 @@ in { }; }; }; + + graham = { + owner = config.krebs.users.mic92; + nets = rec { + retiolum = { + addrs = [ + config.krebs.hosts.graham.nets.retiolum.ip4.addr + config.krebs.hosts.graham.nets.retiolum.ip6.addr + ]; + ip4.addr = "10.243.29.199"; + aliases = [ "graham.r" ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIIBCgKCAQEAtnM8VqFlEPLPYfKOZvN4kKklrVEyX4WewlqHO8vtxML9ND5BHCdn + UeRsThvbKVRqEvZLTAXKClZRYVr2IroHqfx0euTq3FYTUbNNQ4KgcFAfLKWoxGfK + HsQbYpS93/sUtmhRBGcgXPnEkE6yqvFBXxcmB1QqdmgYKdY2Gtikwrv/5hb4AlNe + /gyzKGtAKYogspLI6EpEwlD9CGDNIUPJ4uQ56gDhV/qtyMSE6X0igSSVZayDc+x1 + InPkH90xsa0/uXjYDnXNdMguLArGkRzMhd6DzK4vEaPFIX59yMX+tEj46rGY7xAI + gUZUI2codqY5Z93W5GC+ws34y0bpfeMMWwIDAQAB + -----END RSA PUBLIC KEY----- + Ed25519PublicKey = xMJNMMXZRCbWkN9CzLFohkGUK54dPcrrosFD7xgIFXA + ''; + }; + }; + }; }; } From b13aaa3e6539a3b9c968e694d624baccf95157c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 14 Oct 2021 15:45:58 +0200 Subject: [PATCH 07/85] mic92: add maurice --- krebs/3modules/external/mic92.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/krebs/3modules/external/mic92.nix b/krebs/3modules/external/mic92.nix index 36f476db1..ec76273a6 100644 --- a/krebs/3modules/external/mic92.nix +++ b/krebs/3modules/external/mic92.nix @@ -812,5 +812,29 @@ in { }; }; }; + + maurice = { + owner = config.krebs.users.mic92; + nets = rec { + retiolum = { + addrs = [ + config.krebs.hosts.graham.nets.retiolum.ip4.addr + config.krebs.hosts.graham.nets.retiolum.ip6.addr + ]; + ip4.addr = "10.243.29.200"; + aliases = [ "maurice.r" ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIIBCgKCAQEAsLKBfPtZkjWGu6uitCV+4c5aQox2t4N8XNhY2mqE806XsYrqAC+y + d0oLOxRMUjfh9stDnEW/YRoLEKz9oZdRYd4eenP0Q3c3HdRFDBNCs27M5a8ysqZD + 5w9+B+9OfUmMv61NyKiaR6WtoGbE849cj1UNk1z04elshfU7h829D8QnD4j1A1gf + bOaNG+RzOP6qP/6Q30rxAiTxRPi+FhcHvxa33y1ZVobvnfGcJa+AzsTbgH9T9Yob + GuXFZvuQVSyWOLOgY/vVml904q8gScMpBesAsZJ7DEXxSTga0Rt99Ti3d9ABwBI5 + 1YabQlGLaAkrj3PMgrDyayzGBDDDva9fEQIDAQAB + -----END RSA PUBLIC KEY----- + ''; + }; + }; + }; }; } From db9f0d97ec35cc4673bdb9b0fb8b922891400357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 14 Oct 2021 15:49:08 +0200 Subject: [PATCH 08/85] mic92: fix ips of maurice --- krebs/3modules/external/mic92.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/3modules/external/mic92.nix b/krebs/3modules/external/mic92.nix index ec76273a6..c477eb6f1 100644 --- a/krebs/3modules/external/mic92.nix +++ b/krebs/3modules/external/mic92.nix @@ -818,8 +818,8 @@ in { nets = rec { retiolum = { addrs = [ - config.krebs.hosts.graham.nets.retiolum.ip4.addr - config.krebs.hosts.graham.nets.retiolum.ip6.addr + config.krebs.hosts.maurice.nets.retiolum.ip4.addr + config.krebs.hosts.maurice.nets.retiolum.ip6.addr ]; ip4.addr = "10.243.29.200"; aliases = [ "maurice.r" ]; From 04ec7f8e7deeed58ff687d609d5e24d56bb82645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 14 Oct 2021 16:08:20 +0200 Subject: [PATCH 09/85] mic92: add ed25519 for maurice --- krebs/3modules/external/mic92.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/krebs/3modules/external/mic92.nix b/krebs/3modules/external/mic92.nix index c477eb6f1..1f67bdfa6 100644 --- a/krebs/3modules/external/mic92.nix +++ b/krebs/3modules/external/mic92.nix @@ -832,6 +832,7 @@ in { GuXFZvuQVSyWOLOgY/vVml904q8gScMpBesAsZJ7DEXxSTga0Rt99Ti3d9ABwBI5 1YabQlGLaAkrj3PMgrDyayzGBDDDva9fEQIDAQAB -----END RSA PUBLIC KEY----- + Ed25519PublicKey = pkMuJ4kbyleQAdau+sfmLtzTuUy7uL+wwcgV/GWC7/N ''; }; }; From 0564414a3184960555a8146f78b36120e6ef0c21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 14 Oct 2021 17:32:22 +0200 Subject: [PATCH 10/85] mic92: add aenderpad --- krebs/3modules/external/mic92.nix | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/krebs/3modules/external/mic92.nix b/krebs/3modules/external/mic92.nix index 1f67bdfa6..b4e046303 100644 --- a/krebs/3modules/external/mic92.nix +++ b/krebs/3modules/external/mic92.nix @@ -256,6 +256,10 @@ in { okelmann = { owner = config.krebs.users.mic92; nets.retiolum = { + addrs = [ + config.krebs.hosts.okelmann.nets.retiolum.ip4.addr + config.krebs.hosts.okelmann.nets.retiolum.ip6.addr + ]; ip4.addr = "10.243.29.190"; aliases = [ "okelmann.r" @@ -275,6 +279,10 @@ in { aendernix = { owner = config.krebs.users.mic92; nets.retiolum = { + addrs = [ + config.krebs.hosts.aendernix.nets.retiolum.ip4.addr + config.krebs.hosts.aendernix.nets.retiolum.ip6.addr + ]; ip4.addr = "10.243.29.172"; aliases = [ "aendernix.r" @@ -296,6 +304,30 @@ in { ''; }; }; + aenderpad = { + owner = config.krebs.users.mic92; + nets.retiolum = { + addrs = [ + config.krebs.hosts.aenderpad.nets.retiolum.ip4.addr + config.krebs.hosts.aenderpad.nets.retiolum.ip6.addr + ]; + ip4.addr = "10.243.29.201"; + aliases = [ + "aendernix.r" + ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIIBCgKCAQEAvHSVUd6/5P2rK3s9iQhVrxkjufDIi0Kn04iVB4Z0TpUvnmFAP+Hv + d7umo95lNkAPL9c3byv4ooQjOskrp7GmgQRijLUvJSAZ9FBVWPAjMXs+gk9oJnQj + 6bovXJ3DurmW3h1ZRmkWn256j7g8lEMtf5LGFxs9Bwi4wqZTbI6DzTQhmNm76Spb + 2UMSzr9kDcNj5r6LDhDKEDtx4P1Opshgsf9AusV81N5nqDcvAYsvEqYoPvjKIPwF + 5jtfHY7hM7SdYoVgdAY8RFH7xuRkLQW4LBxPKjP3pEQPCgXcuEELm33PGr+w/vhC + jxeyKP+uSeuBBMSatTWG3kU8W2LxVML65QIDAQAB + -----END RSA PUBLIC KEY----- + Ed25519PublicKey = jC2UzKiUtWUlZF2ET88qM+Ot+GpoWxFFfpi8TCCr0uM + ''; + }; + }; dimitra = { owner = config.krebs.users.mic92; nets.retiolum = { From 679922a7831176089fe9e3ad62346b0e0bd4dcdd Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 15:15:54 +0200 Subject: [PATCH 11/85] Revert "rip Reaktor" This reverts commit 55b137ba525f075f4619de4676d3e66f782b1a12. --- .../simple/Reaktor/scripts/random-emoji.sh | 6 ++ .../simple/Reaktor/scripts/random-issue.sh | 20 +++++++ .../simple/Reaktor/scripts/sed-plugin.py | 58 +++++++++++++++++++ .../simple/Reaktor/scripts/shack-correct.sh | 6 ++ 4 files changed, 90 insertions(+) create mode 100755 krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh create mode 100755 krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh create mode 100755 krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py create mode 100755 krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh b/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh new file mode 100755 index 000000000..6f3dd4a3f --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh @@ -0,0 +1,6 @@ +#!/bin/sh +curl -sS http://emojicons.com/random | \ + grep data-text | \ + sed -n 's/.*>\(.*\)<\/textarea>/\1/p' | \ + head -n 1 | \ + xmlstarlet unesc diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh b/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh new file mode 100755 index 000000000..5c47c6156 --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh @@ -0,0 +1,20 @@ +#! /bin/sh +set -eu +# requires env: +# $state_dir +# $origin + +# in PATH: git,lentil,coreutils +subdir=`echo "$1" | tr -dc "[:alnum:]"` +name=`echo "$origin" | tr -dc "[:alnum:]"` +track="$state_dir/$name-checkout" +(if test -e "$track" ;then + cd "$track" + git fetch origin master + git reset --hard origin/master +else + git clone "$origin" "$track" +fi) >&2 + +cd "$track" +lentil "${subdir:-.}" -f csv | sed 1d | shuf | head -1 diff --git a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py new file mode 100755 index 000000000..4925b25bb --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 + +# Usage: +# _from=krebs state_dir=. python sed-plugin.py 'dick butt' +# _from=krebs state_dir=. python sed-plugin.py 's/t/l/g' +# > dick bull +import shelve +from os import environ +from os.path import join +from sys import argv +from time import sleep +import re + +# try to open the shelve file until it succeeds +while True: + try: + d = shelve.open( + join(environ['state_dir'], 'sed-plugin.shelve'), + writeback=True + ) + break + except: # noqa: E722 + sleep(0.2) +usr = environ['_from'] + + +def is_regex(line): + myre = re.compile(r'^s/(?:\\/|[^/])+/(?:\\/|[^/])*/[ig]?$') + return myre.match(line) + + +line = argv[1] + +if is_regex(line): + last = d.get(usr, None) + if last: + from subprocess import Popen, PIPE + p = Popen(['sed', line], stdin=PIPE, stdout=PIPE, stderr=PIPE) + so, se = p.communicate(bytes("{}\n".format(last), "UTF-8")) + if p.returncode: + print("something went wrong when trying to process your regex: {}".format(line.strip())) + ret = so.decode() + if len(ret) > 512: + print('message to long, skipped') + elif len(ret.split('\n')) > 5: + print('to many lines, skipped') + else: + if last.strip() != ret.strip(): + print("\x02{}\x02 meant: {}".format(usr, ret.strip())) + if ret: + d[usr] = ret + + else: + print("no last message") +else: + d[usr] = line + +d.close() diff --git a/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh b/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh new file mode 100755 index 000000000..d500b3cb3 --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh @@ -0,0 +1,6 @@ +#! /bin/sh +set -eu +printf "Sie meinten wohl \"" +echo -n $@ | sed 's/Shack/shack/g' +echo "\" check out https://wiki.shackspace.de/project/logo_and_ci#name_ci" +echo "${_from}--" From 0c15f3b6a7a216eec1fb1ba368da5c3ea4b43c5e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 16:12:58 +0200 Subject: [PATCH 12/85] l: disable tmpfs on /tmp --- lass/2configs/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix index eb38d0e97..1bcfb162c 100644 --- a/lass/2configs/default.nix +++ b/lass/2configs/default.nix @@ -89,8 +89,6 @@ with import ; services.timesyncd.enable = mkForce true; - boot.tmpOnTmpfs = true; - # multiple-definition-problem when defining environment.variables.EDITOR environment.extraInit = '' EDITOR=vim From d1a55f88766b72769e5f756f8b4724e13e1c6981 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 19:03:02 +0200 Subject: [PATCH 13/85] l coaxmetal.r: build with unstable --- lass/1systems/coaxmetal/source.nix | 23 ++++++++++++++++++++--- lass/krops.nix | 2 +- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lass/1systems/coaxmetal/source.nix b/lass/1systems/coaxmetal/source.nix index 0e2628b5b..7f335ec05 100644 --- a/lass/1systems/coaxmetal/source.nix +++ b/lass/1systems/coaxmetal/source.nix @@ -1,4 +1,21 @@ -{ lib, pkgs, ... }: -{ - nixpkgs.git.ref = lib.mkForce (lib.importJSON ../../../krebs/nixpkgs-unstable.json).rev; +{ lib, pkgs, test, ... }: let + npkgs = lib.importJSON ../../../krebs/nixpkgs-unstable.json; +in { + nixpkgs = lib.mkForce (if test then { derivation = let + rev = npkgs.rev; + sha256 = npkgs.sha256; + in '' + with import (builtins.fetchTarball { + url = "https://github.com/nixos/nixpkgs/archive/${rev}.tar.gz"; + sha256 = "${sha256}"; + }) {}; + pkgs.fetchFromGitHub { + owner = "nixos"; + repo = "nixpkgs"; + rev = "${rev}"; + sha256 = "${sha256}"; + } + ''; } else { + git.ref = npkgs.rev; + }); } diff --git a/lass/krops.nix b/lass/krops.nix index 128c9ee04..fe5c00f3d 100644 --- a/lass/krops.nix +++ b/lass/krops.nix @@ -24,7 +24,7 @@ }; }; } - (if (lib.pathExists (./. + "/1systems/${name}/source.nix")) && (! test) then + (if lib.pathExists (./. + "/1systems/${name}/source.nix") then import (./. + "/1systems/${name}/source.nix") { inherit lib pkgs test; } else {} From ddac84e9e6eb49805ad244829ea5add7370a7829 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 21:53:26 +0200 Subject: [PATCH 14/85] l green.r: make source.nix ci compatible --- lass/1systems/green/source.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lass/1systems/green/source.nix b/lass/1systems/green/source.nix index 48499c9db..cc7617f92 100644 --- a/lass/1systems/green/source.nix +++ b/lass/1systems/green/source.nix @@ -1,5 +1,4 @@ -{ lib, pkgs, ... }: -{ +{ lib, pkgs, test, ... }: +if test then { nixpkgs-unstable = lib.mkForce { file = "/var/empty"; }; - nixpkgs.git.shallow = true; -} +} else {} From bd8baec395d258cf9201ef243d4237f64aaef26b Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 22:02:15 +0200 Subject: [PATCH 15/85] l blue.r: don't delete nixpkgs-unstable in ci --- lass/1systems/blue/source.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lass/1systems/blue/source.nix b/lass/1systems/blue/source.nix index 2b4158211..2a4e1336b 100644 --- a/lass/1systems/blue/source.nix +++ b/lass/1systems/blue/source.nix @@ -1,5 +1,5 @@ { lib, pkgs, test, ... }: -{ +if test then { nixpkgs = lib.mkIf (! test) (lib.mkForce { file = { path = toString (pkgs.fetchFromGitHub { @@ -14,4 +14,4 @@ nixpkgs-unstable = lib.mkForce { file.path = "/var/empty"; }; -} +} else {} From 3ea4c8f5735cd99d8ede55d67deb51d44795db59 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 22:22:38 +0200 Subject: [PATCH 16/85] l: fix test sources --- lass/1systems/blue/source.nix | 4 ++-- lass/1systems/green/source.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lass/1systems/blue/source.nix b/lass/1systems/blue/source.nix index 2a4e1336b..0b2bf5f5b 100644 --- a/lass/1systems/blue/source.nix +++ b/lass/1systems/blue/source.nix @@ -1,5 +1,5 @@ { lib, pkgs, test, ... }: -if test then { +if test then {} else { nixpkgs = lib.mkIf (! test) (lib.mkForce { file = { path = toString (pkgs.fetchFromGitHub { @@ -14,4 +14,4 @@ if test then { nixpkgs-unstable = lib.mkForce { file.path = "/var/empty"; }; -} else {} +} diff --git a/lass/1systems/green/source.nix b/lass/1systems/green/source.nix index cc7617f92..da137e064 100644 --- a/lass/1systems/green/source.nix +++ b/lass/1systems/green/source.nix @@ -1,4 +1,4 @@ { lib, pkgs, test, ... }: -if test then { +if test then {} else { nixpkgs-unstable = lib.mkForce { file = "/var/empty"; }; -} else {} +} From 89b0f98b42c4258fbde902325bd5ba79034f98bd Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 00:01:17 +0200 Subject: [PATCH 17/85] l vim: make more minimal --- lass/2configs/vim.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/lass/2configs/vim.nix b/lass/2configs/vim.nix index 0e4ac5394..6c730efdd 100644 --- a/lass/2configs/vim.nix +++ b/lass/2configs/vim.nix @@ -5,16 +5,6 @@ let out = { environment.systemPackages = [ (hiPrio vim) - (pkgs.writeDashBin "govet" '' - go vet "$@" - '') - (hiPrio (pkgs.python3.withPackages (ps: [ - ps.python-language-server - ps.pyls-isort - ps.pyflakes - ps.flake8 - ps.yapf - ]))) ]; environment.etc.vimrc.source = vimrc; @@ -126,11 +116,7 @@ let ''; extra-runtimepath = concatMapStringsSep "," (pkg: "${pkg.rtp}") [ - pkgs.vimPlugins.ack-vim pkgs.vimPlugins.undotree - pkgs.vimPlugins.vim-go - pkgs.vimPlugins.fzf-vim - pkgs.vimPlugins.LanguageClient-neovim (pkgs.vimUtils.buildVimPlugin { name = "file-line-1.0"; src = pkgs.fetchFromGitHub { From e8aa5eb87e28f4b0c5b048b95abfea0bd9a927a0 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 09:53:11 +0200 Subject: [PATCH 18/85] nixpkgs: ce7a119 -> 95eed9b --- krebs/nixpkgs.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index bf2808dce..5be907d21 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,10 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "ce7a1190a0fa4ba3465b5f5471b08567060ca14c", - "date": "2021-10-08T11:14:43-05:00", - "path": "/nix/store/y01vzcdhna8pjvy3w2bz7nc9zqyylxg3-nixpkgs", - "sha256": "1zr1s9gp0h5g4arlba1bpb9yqfaaby5195ydm6a2psaxhm748li9", + "rev": "95eed9b64eee24975b880308065654fd059f22c3", + "date": "2021-10-23T23:27:41+02:00", + "path": "/nix/store/05rxgy84zni4bminfyyk4nkc4ccw91sz-nixpkgs", + "sha256": "1x59xdxh2vrnhh4j29nyq7npq70v178j5acdm2zsgamcagm3qif9", + "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false From 1c98e211ffcfad92e0d1bac835f3d6715756f957 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 09:54:04 +0200 Subject: [PATCH 19/85] nixpkgs-unstable: 70088dc -> 34ad3ff --- krebs/nixpkgs-unstable.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs-unstable.json b/krebs/nixpkgs-unstable.json index e464cb568..9a5c5386f 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,9 +1,10 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "70088dc29994c32f8520150e34c6e57e8453f895", - "date": "2021-10-07T22:46:35+08:00", - "path": "/nix/store/f0i4rdi62kkwa95v7ap8fzxybrikqi01-nixpkgs", - "sha256": "08ldqfh2cmbvf930yq9pv220sv83k9shq183935l5d8p61fxh5zr", + "rev": "34ad3ffe08adfca17fcb4e4a47bb5f3b113687be", + "date": "2021-10-21T10:14:45+08:00", + "path": "/nix/store/ga9jr8sgxlay545v6j6q2nfj7gih4ix3-nixpkgs", + "sha256": "02li241rz5668nfyp88zfjilxf0mr9yansa93fbl38hjwkhf3ix6", + "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false From f455668ff33d7555f8fe8d02ae9cf1b72cab596c Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 11:06:43 +0200 Subject: [PATCH 20/85] l: remove red.r morpheus.r uriel.r --- krebs/3modules/lass/default.nix | 97 ----------------------------- lass/1systems/morpheus/config.nix | 29 --------- lass/1systems/morpheus/physical.nix | 44 ------------- lass/1systems/red/config.nix | 28 --------- lass/1systems/red/physical.nix | 7 --- lass/1systems/uriel/config.nix | 47 -------------- lass/1systems/uriel/physical.nix | 59 ------------------ 7 files changed, 311 deletions(-) delete mode 100644 lass/1systems/morpheus/config.nix delete mode 100644 lass/1systems/morpheus/physical.nix delete mode 100644 lass/1systems/red/config.nix delete mode 100644 lass/1systems/red/physical.nix delete mode 100644 lass/1systems/uriel/config.nix delete mode 100644 lass/1systems/uriel/physical.nix diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 3419d806c..428691841 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -122,33 +122,6 @@ in { ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAsANFdMi825qWQXQbWLYuNZ6/fARt3lnh1KStQHQQMD"; syncthing.id = "QITFKYQ-VEPIPL2-AZIXHMD-BBT62ML-YHSB35A-BSUIBXS-QYMPFHW-M7XN2QU"; }; - uriel = { - monitoring = false; - cores = 1; - nets = { - retiolum = { - ip4.addr = "10.243.81.176"; - ip6.addr = r6 "1e1"; - aliases = [ - "uriel.r" - ]; - tinc.port = 0; - tinc.pubkey = '' - -----BEGIN RSA PUBLIC KEY----- - MIIBCgKCAQEAzw0pvoEmqeqiZrzSOPH0IT99gr1rrvMZbvabXoU4MAiVgGoGrkmR - duJkk8Fj12ftMc+Of1gnwDkFhRcfAKOeH1RSc4CTircWVq99WyecTwEZoaR/goQb - MND022kIBoG6NQNxv1Y5I1B/h7hfloMFEPym9oFtOAXoGhBY2vVl4g64NNz+RLME - m1RipLXKANAh6LRNPGPQCUYX4TVY2ZJVxM3CM1XdomUAdOYXJmWFyUg9NcIKaacx - uRrmuy7J9yFBcihZX5Y7NV361kINrpRmZYxJRf9cr0hb5EkJJ7bMIKQMEFQ5RnYo - u7MPGKD7aNHa6hLLCeIfJ5u0igVmSLh3pwIDAQAB - -----END RSA PUBLIC KEY----- - ''; - }; - }; - ssh.privkey.path = ; - ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBryIo/Waw8SWvlQ0+5I+Bd/dJgcMd6iPXtELS6gQXoc"; - secure = true; - }; mors = { cores = 2; nets = { @@ -418,38 +391,6 @@ in { ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5HyLyaIvVH0qHIQ4ciKhDiElhSqsK+uXcA6lTvL+5n"; syncthing.id = "EA76ZHP-DF2I3CJ-NNTFEUH-YGPQK5S-T7FQ6JA-BNQQUNC-GF2YL46-CKOZCQM"; }; - red = { - monitoring = false; - cores = 1; - nets = { - retiolum = { - ip4.addr = "10.243.0.13"; - ip6.addr = r6 "12ed"; - aliases = [ - "red.r" - ]; - tinc.port = 0; - tinc.pubkey = '' - -----BEGIN PUBLIC KEY----- - MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArAN/62V2MV18wsZ9VMTG - 4/cqsjvHlffAN8jYDq+GImgREvbiLlFhhHgxwKh0gcDTR8P1xX/00P3/fx/g5bRF - Te7LZT2AFmVFFFfx1n9NBweN/gG2/hzB9J8epbWLNT+RzpzHuAoREvDZ+jweSXaI - phdmQY2s36yrR3TAShqq0q4cwlXuHT00J+InDutM0mTftBQG/fvYkBhHOfq4WSY0 - FeMK7DTKNbsqQiKKQ/kvWi7KfTW0F0c7SDpi7BLwbQzP2WbogtGy9MIrw9ZhE6Ox - TVdAksPKw0TlYdb16X/MkbzBqTYbxFlmWzpMJABMxIVwAfQx3ZGYvJDdDXmQS2qa - mDN2xBb/5pj3fbfp4wbwWlRVSd/AJQtRvaNY24F+UsRJb0WinIguDI6oRZx7Xt8w - oYirKqqq1leb3EYUt8TMIXQsOw0/Iq+JJCwB+ZyLLGVNB19XOxdR3RN1JYeZANpE - cMSS3SdFGgZ//ZAdhIN5kw9yMeKo6Rnt+Vdz3vZWTuSVp/xYO3IMGXNGAdIWIwrJ - 7fwSl/rfXGG816h0sD46U0mxd+i68YOtHlzOKe+vMZ4/FJZYd/E5/IDQluV8HLwa - 5lODfZXUmfStdV+GDA9KVEGUP5xSkC3rMnir66NgHzKpIL002/g/HfGu7O3MrvpW - ng7AMvRv5vbsYcJBj2HUhKUCAwEAAQ== - -----END PUBLIC KEY----- - ''; - }; - }; - ssh.privkey.path = ; - ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKd/6eCR8yxC14zBJLIQgVa4Zbutv5yr2S8k08ztmBpp"; - }; yellow = { cores = 1; nets = { @@ -583,44 +524,6 @@ in { ci = false; syncthing.id = "PWKVXPB-JCNO6E4-KVIQ7CK-6FSOWHM-AWORMDU-HVVYLKW-44DQTYW-XZT7DQJ"; }; - morpheus = { - cores = 1; - nets = { - retiolum = { - ip4.addr = "10.243.0.19"; - ip6.addr = r6 "012f"; - aliases = [ - "morpheus.r" - ]; - tinc.port = 0; - tinc.pubkey = '' - -----BEGIN RSA PUBLIC KEY----- - MIICCgKCAgEAptrlSKQKsBH2QMQxllZR94S/fXneajpJifRjXR5bi+7ME2ThdQXY - T7yWiKaUuBJThWged9PdPltLUEMmv+ubQqpWHZq442VWSS36r1yMSGpUeKK+oYMN - /Sfu+1yC4m2uXno95wpJZIcDfbbn26jT6ldJ4Yd97zyrXKljvcdrz3wZzQq0tojh - S5Q59x/aQMJbnQpnlFnMIEVgULuFPW16+vPGsXIPdYNggaF1avcBaFl8i3M0EZVz - Swn4hArDynDJhR7M0QdlwOpOh7O+1iOnmXqqei3LxMVHb+YtzfHgxOPxggUsy7CR - bj9uBR9loGwgmZwaxXd1Vfbw8kn/feOb9FcW73u+SZyzwEA9HFRV0jGQe3P9mGfI - Bwe02DOTVXEB8jTAGCw5T3bXLIOX8kqdlCECuAWFfrt8H+GjZDuGUWRcMn32orMz - sMvkab95ZOHK6Q31mrhILOIOdyZWKPZIabL3HF6CZtu52h6MDHbmGS0w0OJYhj2+ - VnT9ZBoaeooVg8QOE43rCXvmL5vzhLKrj4s/53wTGG5SpzLs9Q9rrJVgAnz4YQ7j - 3Ov5q3Zxyr+vO6O7Pb5X49vCQw/jzK41S0/15GEmKcoxXemzeZCpX1mbeeTUtLvA - U7OJwldrElzictBJ1gT94L4BDvoGZVqAkXJCJPamfsWaiw6SsMqtTfECAwEAAQ== - -----END RSA PUBLIC KEY----- - ''; - }; - wiregrill = { - ip6.addr = w6 "012f"; - aliases = [ - "morpheus.w" - ]; - wireguard.pubkey = "BdiIHJjJQThmZD8DehxPGA+bboBHjljedwaRaV5yyDY="; - }; - }; - ssh.privkey.path = ; - ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHXS60mmNWMdMRvaPxGn91Cm/hm7zY8xn5rkI4n2KG/f "; - syncthing.id = "JS4RFIL-MJP2SMJ-EOQXCPQ-MC3NB4V-BQ77GN5-LPKGLWY-GHDP732-G22OJQQ"; - }; hilum = { cores = 1; nets = { diff --git a/lass/1systems/morpheus/config.nix b/lass/1systems/morpheus/config.nix deleted file mode 100644 index 79d4f528d..000000000 --- a/lass/1systems/morpheus/config.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ config, pkgs, ... }: -with import ; -{ - imports = [ - - - - - - ]; - - krebs.build.host = config.krebs.hosts.morpheus; - - networking.wireless.enable = false; - networking.networkmanager.enable = true; - - services.logind.lidSwitch = "ignore"; - services.logind.lidSwitchDocked = "ignore"; - - environment.systemPackages = with pkgs; [ - gitAndTools.hub - nix-review - firefox - ag - ]; - - services.openssh.forwardX11 = true; - programs.x2goserver.enable = true; -} diff --git a/lass/1systems/morpheus/physical.nix b/lass/1systems/morpheus/physical.nix deleted file mode 100644 index 6e59a2273..000000000 --- a/lass/1systems/morpheus/physical.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - imports = [ - ./config.nix - - ]; - - boot.loader.grub.enable = true; - boot.loader.grub.version = 2; - boot.loader.grub.efiSupport = true; - boot.loader.grub.efiInstallAsRemovable = true; - boot.loader.grub.device = "nodev"; - - networking.hostId = "06442b9a"; - - fileSystems."/" = { - device = "/dev/pool/root"; - fsType = "btrfs"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/1F60-17C6"; - fsType = "vfat"; - }; - - fileSystems."/home" = { - device = "/dev/pool/home"; - fsType = "btrfs"; - }; - - fileSystems."/tmp" = { - device = "tmpfs"; - fsType = "tmpfs"; - options = ["nosuid" "nodev" "noatime"]; - }; - boot.initrd.luks = { - cryptoModules = [ "aes" "sha512" "sha1" "xts" ]; - devices.luksroot.device = "/dev/nvme0n1p3"; - }; - - services.udev.extraRules = '' - SUBSYSTEM=="net", ATTR{address}=="f8:59:71:a9:05:65", NAME="wl0" - SUBSYSTEM=="net", ATTR{address}=="54:e1:ad:4f:06:83", NAME="et0" - ''; -} diff --git a/lass/1systems/red/config.nix b/lass/1systems/red/config.nix deleted file mode 100644 index 3139e94a2..000000000 --- a/lass/1systems/red/config.nix +++ /dev/null @@ -1,28 +0,0 @@ -with import ; -{ config, lib, pkgs, ... }: -let - inherit (import {inherit lib pkgs;}) - servephpBB - ; -in -{ - imports = [ - - - - - - (servephpBB [ "rote-allez-fraktion.de" ]) - ]; - - krebs.iptables.tables.filter.INPUT.rules = [ - { predicate = "-p tcp --dport 80"; target = "ACCEPT"; } - ]; - - krebs.build.host = config.krebs.hosts.red; - - services.nginx.enable = true; - environment.systemPackages = [ - pkgs.mk_sql_pair - ]; -} diff --git a/lass/1systems/red/physical.nix b/lass/1systems/red/physical.nix deleted file mode 100644 index b6aa3a894..000000000 --- a/lass/1systems/red/physical.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./config.nix - ]; - boot.isContainer = true; - networking.useDHCP = false; -} diff --git a/lass/1systems/uriel/config.nix b/lass/1systems/uriel/config.nix deleted file mode 100644 index c3ce8fced..000000000 --- a/lass/1systems/uriel/config.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ config, pkgs, ... }: - -with builtins; -with import ; -{ - imports = [ - - - - { - # locke config - i18n.defaultLocale ="de_DE.UTF-8"; - time.timeZone = "Europe/Berlin"; - services.xserver.enable = true; - services.xserver.libinput.enable = false; - users.users.locke = { - uid = genid "locke"; - home = "/home/locke"; - group = "users"; - createHome = true; - extraGroups = [ - "audio" - "networkmanager" - ]; - useDefaultShell = true; - isNormalUser = true; - }; - networking.networkmanager.enable = true; - hardware.pulseaudio = { - enable = true; - systemWide = true; - }; - environment.systemPackages = with pkgs; [ - pavucontrol - firefox - hexchat - networkmanagerapplet - ]; - services.xserver.desktopManager.xfce = { - enable = true; - }; - } - ]; - - krebs.build.host = config.krebs.hosts.uriel; - nixpkgs.config.allowUnfree = true; -} diff --git a/lass/1systems/uriel/physical.nix b/lass/1systems/uriel/physical.nix deleted file mode 100644 index 82a088643..000000000 --- a/lass/1systems/uriel/physical.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ - imports = [ - ./config.nix - ]; - - hardware.enableRedistributableFirmware = true; - boot = { - #kernelParams = [ - # "acpi.brightness_switch_enabled=0" - #]; - #loader.grub.enable = true; - #loader.grub.version = 2; - #loader.grub.device = "/dev/sda"; - - loader.systemd-boot.enable = true; - loader.timeout = 5; - - initrd.luks.devices.luksroot.device = "/dev/sda2"; - initrd.luks.cryptoModules = [ "aes" "sha512" "sha1" "xts" ]; - initrd.availableKernelModules = [ "xhci_hcd" "ehci_pci" "ahci" "usb_storage" ]; - #kernelModules = [ "kvm-intel" "msr" ]; - kernelModules = [ "msr" ]; - }; - fileSystems = { - "/" = { - device = "/dev/pool/root"; - fsType = "ext4"; - }; - - "/bku" = { - device = "/dev/pool/bku"; - fsType = "ext4"; - }; - - "/boot" = { - device = "/dev/sda1"; - }; - "/tmp" = { - device = "tmpfs"; - fsType = "tmpfs"; - options = ["nosuid" "nodev" "noatime"]; - }; - }; - - services.udev.extraRules = '' - SUBSYSTEM=="net", ATTR{address}=="64:27:37:7d:d8:ae", NAME="wl0" - SUBSYSTEM=="net", ATTR{address}=="f0:de:f1:b8:c8:2e", NAME="et0" - ''; - - services.xserver.synaptics = { - enable = true; - twoFingerScroll = true; - accelFactor = "0.035"; - additionalOptions = '' - Option "FingerHigh" "60" - Option "FingerLow" "60" - ''; - }; -} From 0bd6a8878d6e5c56a8905a709687f04735886c55 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 12:33:33 +0200 Subject: [PATCH 21/85] l green-host: use echelon.r instead of morpheus.r --- lass/2configs/green-host.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lass/2configs/green-host.nix b/lass/2configs/green-host.nix index 355daba9c..4d2a219ec 100644 --- a/lass/2configs/green-host.nix +++ b/lass/2configs/green-host.nix @@ -6,12 +6,12 @@ ]; krebs.sync-containers.containers.green = { peers = [ + "echelon" "icarus" + "littleT" + "mors" "shodan" "skynet" - "mors" - "morpheus" - "littleT" "styx" ]; hostIp = "10.233.2.15"; From 2b0d7851048b208fdbcdd2d854beb2ab9d68155f Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 12:33:48 +0200 Subject: [PATCH 22/85] l green-host: prune backups --- lass/2configs/green-host.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lass/2configs/green-host.nix b/lass/2configs/green-host.nix index 4d2a219ec..a83ed0544 100644 --- a/lass/2configs/green-host.nix +++ b/lass/2configs/green-host.nix @@ -25,5 +25,9 @@ repo = "/var/lib/sync-containers/green/backup"; compression = "auto,lzma"; startAt = "daily"; + prune.keep = { + daily = 7; + weekly = 4; + }; }; } From a1855823dec36034ba3eb7e6350dbd7496d2b93b Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 12:53:02 +0200 Subject: [PATCH 23/85] l murmur: pin version, use new nginx options --- lass/2configs/murmur.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lass/2configs/murmur.nix b/lass/2configs/murmur.nix index 9f325d0af..7cc4051a8 100644 --- a/lass/2configs/murmur.nix +++ b/lass/2configs/murmur.nix @@ -16,7 +16,7 @@ StandardError = lib.mkForce "journal"; }; virtualisation.oci-containers.containers.mumble-web = { - image = "rankenstein/mumble-web"; + image = "rankenstein/mumble-web:0.5"; environment = { MUMBLE_SERVER = "lassul.us:64738"; }; @@ -28,12 +28,9 @@ services.nginx.virtualHosts."mumble.lassul.us" = { enableACME = true; forceSSL = true; - locations."/".extraConfig = '' - proxy_pass http://localhost:64739/; - proxy_set_header Accept-Encoding ""; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - ''; + locations."/" = { + proxyPass = "http://localhost:64739"; + proxyWebsockets = true; + }; }; } From 60fe1fed15a1759b9bc7c14ea9d39c9cb13b7855 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 13:24:04 +0200 Subject: [PATCH 24/85] l klem module: reference grep directly --- lass/3modules/klem.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/3modules/klem.nix b/lass/3modules/klem.nix index a297adcd1..8536d967d 100644 --- a/lass/3modules/klem.nix +++ b/lass/3modules/klem.nix @@ -38,7 +38,7 @@ in { # match filetype against patterns ${concatMapStringsSep "\n" (script: '' ${pkgs.xclip}/bin/xclip -selection clipboard -target TARGETS -out \ - | grep -q '${script.target}' + | ${pkgs.gnugrep}/bin/grep -q '${script.target}' if [ $? -eq 0 ]; then labels="$labels:${script.label}" fi From 4c15270e18861dd84036d776dd3143a74f7ea9b2 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 16:54:23 +0200 Subject: [PATCH 25/85] l prism.r: remove ts3 server --- lass/1systems/prism/config.nix | 1 - lass/2configs/ts3.nix | 19 ------------------- 2 files changed, 20 deletions(-) delete mode 100644 lass/2configs/ts3.nix diff --git a/lass/1systems/prism/config.nix b/lass/1systems/prism/config.nix index d43fb804a..356b8d182 100644 --- a/lass/1systems/prism/config.nix +++ b/lass/1systems/prism/config.nix @@ -112,7 +112,6 @@ with import ; }; } - diff --git a/lass/2configs/ts3.nix b/lass/2configs/ts3.nix deleted file mode 100644 index d0cfdf478..000000000 --- a/lass/2configs/ts3.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, ... }: - -{ - services.teamspeak3 = { - enable = true; - }; - - krebs.iptables.tables.filter.INPUT.rules = [ - #voice port - { predicate = "-p tcp --dport 9987"; target = "ACCEPT"; } - { predicate = "-p udp --dport 9987"; target = "ACCEPT"; } - ##file transfer port - { predicate = "-p tcp --dport 30033"; target = "ACCEPT"; } - { predicate = "-p udp --dport 30033"; target = "ACCEPT"; } - ##query port - #{ predicate = "-p tcp --dport 10011"; target = "ACCEPT"; } - #{ predicate = "-p udp --dport 10011"; target = "ACCEPT"; } - ]; -} From 566951d3f0aa9fcc64df3ef5d7bf1fcf0eff04ab Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 16:58:08 +0200 Subject: [PATCH 26/85] l prism.r: fix mdmonitor service error --- lass/1systems/prism/config.nix | 10 -------- lass/1systems/prism/physical.nix | 6 +++++ lass/2configs/bepasty.nix | 44 -------------------------------- 3 files changed, 6 insertions(+), 54 deletions(-) delete mode 100644 lass/2configs/bepasty.nix diff --git a/lass/1systems/prism/config.nix b/lass/1systems/prism/config.nix index 356b8d182..45f9ae00e 100644 --- a/lass/1systems/prism/config.nix +++ b/lass/1systems/prism/config.nix @@ -123,16 +123,6 @@ with import ; - { # quasi bepasty.nix - imports = [ - - ]; - krebs.bepasty.servers."paste.r".nginx.extraConfig = '' - if ( $server_addr = "${config.krebs.build.host.nets.internet.ip4.addr}" ) { - return 403; - } - ''; - } { services.tor = { enable = true; diff --git a/lass/1systems/prism/physical.nix b/lass/1systems/prism/physical.nix index 1a3bee850..26ecd1cda 100644 --- a/lass/1systems/prism/physical.nix +++ b/lass/1systems/prism/physical.nix @@ -65,6 +65,12 @@ fsType = "ext4"; }; + # silence mdmonitor.service failures + # https://github.com/NixOS/nixpkgs/issues/72394 + environment.etc."mdadm.conf".text = '' + MAILADDR root + ''; + nix.maxJobs = lib.mkDefault 8; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; diff --git a/lass/2configs/bepasty.nix b/lass/2configs/bepasty.nix deleted file mode 100644 index 9bd416c05..000000000 --- a/lass/2configs/bepasty.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ config, pkgs, ... }: -with import ; - -# secrets used: -# wildcard.krebsco.de.crt -# wildcard.krebsco.de.key -# bepasty-secret.nix <- contains single string - -with import ; -let - secKey = import ; - ext-doms = [ - "paste.lassul.us" - "paste.krebsco.de" - ]; -in { - - services.nginx.enable = mkDefault true; - krebs.bepasty = { - enable = true; - serveNginx= true; - - servers = { - "paste.r" = { - nginx = { - serverAliases = [ - "paste.${config.krebs.build.host.name}" - "paste.r" - ]; - }; - defaultPermissions = "admin,list,create,read,delete"; - secretKey = secKey; - }; - } // - genAttrs ext-doms (ext-dom: { - nginx = { - forceSSL = true; - enableACME = true; - }; - defaultPermissions = "read,create"; - secretKey = secKey; - }); - }; -} From 4fa8f74fc049e6856cb0f9cedbba3ca26ca1e695 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 18:25:11 +0200 Subject: [PATCH 27/85] solanum: use upstream service --- krebs/2configs/ircd.nix | 6 +-- krebs/3modules/default.nix | 1 - krebs/3modules/solanum.nix | 104 ------------------------------------- 3 files changed, 3 insertions(+), 108 deletions(-) delete mode 100644 krebs/3modules/solanum.nix diff --git a/krebs/2configs/ircd.nix b/krebs/2configs/ircd.nix index d26aa5962..904878731 100644 --- a/krebs/2configs/ircd.nix +++ b/krebs/2configs/ircd.nix @@ -1,13 +1,13 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { networking.firewall.allowedTCPPorts = [ 6667 6669 ]; - systemd.services.solanum.serviceConfig.LimitNOFILE = 16384; + systemd.services.solanum.serviceConfig.LimitNOFILE = lib.mkForce 16384; - krebs.solanum = { + services.solanum = { enable = true; motd = '' hello diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix index 149995a23..24b17487b 100644 --- a/krebs/3modules/default.nix +++ b/krebs/3modules/default.nix @@ -50,7 +50,6 @@ let ./secret.nix ./setuid.nix ./shadow.nix - ./solanum.nix ./sync-containers.nix ./tinc.nix ./tinc_graphs.nix diff --git a/krebs/3modules/solanum.nix b/krebs/3modules/solanum.nix deleted file mode 100644 index 9094d1003..000000000 --- a/krebs/3modules/solanum.nix +++ /dev/null @@ -1,104 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - inherit (lib) mkEnableOption mkIf mkOption singleton types; - inherit (pkgs) coreutils solanum; - cfg = config.krebs.solanum; - - configFile = pkgs.writeText "solanum.conf" '' - ${cfg.config} - ''; -in - -{ - - ###### interface - - options = { - - krebs.solanum = { - - enable = mkEnableOption "Solanum IRC daemon"; - - config = mkOption { - type = types.str; - description = '' - Solanum IRC daemon configuration file. - ''; - }; - - statedir = mkOption { - type = types.path; - default = "/var/lib/solanum"; - description = '' - Location of the state directory of solanum. - ''; - }; - - user = mkOption { - type = types.str; - default = "ircd"; - description = '' - Solanum IRC daemon user. - ''; - }; - - group = mkOption { - type = types.str; - default = "ircd"; - description = '' - Solanum IRC daemon group. - ''; - }; - - motd = mkOption { - type = types.nullOr types.lines; - default = null; - description = '' - Solanum MOTD text. - - Solanum will read its MOTD from /etc/solanum/ircd.motd . - If set, the value of this option will be written to this path. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf cfg.enable (lib.mkMerge [ - { - users.users.${cfg.user} = { - description = "Solanum IRC daemon user"; - uid = config.ids.uids.ircd; - group = cfg.group; - }; - - users.groups.${cfg.group} = { - gid = config.ids.gids.ircd; - }; - - systemd.tmpfiles.rules = [ - "d ${cfg.statedir} - ${cfg.user} ${cfg.group} - -" - ]; - - systemd.services.solanum = { - description = "Solanum IRC daemon"; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - ExecStart = "${solanum}/bin/solanum -foreground -logfile /dev/stdout -configfile ${configFile} -pidfile ${cfg.statedir}/ircd.pid"; - Group = cfg.group; - User = cfg.user; - }; - }; - - } - - (mkIf (cfg.motd != null) { - environment.etc."solanum/ircd.motd".text = cfg.motd; - }) - ]); -} From 6e61a2d9fca6cf8d13f5e9be9345dfe861b9022e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 18:27:58 +0200 Subject: [PATCH 28/85] sync-containers module: make chmod failsafe --- krebs/3modules/sync-containers.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krebs/3modules/sync-containers.nix b/krebs/3modules/sync-containers.nix index fcfaf1dd0..e47f9a3a7 100644 --- a/krebs/3modules/sync-containers.nix +++ b/krebs/3modules/sync-containers.nix @@ -94,7 +94,7 @@ in { programs.fuse.userAllowOther = true; # allow syncthing to enter /var/lib/containers system.activationScripts.containers-enter = mkDefault '' - ${pkgs.coreutils}/bin/chmod a+x /var/lib/containers + ${pkgs.coreutils}/bin/chmod a+x /var/lib/containers || : ''; services.syncthing.declarative.folders = (mapAttrs' (_: ctr: nameValuePair "${(paths ctr.name).${ctr.format}}" ({ From 9a74f25e56b940748950eab0d8b1e0bc95d5f95d Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 19:53:43 +0200 Subject: [PATCH 29/85] l mpv: use yt-dlp --- lass/2configs/mpv.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lass/2configs/mpv.nix b/lass/2configs/mpv.nix index 210551a62..854af3eb5 100644 --- a/lass/2configs/mpv.nix +++ b/lass/2configs/mpv.nix @@ -80,7 +80,12 @@ let name = "mpv"; paths = [ (pkgs.writeDashBin "mpv" '' - exec ${pkgs.mpv}/bin/mpv -vo=gpu --no-config --script=${autosub} "$@" + exec ${pkgs.mpv}/bin/mpv \ + -vo=gpu \ + --no-config \ + --script=${autosub} \ + --script-opts=ytdl_hook-ytdl_path=${pkgs.yt-dlp}/bin/yt-dlp \ + "$@" '') pkgs.mpv ]; From d8f72378dcbc925b0256e103828baa9ee186cce7 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 19:58:34 +0200 Subject: [PATCH 30/85] l domsen: add roundcube at mail.lassul.us --- krebs/3modules/lass/default.nix | 1 + lass/2configs/websites/domsen.nix | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 428691841..95669c243 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -48,6 +48,7 @@ in { jitsi 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} streaming 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} mumble 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} + mail 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} ''; }; nets = rec { diff --git a/lass/2configs/websites/domsen.nix b/lass/2configs/websites/domsen.nix index 40f67537e..c67451eac 100644 --- a/lass/2configs/websites/domsen.nix +++ b/lass/2configs/websites/domsen.nix @@ -117,6 +117,13 @@ in { # workaround for android 7 security.acme.certs."lassul.us".keyType = "rsa4096"; + services.roundcube = { + enable = true; + hostName = "mail.lassul.us"; + extraConfig = '' + $config['smtp_port'] = 25; + ''; + }; services.dovecot2 = { enable = true; mailLocation = "maildir:~/Mail"; From 2e9b241e868c17a3b29d782960d24437fd9bee2a Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 20:05:08 +0200 Subject: [PATCH 31/85] l domsen: use default php --- lass/2configs/websites/domsen.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lass/2configs/websites/domsen.nix b/lass/2configs/websites/domsen.nix index c67451eac..c434955b8 100644 --- a/lass/2configs/websites/domsen.nix +++ b/lass/2configs/websites/domsen.nix @@ -82,7 +82,6 @@ in { "o_ubikmedia_de" ]; - services.phpfpm.phpPackage = pkgs.php73; services.phpfpm.phpOptions = '' sendmail_path = ${sendmail} -t upload_max_filesize = 100M From 6300cb0166a87311fbe6683cd840daa8f2ad3a8e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 20:08:16 +0200 Subject: [PATCH 32/85] l domsen: fix exim authenticator permissions --- lass/2configs/websites/domsen.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/websites/domsen.nix b/lass/2configs/websites/domsen.nix index c434955b8..3bb9ad4f8 100644 --- a/lass/2configs/websites/domsen.nix +++ b/lass/2configs/websites/domsen.nix @@ -144,7 +144,7 @@ in { driver = plaintext public_name = LOGIN server_prompts = "Username:: : Password::" - server_condition = ''${run{${config.lass.usershadow.path}/bin/verify_arg ${config.lass.usershadow.pattern} $auth1 $auth2}{yes}{no}} + server_condition = ''${run{/run/wrappers/bin/shadow_verify_arg ${config.lass.usershadow.pattern} $auth1 $auth2}{yes}{no}} ''; internet-aliases = [ { from = "dma@ubikmedia.de"; to = "domsen"; } From 3bde0ed639ed6661f1e4e7fba07a172c8db855dd Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 20:09:20 +0200 Subject: [PATCH 33/85] l domsen: add line user --- lass/2configs/websites/domsen.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lass/2configs/websites/domsen.nix b/lass/2configs/websites/domsen.nix index 3bb9ad4f8..3f055e370 100644 --- a/lass/2configs/websites/domsen.nix +++ b/lass/2configs/websites/domsen.nix @@ -323,6 +323,15 @@ in { isNormalUser = true; }; + users.users.line = { + uid = genid_uint31 "line"; + home = "/home/line"; + useDefaultShell = true; + # extraGroups = [ "xanf" ]; + createHome = true; + isNormalUser = true; + }; + users.groups.xanf = {}; krebs.on-failure.plans.restic-backups-domsen = { From 0f9c6ee7383c52922b9f7ce06b2360806d9de045 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 20:09:51 +0200 Subject: [PATCH 34/85] news.r, puyak.r: use dynamic tinc port --- krebs/3modules/krebs/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/krebs/3modules/krebs/default.nix b/krebs/3modules/krebs/default.nix index c05409fe9..ec499d63d 100644 --- a/krebs/3modules/krebs/default.nix +++ b/krebs/3modules/krebs/default.nix @@ -105,6 +105,7 @@ in { "go.r" "rss.r" ]; + tinc.port = 0; tinc.pubkey = '' -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9PY6t6P1ytgo8qYL2QDc @@ -165,6 +166,7 @@ in { "build.puyak.r" "cgit.puyak.r" ]; + tinc.port = 0; tinc.pubkey = '' -----BEGIN RSA PUBLIC KEY----- MIIBCgKCAQEAwwDvaVKSJmAi1fpbsmjLz1DQVTgqnx56GkHKbz5sHwAfPVQej955 From 9fc5849786a82c4cd5bec695d6f9086237a597df Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 20:15:45 +0200 Subject: [PATCH 35/85] pkgs.htgen-cyberlocker: fix erronous response --- .../simple/htgen-cyberlocker/src/htgen-cyberlocker | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker b/krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker index ab9c4e8e3..5ca0ddd3e 100644 --- a/krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker +++ b/krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker @@ -1,3 +1,10 @@ +emptyok_response() {( + printf "HTTP/1.1 204 OK\r\n" + printf 'Connection: close\r\n' + printf 'Server: %s\r\n' "$Server" + printf '\r\n' +)} + delete_response() { jq -n -r \ --arg server "$Server" \ @@ -44,7 +51,10 @@ read_uri() { } uri=$(read_uri "$Request_URI") -path=$(jq -nr --argjson uri "$uri" '$uri.path') +path=$(jq -nr --argjson uri "$uri" ' + $uri.path | + gsub("/+"; "/") +') case "$Method $path" in 'POST /'*|'PUT /'*) @@ -57,6 +67,8 @@ case "$Method $path" in mkdir -v -p $STATEDIR/items >&2 cp -v $content $item >&2 + + emptyok_response exit ;; 'GET /'*) From 6ad567a18ed27b8c07bd79e045ac082f1dfe148e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 20:17:32 +0200 Subject: [PATCH 36/85] pkgs.nomads-cloud: put tmpfiles into tmpdir --- krebs/5pkgs/simple/nomads-cloud/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/5pkgs/simple/nomads-cloud/default.nix b/krebs/5pkgs/simple/nomads-cloud/default.nix index 97cf10d1f..cc9e7a964 100644 --- a/krebs/5pkgs/simple/nomads-cloud/default.nix +++ b/krebs/5pkgs/simple/nomads-cloud/default.nix @@ -1,10 +1,10 @@ { writers, coreutils, grib2json, curl, jq, findutils, imagemagick }: writers.writeDashBin "nomads-cloud" '' prefix=$(mktemp -d) - grib_path=$prefix.grib - json_path=$prefix.json - pgm_path=$prefix.pgm - png_path="$1" + grib_path=$prefix/clouds.grib + json_path=$prefix/clouds.json + pgm_path=$prefix/clouds.pgm + png_path=$1 mkdir -p "$prefix" From ee50871bd10676e26b280084417bcbc9963ffe70 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 20:34:17 +0200 Subject: [PATCH 37/85] l coaxmetal.r: force only git.ref --- lass/1systems/coaxmetal/source.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lass/1systems/coaxmetal/source.nix b/lass/1systems/coaxmetal/source.nix index 7f335ec05..abbf26c75 100644 --- a/lass/1systems/coaxmetal/source.nix +++ b/lass/1systems/coaxmetal/source.nix @@ -1,7 +1,7 @@ { lib, pkgs, test, ... }: let npkgs = lib.importJSON ../../../krebs/nixpkgs-unstable.json; in { - nixpkgs = lib.mkForce (if test then { derivation = let + nixpkgs = (if test then lib.mkForce ({ derivation = let rev = npkgs.rev; sha256 = npkgs.sha256; in '' @@ -15,7 +15,7 @@ in { rev = "${rev}"; sha256 = "${sha256}"; } - ''; } else { - git.ref = npkgs.rev; + ''; }) else { + git.ref = lib.mkForce npkgs.rev; }); } From ff39fb0d1f436e1587c71ffa1feb462fd4d784e6 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 21:35:54 +0200 Subject: [PATCH 38/85] l echelon.r: import green-host --- lass/1systems/coaxmetal/config.nix | 2 +- lass/1systems/echelon/config.nix | 3 +++ lass/2configs/prism-mounts/samba.nix | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 lass/2configs/prism-mounts/samba.nix diff --git a/lass/1systems/coaxmetal/config.nix b/lass/1systems/coaxmetal/config.nix index 227c5e1e9..0e6bddf5e 100644 --- a/lass/1systems/coaxmetal/config.nix +++ b/lass/1systems/coaxmetal/config.nix @@ -16,7 +16,7 @@ - # + diff --git a/lass/1systems/echelon/config.nix b/lass/1systems/echelon/config.nix index 9e72916b3..eacdff782 100644 --- a/lass/1systems/echelon/config.nix +++ b/lass/1systems/echelon/config.nix @@ -5,10 +5,13 @@ + + ]; krebs.build.host = config.krebs.hosts.echelon; boot.tmpOnTmpfs = true; + } diff --git a/lass/2configs/prism-mounts/samba.nix b/lass/2configs/prism-mounts/samba.nix new file mode 100644 index 000000000..4b1475ef3 --- /dev/null +++ b/lass/2configs/prism-mounts/samba.nix @@ -0,0 +1,15 @@ +{ + fileSystems."/mnt/prism" = { + device = "//prism.r/public"; + fsType = "cifs"; + options = [ + "guest" + "nofail" + "noauto" + "ro" + "x-systemd.automount" + "x-systemd.device-timeout=1" + "x-systemd.idle-timeout=1min" + ]; + }; + } From 4596a2840b6a5c04acd4c2aa05280e425074c34e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 24 Oct 2021 22:15:02 +0200 Subject: [PATCH 39/85] l pass: add remote unlock command --- lass/2configs/pass.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lass/2configs/pass.nix b/lass/2configs/pass.nix index 48070ea06..8ec3ac092 100644 --- a/lass/2configs/pass.nix +++ b/lass/2configs/pass.nix @@ -4,7 +4,15 @@ users.users.mainUser.packages = with pkgs; [ (pass.withExtensions (ext: [ ext.pass-otp ])) gnupg + (pkgs.writers.writeDashBin "unlock" '' + set -efu + HOST=$1 + + pw=$(pass show "admin/$HOST/luks") + torify sshn root@$(pass "hosts/$HOST/initrd/hostname") "echo $pw > /crypt-ramfs/passphrase" + '') ]; programs.gnupg.agent.enable = true; + } From 703cdd24b2680f7ea3204cc3bed6bfe68ed006ce Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:03:15 +0200 Subject: [PATCH 40/85] l blue: remove chat stuff --- lass/2configs/blue.nix | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/lass/2configs/blue.nix b/lass/2configs/blue.nix index 15408a200..7890743bf 100644 --- a/lass/2configs/blue.nix +++ b/lass/2configs/blue.nix @@ -30,43 +30,6 @@ with (import ); { predicate = "-i wiregrill -p tcp --dport imap"; target = "ACCEPT";} ]; - systemd.services.chat = let - tmux = pkgs.writeDash "tmux" '' - exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" '' - set-option -g prefix ` - unbind-key C-b - bind ` send-prefix - - set-option -g status off - set-option -g default-terminal screen-256color - - #use session instead of windows - bind-key c new-session - bind-key p switch-client -p - bind-key n switch-client -n - bind-key C-s switch-client -l - ''} "$@" - ''; - in { - description = "chat environment setup"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - - restartIfChanged = false; - - path = [ - pkgs.rxvt_unicode.terminfo - ]; - - serviceConfig = { - User = "lass"; - RemainAfterExit = true; - Type = "oneshot"; - ExecStart = "${tmux} -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat"; - ExecStop = "${tmux} kill-session -t IM"; - }; - }; - services.dovecot2 = { enable = true; mailLocation = "maildir:~/Maildir"; From 128b2a228479de5cf8c1c2f8f9c0a5a662f85db1 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:20:51 +0200 Subject: [PATCH 41/85] l IM: add weechat to system PATH --- lass/2configs/IM.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/IM.nix b/lass/2configs/IM.nix index 5108f6bc1..5b8cebf5c 100644 --- a/lass/2configs/IM.nix +++ b/lass/2configs/IM.nix @@ -30,7 +30,7 @@ in { imports = [ ./bitlbee.nix ]; - environment.systemPackages = [ tmux ]; + environment.systemPackages = [ tmux weechat ]; systemd.services.chat = { description = "chat environment setup"; after = [ "network.target" ]; From 64387bbb9a3f41b5b0c0951c9e70b2d57227e1b3 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:21:41 +0200 Subject: [PATCH 42/85] l binary-cache: set priority behind cache.nixos.org --- lass/2configs/binary-cache/server.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lass/2configs/binary-cache/server.nix b/lass/2configs/binary-cache/server.nix index 101dd045f..baa891821 100644 --- a/lass/2configs/binary-cache/server.nix +++ b/lass/2configs/binary-cache/server.nix @@ -29,6 +29,13 @@ locations."/".extraConfig = '' proxy_pass http://localhost:${toString config.services.nix-serve.port}; ''; + locations."= /nix-cache-info".extraConfig = '' + alias ${pkgs.writeText "cache-info" '' + StoreDir: /nix/store + WantMassQuery: 1 + Priority: 42 + ''}; + ''; }; virtualHosts."cache.krebsco.de" = { forceSSL = true; From 11d70bd4bf722beb805a3bbdff92a358b1d29898 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:22:12 +0200 Subject: [PATCH 43/85] l blue: remove more legacy stuff --- lass/2configs/blue.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/lass/2configs/blue.nix b/lass/2configs/blue.nix index 7890743bf..28c7d640d 100644 --- a/lass/2configs/blue.nix +++ b/lass/2configs/blue.nix @@ -2,16 +2,13 @@ with (import ); { config, lib, pkgs, ... }: { - imports = [ - ./bitlbee.nix ./mail.nix ./pass.nix ]; environment.systemPackages = with pkgs; [ ag - brain dic nmap git-preview From 0442dacdb75099c639191521f926d349aea16a45 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:23:03 +0200 Subject: [PATCH 44/85] l: deprecate mors key --- lass/2configs/default.nix | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix index 1bcfb162c..5a9428322 100644 --- a/lass/2configs/default.nix +++ b/lass/2configs/default.nix @@ -19,10 +19,9 @@ with import ; users.extraUsers = { root = { openssh.authorizedKeys.keys = [ - config.krebs.users.lass-mors.pubkey + config.krebs.users.lass.pubkey config.krebs.users.lass-blue.pubkey config.krebs.users.lass-green.pubkey - config.krebs.users.lass-yubikey.pubkey ]; }; mainUser = { @@ -35,25 +34,17 @@ with import ; isNormalUser = true; extraGroups = [ "audio" + "video" "fuse" "wheel" ]; openssh.authorizedKeys.keys = [ - config.krebs.users.lass-mors.pubkey + config.krebs.users.lass.pubkey config.krebs.users.lass-blue.pubkey config.krebs.users.lass-green.pubkey - config.krebs.users.lass-yubikey.pubkey - ]; - }; - nix = { - isNormalUser = true; - uid = genid_uint31 "nix"; - openssh.authorizedKeys.keys = [ - config.krebs.hosts.mors.ssh.pubkey ]; }; }; - nix.trustedUsers = ["nix"]; } { environment.variables = { From e99594d695e905eddc658fdd1b36c5e9efd578c8 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:25:40 +0200 Subject: [PATCH 45/85] l: use python3 for sshuttle --- lass/2configs/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix index 5a9428322..bfade92c4 100644 --- a/lass/2configs/default.nix +++ b/lass/2configs/default.nix @@ -61,7 +61,7 @@ with import ; { #for sshuttle environment.systemPackages = [ - pkgs.pythonPackages.python + pkgs.python3Packages.python ]; } ]; From 693af05562003ba154accba30b989615fe13e68d Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:26:05 +0200 Subject: [PATCH 46/85] l: add some pkgs --- lass/2configs/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix index bfade92c4..c4cedc086 100644 --- a/lass/2configs/default.nix +++ b/lass/2configs/default.nix @@ -91,6 +91,7 @@ with import ; #stockholm deploy git + git-preview gnumake jq @@ -115,6 +116,7 @@ with import ; file hashPassword kpaste + cyberlocker-tools pciutils pop q From e3740cb6b4ae61c7bbbc151fedb9e5aa8edd1acd Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:26:22 +0200 Subject: [PATCH 47/85] l: make journald storage persistent --- lass/2configs/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix index c4cedc086..f3eb774cd 100644 --- a/lass/2configs/default.nix +++ b/lass/2configs/default.nix @@ -178,6 +178,7 @@ with import ; services.journald.extraConfig = '' SystemMaxUse=1G RuntimeMaxUse=128M + Storage=persistent ''; krebs.iptables = { From 12046d150162bf1c111a0ea858cd67a5017221e6 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 16:26:30 +0200 Subject: [PATCH 48/85] l: set default timezone --- lass/2configs/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix index f3eb774cd..91922e5c9 100644 --- a/lass/2configs/default.nix +++ b/lass/2configs/default.nix @@ -217,5 +217,7 @@ with import ; # use 24:00 time format, the default got sneakily changed around 20.03 i18n.defaultLocale = mkDefault "C.UTF-8"; + time.timeZone = mkDefault"Europe/Berlin"; + system.stateVersion = mkDefault "20.03"; } From 3a7c33394328108cc9159de89367a90701fcbc80 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 19:52:54 +0200 Subject: [PATCH 49/85] l green.r: add brain repo --- lass/1systems/green/config.nix | 9 ++++++ lass/2configs/git-brain.nix | 57 ++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 lass/2configs/git-brain.nix diff --git a/lass/1systems/green/config.nix b/lass/1systems/green/config.nix index d7bf62b40..b41e396c9 100644 --- a/lass/1systems/green/config.nix +++ b/lass/1systems/green/config.nix @@ -17,6 +17,8 @@ with import ; + + ]; krebs.build.host = config.krebs.hosts.green; @@ -68,6 +70,13 @@ with import ; ]; clearTarget = true; }; + "/var/lib/git" = { + source = "/var/state/git"; + options = [ + "-M ${toString config.users.users.git.uid}" + ]; + clearTarget = true; + }; }; systemd.services."bindfs-_home_lass_Maildir".serviceConfig.ExecStartPost = pkgs.writeDash "symlink-notmuch" '' diff --git a/lass/2configs/git-brain.nix b/lass/2configs/git-brain.nix new file mode 100644 index 000000000..1c6f92fcd --- /dev/null +++ b/lass/2configs/git-brain.nix @@ -0,0 +1,57 @@ +{ config, lib, pkgs, ... }: +with import ; +let + + repos = krebs-repos; + rules = concatMap krebs-rules (attrValues krebs-repos); + + krebs-repos = mapAttrs make-krebs-repo { + brain = { }; + krebs-secrets = { }; + }; + + + make-krebs-repo = with git; name: { cgit ? {}, ... }: { + inherit cgit name; + public = false; + hooks = { + post-receive = pkgs.git-hooks.irc-announce { + nick = config.networking.hostName; + verbose = true; + channel = "#xxx"; + # TODO remove the hardcoded hostname + server = "irc.r"; + }; + }; + }; + + + + # TODO: get the list of all krebsministers + krebsminister = with config.krebs.users; [ makefu tv ]; + krebs-rules = repo: + set-owners repo [ config.krebs.users.lass ] ++ set-ro-access repo krebsminister; + + set-ro-access = with git; repo: user: + singleton { + inherit user; + repo = [ repo ]; + perm = fetch; + }; + + set-owners = with git;repo: user: + singleton { + inherit user; + repo = [ repo ]; + perm = push "refs/*" [ non-fast-forward create delete merge ]; + }; + +in { + krebs.git = { + enable = true; + cgit = { + enable = false; + }; + inherit repos rules; + }; +} From ae9b7488fa5af6233a38a52bf53fc3c0e2da6532 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 19:56:30 +0200 Subject: [PATCH 50/85] l radio: add controls page --- lass/2configs/radio.nix | 83 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix index b1e1ed4d9..4a061244d 100644 --- a/lass/2configs/radio.nix +++ b/lass/2configs/radio.nix @@ -356,6 +356,89 @@ in { locations."= /good".extraConfig = '' proxy_pass http://localhost:8001; ''; + locations."= /controls".extraConfig = '' + default_type "text/html"; + alias ${pkgs.writeText "controls.html" '' + + + + + + + + The_Playlist Voting! + + + + + +
+ + + +
+ Currently Running:
+ +
+
+
+ +
+ + + + + ''}; + ''; extraConfig = '' add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; From 9bc7f5d7d537e86ec5ea1a89be23a9614fb47caf Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:02:09 +0200 Subject: [PATCH 51/85] l radio: use hackint irc server --- lass/2configs/radio.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix index 4a061244d..501251d13 100644 --- a/lass/2configs/radio.nix +++ b/lass/2configs/radio.nix @@ -454,7 +454,7 @@ in {
- +
From c6cfd582ec1c3ef21ddc63a1edef6d6b9d4cdcbe Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:03:42 +0200 Subject: [PATCH 52/85] l exim-smarthost: add green & coaxmetal to sender hosts --- lass/2configs/exim-smarthost.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lass/2configs/exim-smarthost.nix b/lass/2configs/exim-smarthost.nix index b677fe455..cb9abd43a 100644 --- a/lass/2configs/exim-smarthost.nix +++ b/lass/2configs/exim-smarthost.nix @@ -19,8 +19,10 @@ in { "lassul.us" ]; relay_from_hosts = map (host: host.nets.retiolum.ip6.addr) [ - config.krebs.hosts.mors config.krebs.hosts.blue + config.krebs.hosts.coaxmetal + config.krebs.hosts.green + config.krebs.hosts.mors config.krebs.hosts.xerxes ]; internet-aliases = map (from: { inherit from to; }) mails; From dd9dc0e71a6a252a7dd2827bba253865b9948447 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:04:06 +0200 Subject: [PATCH 53/85] l: add tmux config --- lass/2configs/baseX.nix | 1 + lass/2configs/tmux.nix | 46 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 lass/2configs/tmux.nix diff --git a/lass/2configs/baseX.nix b/lass/2configs/baseX.nix index 23eaa2802..e4d397efc 100644 --- a/lass/2configs/baseX.nix +++ b/lass/2configs/baseX.nix @@ -11,6 +11,7 @@ in { ./xdg-open.nix ./yubikey.nix ./pipewire.nix + ./tmux.nix ./xmonad.nix { krebs.per-user.lass.packages = [ diff --git a/lass/2configs/tmux.nix b/lass/2configs/tmux.nix new file mode 100644 index 000000000..c977a1105 --- /dev/null +++ b/lass/2configs/tmux.nix @@ -0,0 +1,46 @@ +with import ; +{ config, pkgs, ... }: + +{ + nixpkgs.config.packageOverrides = super: { + tmux = pkgs.symlinkJoin { + name = "tmux"; + paths = [ + (pkgs.writeDashBin "tmux" '' + exec ${super.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" '' + #change prefix key to ` + set-option -g prefix ` + unbind-key C-b + bind ` send-prefix + + set-option -g default-terminal screen-256color + + #use session instead of windows + bind-key c new-session + bind-key p switch-client -p + bind-key n switch-client -n + bind-key C-s switch-client -l + ''} "$@" + '') + super.tmux + ]; + }; + }; + environment.systemPackages = with pkgs; [ + tmux + ]; + + # programs.bash.interactiveShellInit = '' + # if [[ "$TERM" != "linux" && -z "$TMUX" ]]; then + # if [[ -n "$SSH_AUTH_SOCK" ]]; then + # tmux set-environment -g SSH_AUTH_SOCK "$SSH_AUTH_SOCK" 2>/dev/null + # fi + + # exec tmux -u + # fi + # if [[ "$__host__" != "$HOST" ]]; then + # tmux set -g status-bg colour$(string_hash $HOST 255) + # export __host__=$HOST + # fi + # ''; +} From 88d707576f1e944cedda7e8d7e51e76804982199 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:05:17 +0200 Subject: [PATCH 54/85] l fetchWallpaper: use stars-berlin --- lass/2configs/fetchWallpaper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/fetchWallpaper.nix b/lass/2configs/fetchWallpaper.nix index 251f886a9..381df494d 100644 --- a/lass/2configs/fetchWallpaper.nix +++ b/lass/2configs/fetchWallpaper.nix @@ -5,7 +5,7 @@ let in { krebs.fetchWallpaper = { enable = true; - url = "prism/realwallpaper-krebs-stars.png"; + url = "prism/realwallpaper-krebs-stars-berlin.png"; }; } From f25fb4ae80e19e7e5c8a1c54c44da5e598b8bbb4 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:15:34 +0200 Subject: [PATCH 55/85] l baseX: add some pkgs --- lass/2configs/baseX.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lass/2configs/baseX.nix b/lass/2configs/baseX.nix index e4d397efc..124eef2cf 100644 --- a/lass/2configs/baseX.nix +++ b/lass/2configs/baseX.nix @@ -62,7 +62,8 @@ in { font-size fzfmenu gimp - gitAndTools.qgit + gitAndTools.hub + git-crypt git-preview gnome3.dconf iodine @@ -86,6 +87,7 @@ in { xorg.xhost xsel zathura + flameshot-once (pkgs.writeDashBin "screenshot" '' set -efu From 300f71ded68ac01b9286b52d813811f417c83280 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:16:00 +0200 Subject: [PATCH 56/85] l gc: don't gc in containers --- lass/2configs/gc.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/gc.nix b/lass/2configs/gc.nix index f9c61c461..224a6cbb9 100644 --- a/lass/2configs/gc.nix +++ b/lass/2configs/gc.nix @@ -3,7 +3,7 @@ with import ; { nix.gc = { - automatic = ! (elem config.krebs.build.host.name [ "mors" "xerxes" ] || config.boot.isContainer); + automatic = ! (elem config.krebs.build.host.name [ "mors" "xerxes" "coaxmetal" ] || config.boot.isContainer); options = "--delete-older-than 15d"; }; } From 22838aee86af1880f444c582d14e65e12ac31ae3 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:22:43 +0200 Subject: [PATCH 57/85] l hw x220: remove deprecated cryptoModules --- lass/2configs/hw/x220.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lass/2configs/hw/x220.nix b/lass/2configs/hw/x220.nix index 31f9787e0..b2e8892b1 100644 --- a/lass/2configs/hw/x220.nix +++ b/lass/2configs/hw/x220.nix @@ -6,7 +6,6 @@ boot = { initrd.luks.devices.luksroot.device = "/dev/sda3"; - initrd.luks.cryptoModules = [ "aes" "sha512" "sha1" "xts" ]; initrd.availableKernelModules = [ "xhci_hcd" "ehci_pci" "ahci" "usb_storage" ]; extraModulePackages = [ config.boot.kernelPackages.tp_smapi From ff013c82ac83055f3b5460fb67048e3182e938e9 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:23:02 +0200 Subject: [PATCH 58/85] l hw x220: remove tmpfs on /tmp --- lass/2configs/hw/x220.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lass/2configs/hw/x220.nix b/lass/2configs/hw/x220.nix index b2e8892b1..cbb5b168d 100644 --- a/lass/2configs/hw/x220.nix +++ b/lass/2configs/hw/x220.nix @@ -35,11 +35,6 @@ fsType = "btrfs"; options = ["defaults" "noatime" "ssd" "compress=lzo"]; }; - "/tmp" = { - device = "tmpfs"; - fsType = "tmpfs"; - options = ["nosuid" "nodev" "noatime"]; - }; }; services.logind.lidSwitch = "ignore"; From 21a73205b72615156232eb84a4028eeb7dd5220a Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:24:13 +0200 Subject: [PATCH 59/85] l git: allow pushing via yubi and green only --- lass/2configs/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/git.nix b/lass/2configs/git.nix index e6aeca5d1..e6c77f64b 100644 --- a/lass/2configs/git.nix +++ b/lass/2configs/git.nix @@ -189,7 +189,7 @@ let with git // config.krebs.users; repo: singleton { - user = [ lass lass-mors lass-blue lass-yubikey ]; + user = [ lass lass-green ]; repo = [ repo ]; perm = push "refs/*" [ non-fast-forward create delete merge ]; } ++ From 43b2c9368e63d79a1305002515d00d6ef12651bd Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:24:50 +0200 Subject: [PATCH 60/85] l muchsync: add coaxmetal.r to synced hosts --- lass/2configs/muchsync.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/2configs/muchsync.nix b/lass/2configs/muchsync.nix index b09bf579b..392970dbd 100644 --- a/lass/2configs/muchsync.nix +++ b/lass/2configs/muchsync.nix @@ -4,6 +4,7 @@ with (import ); { systemd.services.muchsync = let hosts = [ + "coaxmetal.r" "mors.r" "green.r" "blue.r" From 25fcc33c61d52297b83940943113123a46f1d1e7 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:25:19 +0200 Subject: [PATCH 61/85] l pipewire: add pkgs.ponymix to PATH --- lass/2configs/pipewire.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lass/2configs/pipewire.nix b/lass/2configs/pipewire.nix index 8fdcff4e3..c21ab5d9c 100644 --- a/lass/2configs/pipewire.nix +++ b/lass/2configs/pipewire.nix @@ -16,6 +16,7 @@ environment.systemPackages = with pkgs; [ alsaUtils pulseaudioLight + ponymix ]; environment.variables.PULSE_SERVER = "localhost:4713"; @@ -26,6 +27,7 @@ alsa.support32Bit = true; pulse.enable = true; jack.enable = true; + # https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Migrate-PulseAudio#module-native-protocol-tcp config.pipewire-pulse = { "context.properties" = { From 42202f6bb4bf2b1640e8f7c3c3e242b32704ffde Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:27:26 +0200 Subject: [PATCH 62/85] l vim: fix mouse in alacritty --- lass/2configs/vim.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/2configs/vim.nix b/lass/2configs/vim.nix index 6c730efdd..36ce3d74c 100644 --- a/lass/2configs/vim.nix +++ b/lass/2configs/vim.nix @@ -23,6 +23,7 @@ let set directory=${dirs.swapdir}// set hlsearch set incsearch + set ttymouse=sgr set mouse=a set ruler set pastetoggle= From 2dcbc9027ee66d5d0324cddd8c396704c74e8e9a Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:28:06 +0200 Subject: [PATCH 63/85] l zsh: remove default aliases --- lass/2configs/zsh.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lass/2configs/zsh.nix b/lass/2configs/zsh.nix index e65cdd97d..6571461ca 100644 --- a/lass/2configs/zsh.nix +++ b/lass/2configs/zsh.nix @@ -58,7 +58,6 @@ rev = "a75fca8545f91abb8a5f802981033ef54bf1eac0"; sha256="1lzj0qnj89mzh76ha137mnz2hf86k278rh0y9x124ghxj9yqsnb4"; }}/LS_COLORS) - alias ls='ls --color' zstyle ':completion:*:default' list-colors ''${(s.:.)LS_COLORS} #emacs bindings @@ -66,12 +65,6 @@ bindkey "[8~" end-of-line bindkey "Oc" emacs-forward-word bindkey "Od" emacs-backward-word - - #aliases - alias ll='ls -l' - alias la='ls -la' - - #fancy window title magic ''; promptInit = '' # TODO: figure out why we need to set this here From 64b3606044c17815636213813777b139d3fedde7 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 20:37:08 +0200 Subject: [PATCH 64/85] l reaktor-coders: remove lambdabot stuff --- lass/2configs/reaktor-coders.nix | 37 -------------------------------- 1 file changed, 37 deletions(-) diff --git a/lass/2configs/reaktor-coders.nix b/lass/2configs/reaktor-coders.nix index 7fd6a2a29..457d5b6c7 100644 --- a/lass/2configs/reaktor-coders.nix +++ b/lass/2configs/reaktor-coders.nix @@ -27,43 +27,6 @@ in { hooks.PRIVMSG = [ hooks.sed hooks.url-title - { - activate = "match"; - pattern = ''^@([^ ]+) (.*)$''; - command = 1; - arguments = [2]; - env.HOME = config.krebs.reaktor2.coders.stateDir; - commands = let - lambdabot = (import (pkgs.fetchFromGitHub { - owner = "NixOS"; repo = "nixpkgs"; - rev = "a4ec1841da14fc98c5c35cc72242c23bb698d4ac"; - sha256 = "148fpw31s922hxrf28yhrci296f7c7zd81hf0k6zs05rq0i3szgy"; - }) {}).lambdabot; - lambdabotWrapper = pkgs.writeDash "lambdabot.wrapper" '' - exec ${lambdabot}/bin/lambdabot \ - -XStandaloneDeriving -XGADTs -XFlexibleContexts \ - -XFlexibleInstances -XMultiParamTypeClasses \ - -XOverloadedStrings -XFunctionalDependencies \ - -e "$@" - ''; - in { - pl.filename = pkgs.writeDash "lambdabot-pl" '' - ${lambdabotWrapper} "@pl $1" - ''; - type.filename = pkgs.writeDash "lambdabot-type" '' - ${lambdabotWrapper} "@type $1" - ''; - "let".filename = pkgs.writeDash "lambdabot-let" '' - ${lambdabotWrapper} "@let $1" - ''; - run.filename = pkgs.writeDash "lambdabot-run" '' - ${lambdabotWrapper} "@run $1" - ''; - kind.filename = pkgs.writeDash "lambdabot-kind" '' - ${lambdabotWrapper} "@kind $1" - ''; - }; - } { activate = "match"; pattern = ''^!([^ ]+)(?:\s*(.*))?''; From a04eb31e7b59d992eb006453a88698346337f897 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 23:13:08 +0200 Subject: [PATCH 65/85] l sshify: add usage --- lass/5pkgs/sshify/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/5pkgs/sshify/default.nix b/lass/5pkgs/sshify/default.nix index aba0ab6bb..445b9b4aa 100644 --- a/lass/5pkgs/sshify/default.nix +++ b/lass/5pkgs/sshify/default.nix @@ -1,4 +1,5 @@ { pkgs }: +# usage: sshify prism.r -- curl ifconfig.me pkgs.writers.writeBashBin "sshify" '' set -efu From fdbfd2d4eca520ddee23fe76c702a4d38021d00b Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 26 Oct 2021 21:00:22 +0200 Subject: [PATCH 66/85] l krops: use fancy deploy --- lass/krops.nix | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lass/krops.nix b/lass/krops.nix index fe5c00f3d..769112706 100644 --- a/lass/krops.nix +++ b/lass/krops.nix @@ -33,9 +33,23 @@ in { - # usage: $(nix-build --no-out-link --argstr name HOSTNAME -A deploy) - deploy = { target ? "root@${name}/var/src" }: pkgs.krops.writeDeploy "${name}-deploy" { + deploy = { target ? "root@${name}/var/src" }: pkgs.krops.writeCommand "deploy" { + command = targetPath: '' + + set -fu + + outDir=$(mktemp -d) + trap "rm -rf $outDir;" INT TERM EXIT + + nix build \ + -I "${targetPath}" \ + -f '' config.system.build.toplevel \ + -o "$outDir/out" + + $outDir/out/bin/switch-to-configuration switch + ''; source = source { test = false; }; + allocateTTY = true; inherit target; }; From 98cc766ab53b29d34867023bd7d8855c325c43e3 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 26 Oct 2021 21:01:00 +0200 Subject: [PATCH 67/85] l: add some helper tools --- lass/2configs/programs.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lass/2configs/programs.nix b/lass/2configs/programs.nix index 241d263f8..0a4b4fd9b 100644 --- a/lass/2configs/programs.nix +++ b/lass/2configs/programs.nix @@ -13,9 +13,23 @@ pv pwgen remmina + ripgrep silver-searcher + transmission wget xsel youtube-dl + (pkgs.writeDashBin "tether-on" '' + adb shell svc usb setFunctions rndis + '') + (pkgs.writeDashBin "tether-off" '' + adb shell svc usb setFunctions + '') + (pkgs.writeDashBin "dl-movie" '' + ${pkgs.transmission}/bin/transmission-remote yellow.r -w /var/download/finished/sorted/movies -a "$@" + '') + (pkgs.writeDashBin "dl-series" '' + ${pkgs.transmission}/bin/transmission-remote yellow.r -w /var/download/finished/sorted/series -a "$@" + '') ]; } From 71ded757b3c8fb6066966b9e646d7f846d9aee4b Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 26 Oct 2021 21:01:32 +0200 Subject: [PATCH 68/85] l sync: add coaxmetal.r --- lass/2configs/sync/sync.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/sync/sync.nix b/lass/2configs/sync/sync.nix index bee1d03ac..7c0f2e030 100644 --- a/lass/2configs/sync/sync.nix +++ b/lass/2configs/sync/sync.nix @@ -1,6 +1,6 @@ { services.syncthing.declarative.folders."/home/lass/sync" = { - devices = [ "mors" "icarus" "xerxes" "shodan" "green" "blue" ]; + devices = [ "mors" "icarus" "xerxes" "shodan" "green" "blue" "coaxmetal" ]; }; krebs.permown."/home/lass/sync" = { file-mode = "u+rw,g+rw"; From 82e49f156a525a6966af3056dcf2ceeb16ffa889 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 26 Oct 2021 21:01:59 +0200 Subject: [PATCH 69/85] l steam: run as mainUser cause pipewire audio --- lass/2configs/steam.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/steam.nix b/lass/2configs/steam.nix index 2b9811959..d814a2499 100644 --- a/lass/2configs/steam.nix +++ b/lass/2configs/steam.nix @@ -13,7 +13,7 @@ nixpkgs.config.steam.java = true; hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ]; - users.users.games.packages = [ (pkgs.steam.override { + users.users.mainUser.packages = [ (pkgs.steam.override { extraPkgs = p: with p; [ gnutls # needed for Halo MCC ]; From 15539bebabaecda0abd49173bb2461149cbf0041 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 26 Oct 2021 21:03:07 +0200 Subject: [PATCH 70/85] l nginx: reload instead of restart, remove old default --- lass/2configs/websites/default.nix | 7 +------ lass/2configs/websites/lassulus.nix | 1 + 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/lass/2configs/websites/default.nix b/lass/2configs/websites/default.nix index 1ffa105a7..bfd86ad7e 100644 --- a/lass/2configs/websites/default.nix +++ b/lass/2configs/websites/default.nix @@ -8,12 +8,7 @@ with import ; recommendedOptimisation = true; recommendedTlsSettings = true; - virtualHosts._http = { - default = true; - extraConfig = '' - return 404; - ''; - }; + enableReload = true; virtualHosts.default = { locations."= /etc/os-release".extraConfig = '' diff --git a/lass/2configs/websites/lassulus.nix b/lass/2configs/websites/lassulus.nix index bb983b78e..5bf8de013 100644 --- a/lass/2configs/websites/lassulus.nix +++ b/lass/2configs/websites/lassulus.nix @@ -32,6 +32,7 @@ in { services.nginx.virtualHosts."lassul.us" = { addSSL = true; enableACME = true; + default = true; locations."/".extraConfig = '' root /srv/http/lassul.us; ''; From e1fdb4728c2a886435c16dd4323a26d9f4c5ab16 Mon Sep 17 00:00:00 2001 From: xkey Date: Sat, 30 Oct 2021 15:27:58 +0200 Subject: [PATCH 71/85] external: modify catalonia.r --- krebs/3modules/external/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krebs/3modules/external/default.nix b/krebs/3modules/external/default.nix index 982516e5d..28d58b525 100644 --- a/krebs/3modules/external/default.nix +++ b/krebs/3modules/external/default.nix @@ -587,7 +587,7 @@ in { nets = { retiolum = { ip4.addr = "10.243.13.12"; - aliases = [ "catalonia.r" "aleph.r" ]; + aliases = [ "catalonia.r" ]; tinc.pubkey = '' -----BEGIN RSA PUBLIC KEY----- MIICCgKCAgEAug+nej8/spuRHdzcfBYAuzUVoiq4YufmJqXSshvgf4aqjeVEt91Y From 9fd58eb16278aa098422b9e28299b374f98e0a9e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 31 Oct 2021 12:35:16 +0100 Subject: [PATCH 72/85] l codimd: move to pad.lassul.us --- krebs/3modules/lass/default.nix | 1 + lass/2configs/codimd.nix | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 95669c243..e96b4d8be 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -37,6 +37,7 @@ in { default._domainkey 60 IN TXT "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUv3DMndFellqu208feABEzT/PskOfTSdJCOF/HELBR0PHnbBeRoeHEm9XAcOe/Mz2t/ysgZ6JFXeFxCtoM5fG20brUMRzsVRxb9Ur5cEvOYuuRrbChYcKa+fopu8pYrlrqXD3miHISoy6ErukIYCRpXWUJHi1TlNQhLWFYqAaywIDAQAB" cache 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} cgit 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} + pad 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} codi 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} go 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr} io 60 IN NS ions.lassul.us. diff --git a/lass/2configs/codimd.nix b/lass/2configs/codimd.nix index 070781a31..271dcfca4 100644 --- a/lass/2configs/codimd.nix +++ b/lass/2configs/codimd.nix @@ -1,8 +1,16 @@ { config, pkgs, lib, ... }: with import ; let - domain = "codi.lassul.us"; + domain = "pad.lassul.us"; in { + + # redirect legacy domain to new one + services.nginx.virtualHosts."codi.lassul.us" = { + enableACME = true; + addSSL = true; + locations."/".return = "301 https://${domain}\$request_uri"; + }; + services.nginx.virtualHosts.${domain} = { enableACME = true; forceSSL = true; From 192ea80b77e13640704d7025aaa37de2fd394eae Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 2 Nov 2021 10:11:29 +0100 Subject: [PATCH 73/85] nixpkgs: 95eed9b -> f0869b1 --- krebs/nixpkgs.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index 5be907d21..8bfd16523 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,10 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "95eed9b64eee24975b880308065654fd059f22c3", - "date": "2021-10-23T23:27:41+02:00", - "path": "/nix/store/05rxgy84zni4bminfyyk4nkc4ccw91sz-nixpkgs", - "sha256": "1x59xdxh2vrnhh4j29nyq7npq70v178j5acdm2zsgamcagm3qif9", - "fetchLFS": false, + "rev": "f0869b1a2c0b150aac26e10bb5c2364ffb2e804f", + "date": "2021-10-31T15:33:08-07:00", + "path": "/nix/store/60dqlv3rf8dyf041qwx2bblmpd7mp7q6-nixpkgs", + "sha256": "150rrksrjf6w9m3c1ll04xilpglysklfpi636rxwyy318g5xss55", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false From 1e90bd460a7bc96460871ad16aff99f2bf7e301c Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 2 Nov 2021 10:20:27 +0100 Subject: [PATCH 74/85] nixpkgs-unstable: 34ad3ff -> b165ce0 --- krebs/nixpkgs-unstable.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/krebs/nixpkgs-unstable.json b/krebs/nixpkgs-unstable.json index 9a5c5386f..594147405 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,10 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "34ad3ffe08adfca17fcb4e4a47bb5f3b113687be", - "date": "2021-10-21T10:14:45+08:00", - "path": "/nix/store/ga9jr8sgxlay545v6j6q2nfj7gih4ix3-nixpkgs", - "sha256": "02li241rz5668nfyp88zfjilxf0mr9yansa93fbl38hjwkhf3ix6", - "fetchLFS": false, + "rev": "b165ce0c4efbb74246714b5c66b6bcdce8cde175", + "date": "2021-11-01T19:42:18+01:00", + "path": "/nix/store/ccfd4ijkp4rn018sjghkhn4a7gkdq84l-nixpkgs", + "sha256": "1q7n9rk4i8ky2xxiymm72cfq1xra3ss3vkhbwf60rhiblslldgqg", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false From 4dea6681b4726a749e4cfc56c45f289a9cfdcf37 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 5 Nov 2021 14:07:22 +0100 Subject: [PATCH 75/85] l mors.r: use unstable --- lass/1systems/mors/source.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lass/1systems/mors/source.nix diff --git a/lass/1systems/mors/source.nix b/lass/1systems/mors/source.nix new file mode 100644 index 000000000..abbf26c75 --- /dev/null +++ b/lass/1systems/mors/source.nix @@ -0,0 +1,21 @@ +{ lib, pkgs, test, ... }: let + npkgs = lib.importJSON ../../../krebs/nixpkgs-unstable.json; +in { + nixpkgs = (if test then lib.mkForce ({ derivation = let + rev = npkgs.rev; + sha256 = npkgs.sha256; + in '' + with import (builtins.fetchTarball { + url = "https://github.com/nixos/nixpkgs/archive/${rev}.tar.gz"; + sha256 = "${sha256}"; + }) {}; + pkgs.fetchFromGitHub { + owner = "nixos"; + repo = "nixpkgs"; + rev = "${rev}"; + sha256 = "${sha256}"; + } + ''; }) else { + git.ref = lib.mkForce npkgs.rev; + }); +} From 0e668121a1388914f33a6546c2f63adc212a38c4 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 5 Nov 2021 14:31:07 +0100 Subject: [PATCH 76/85] git: set fcgiwrap group as maingroup --- krebs/3modules/git.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix index d31d91b7c..0aa1ae0f2 100644 --- a/krebs/3modules/git.nix +++ b/krebs/3modules/git.nix @@ -362,10 +362,8 @@ let users.users.${cfg.user.name} = { inherit (cfg.user) home name uid; description = "Git repository hosting user"; - extraGroups = [ - # To allow running cgit-clear-cache via hooks. - cfg.cgit.fcgiwrap.group.name - ]; + # To allow running cgit-clear-cache via hooks. + group = cfg.cgit.fcgiwrap.group.name; isSystemUser = true; shell = "/bin/sh"; openssh.authorizedKeys.keys = From 348018063ac93f36b145f5600af8be424863e460 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 8 Nov 2021 11:57:39 +0100 Subject: [PATCH 77/85] l restic: RIP --- lass/3modules/default.nix | 1 - lass/3modules/restic.nix | 119 -------------------------------------- 2 files changed, 120 deletions(-) delete mode 100644 lass/3modules/restic.nix diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix index 1ce88b238..570bb45be 100644 --- a/lass/3modules/default.nix +++ b/lass/3modules/default.nix @@ -9,7 +9,6 @@ _: ./news.nix ./nichtparasoup.nix ./pyload.nix - ./restic.nix ./screenlock.nix ./usershadow.nix ./xjail.nix diff --git a/lass/3modules/restic.nix b/lass/3modules/restic.nix deleted file mode 100644 index c720793b1..000000000 --- a/lass/3modules/restic.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ config, lib, pkgs, ... }: - -with import ; - -{ - options.lass.restic = mkOption { - type = types.attrsOf (types.submodule ({ config, ... }: { - options = { - name = mkOption { - type = types.str; - default = config._module.args.name; - }; - passwordFile = mkOption { - type = types.str; - default = toString ; - description = '' - read the repository password from a file. - ''; - example = "/etc/nixos/restic-password"; - - }; - repo = mkOption { - type = types.str; - default = "sftp:backup@prism.r:/backups/${config.name}"; - description = '' - repository to backup to. - ''; - example = "sftp:backup@192.168.1.100:/backups/${config.name}"; - }; - dirs = mkOption { - type = types.listOf types.str; - default = []; - description = '' - which directories to backup. - ''; - example = [ - "/var/lib/postgresql" - "/home/user/backup" - ]; - }; - timerConfig = mkOption { - type = types.attrsOf types.str; - default = { - OnCalendar = "daily"; - }; - description = '' - When to run the backup. See man systemd.timer for details. - ''; - example = { - OnCalendar = "00:05"; - RandomizedDelaySec = "5h"; - }; - }; - user = mkOption { - type = types.str; - default = "root"; - description = '' - As which user the backup should run. - ''; - example = "postgresql"; - }; - extraArguments = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Extra arguments to append to the restic command. - ''; - example = [ - "sftp.command='ssh backup@192.168.1.100 -i /home/user/.ssh/id_rsa -s sftp" - ]; - }; - initialize = mkOption { - type = types.bool; - default = false; - description = '' - Create the repository if it doesn't exist. - ''; - }; - }; - })); - default = {}; - }; - - config = { - systemd.services = - mapAttrs' (_: plan: - let - extraArguments = concatMapStringsSep " " (arg: "-o ${arg}") plan.extraArguments; - connectTo = elemAt (splitString ":" plan.repo) 1; - resticCmd = "${pkgs.restic}/bin/restic ${extraArguments}"; - in nameValuePair "backup.${plan.name}" { - environment = { - RESTIC_PASSWORD_FILE = plan.passwordFile; - RESTIC_REPOSITORY = plan.repo; - }; - path = with pkgs; [ - openssh - ]; - restartIfChanged = false; - serviceConfig = { - ExecStartPre = mkIf plan.initialize (pkgs.writeScript "rustic-${plan.name}-init" '' - #! ${pkgs.bash}/bin/bash - ${resticCmd} snapshots || ${resticCmd} init - ''); - ExecStart = pkgs.writeDash "rustic-${plan.name}" ( - "#! ${pkgs.bash}/bin/bash\n" + - concatMapStringsSep "\n" (dir: "${resticCmd} backup ${dir}") plan.dirs - ); - User = plan.user; - }; - } - ) config.lass.restic; - systemd.timers = - mapAttrs' (_: plan: nameValuePair "backup.${plan.name}" { - wantedBy = [ "timers.target" ]; - timerConfig = plan.timerConfig; - }) config.lass.restic; - }; -} From 14e6157d3017a26f768c6ea7a4e0ca2883830068 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 8 Nov 2021 19:59:03 +0100 Subject: [PATCH 78/85] l prism.r: add nets.internet.ip4.prefix --- krebs/3modules/lass/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index e96b4d8be..2475a0d5a 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -54,7 +54,10 @@ in { }; nets = rec { internet = { - ip4.addr = "95.216.1.150"; + ip4 = { + addr = "95.216.1.150"; + prefix = "0.0.0.0/0"; + }; aliases = [ "prism.i" "paste.i" From 284de5b5b9e9baed14f7f8dfb7fd53ef6fea9050 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 14 Nov 2021 09:35:35 +0100 Subject: [PATCH 79/85] krebs: enable documentation for all modules --- krebs/2configs/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/krebs/2configs/default.nix b/krebs/2configs/default.nix index f56f6045a..4c25bc963 100644 --- a/krebs/2configs/default.nix +++ b/krebs/2configs/default.nix @@ -54,6 +54,9 @@ with import ; config.krebs.users.tv.pubkey ]; + # enable documentation for our modules + documentation.nixos.includeAllModules = true; + # The NixOS release to be compatible with for stateful data such as databases. system.stateVersion = "17.03"; } From 0c32c00f0be6d95e191e80dc078f7aaa98e38419 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 14 Nov 2021 09:35:47 +0100 Subject: [PATCH 80/85] l: enable documentation for all modules --- lass/2configs/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix index 91922e5c9..c3fbc2093 100644 --- a/lass/2configs/default.nix +++ b/lass/2configs/default.nix @@ -215,6 +215,8 @@ with import ; noipv4ll ''; + documentation.nixos.includeAllModules = true; + # use 24:00 time format, the default got sneakily changed around 20.03 i18n.defaultLocale = mkDefault "C.UTF-8"; time.timeZone = mkDefault"Europe/Berlin"; From 258abf53968b92cb5b61be2bcb385873cd9d4d9d Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 14 Nov 2021 09:36:27 +0100 Subject: [PATCH 81/85] types net: add defaults for wiregrill --- lib/types.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/types.nix b/lib/types.nix index a5fcd4e6a..d6d524377 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -137,6 +137,8 @@ rec { type = cidr4; } // optionalAttrs (config._module.args.name == "retiolum") { default = "10.243.0.0/16"; + } // optionalAttrs (config._module.args.name == "wiregrill") { + default = "10.244.0.0/16"; }); }; }); @@ -153,6 +155,8 @@ rec { type = cidr6; } // optionalAttrs (config._module.args.name == "retiolum") { default = "42::/16"; + } // optionalAttrs (config._module.args.name == "wiregrill") { + default = "42:1::/32"; }); }; }); @@ -240,6 +244,7 @@ rec { }; }; })); + default = null; }; }; }); From 8c942b148cc949cbc1f7c747303ab4d4cba3ed21 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 14 Nov 2021 09:48:08 +0100 Subject: [PATCH 82/85] l xjail: fix for manual --- lass/3modules/xjail.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/3modules/xjail.nix b/lass/3modules/xjail.nix index 526e12db7..f94e7ebbf 100644 --- a/lass/3modules/xjail.nix +++ b/lass/3modules/xjail.nix @@ -48,6 +48,7 @@ with import ; wm = mkOption { #TODO find type type = types.str; + defaultText = "‹script›"; default = "${pkgs.writeHaskellPackage "xephyrify-xmonad" { executables.xmonad = { extra-depends = [ From b244950e5d0b7ce3ebaf4f63a00f93abab46a893 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 14 Nov 2021 17:13:08 +0100 Subject: [PATCH 83/85] l mors.r: remove deprecated restic setup --- lass/1systems/mors/config.nix | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/lass/1systems/mors/config.nix b/lass/1systems/mors/config.nix index 95b688590..88ac90de4 100644 --- a/lass/1systems/mors/config.nix +++ b/lass/1systems/mors/config.nix @@ -183,35 +183,6 @@ with import ; users.users.mainUser.extraGroups = [ "adbusers" "docker" ]; virtualisation.docker.enable = true; - lass.restic = genAttrs [ - "daedalus" - "icarus" - "littleT" - "prism" - "shodan" - "skynet" - ] (dest: { - dirs = [ - "/home/lass/src" - "/home/lass/work" - "/home/lass/.gnupg" - "/home/lass/Maildir" - "/home/lass/stockholm" - "/home/lass/.password-store" - "/home/bitcoin" - "/home/bch" - ]; - passwordFile = (toString ) + "/restic/${dest}"; - repo = "sftp:backup@${dest}.r:/backups/mors"; - #sshPrivateKey = config.krebs.build.host.ssh.privkey.path; - extraArguments = [ - "sftp.command='ssh backup@${dest}.r -i ${config.krebs.build.host.ssh.privkey.path} -s sftp'" - ]; - timerConfig = { - OnCalendar = "00:05"; - RandomizedDelaySec = "5h"; - }; - }); virtualisation.libvirtd.enable = true; services.earlyoom = { From ebc830a91ff8c3319ec677ca62fc34a01c9de678 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 14 Nov 2021 17:14:10 +0100 Subject: [PATCH 84/85] puyak.r: define cores --- krebs/3modules/krebs/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/krebs/3modules/krebs/default.nix b/krebs/3modules/krebs/default.nix index ec499d63d..7da97350a 100644 --- a/krebs/3modules/krebs/default.nix +++ b/krebs/3modules/krebs/default.nix @@ -158,6 +158,7 @@ in { }; puyak = { ci = true; + cores = 4; nets = { retiolum = { ip4.addr = "10.243.77.2"; From b0f39ae34d1f248a4c1b92946a42418779f69490 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 14 Nov 2021 17:15:17 +0100 Subject: [PATCH 85/85] filebitch.r: define shack prefix --- krebs/3modules/krebs/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/krebs/3modules/krebs/default.nix b/krebs/3modules/krebs/default.nix index 7da97350a..776b893f5 100644 --- a/krebs/3modules/krebs/default.nix +++ b/krebs/3modules/krebs/default.nix @@ -39,7 +39,10 @@ in { cores = 4; nets = { shack = { - ip4.addr = "10.42.0.50" ; + ip4 = { + addr = "10.42.0.50" ; + prefix = "10.42.0.0/16"; + }; aliases = [ "filebitch.shack" ];