summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/2configs/news.nix2
-rw-r--r--krebs/2configs/reaktor2.nix4
-rw-r--r--krebs/3modules/backup.nix2
-rw-r--r--krebs/3modules/default.nix81
-rw-r--r--krebs/3modules/external/default.nix102
-rw-r--r--krebs/3modules/external/mic92.nix168
-rw-r--r--krebs/3modules/makefu/default.nix1
-rw-r--r--krebs/3modules/permown.nix2
-rw-r--r--krebs/3modules/tinc.nix2
-rw-r--r--krebs/3modules/tv/default.nix13
-rw-r--r--krebs/3modules/zones.nix107
-rw-r--r--krebs/5pkgs/haskell/default.nix10
-rw-r--r--krebs/5pkgs/haskell/mailaids.nix10
-rw-r--r--krebs/5pkgs/haskell/nix-serve-ng.nix30
-rw-r--r--krebs/5pkgs/haskell/purebred-email/default.nix16
-rw-r--r--krebs/5pkgs/simple/K_belwagen.nix2
-rwxr-xr-xkrebs/5pkgs/simple/Reaktor/scripts/tell-on_join.sh2
-rw-r--r--krebs/5pkgs/simple/cac-api/default.nix4
-rw-r--r--krebs/5pkgs/simple/certaids.nix109
-rw-r--r--krebs/5pkgs/simple/dic/default.nix4
-rw-r--r--krebs/5pkgs/simple/fzfmenu/default.nix2
-rw-r--r--krebs/5pkgs/simple/htgen-cyberlocker/default.nix2
-rw-r--r--krebs/5pkgs/simple/htgen-imgur/default.nix4
-rw-r--r--krebs/5pkgs/simple/withGetopt.nix4
-rw-r--r--krebs/nixpkgs-unstable.json8
-rw-r--r--krebs/nixpkgs.json8
-rw-r--r--lass/1systems/icarus/config.nix2
-rw-r--r--lass/1systems/shodan/config.nix2
-rw-r--r--lass/1systems/styx/config.nix3
-rw-r--r--lass/2configs/binary-cache/server.nix6
-rw-r--r--lass/2configs/games.nix6
-rw-r--r--lass/2configs/home-media.nix11
-rw-r--r--lass/2configs/network-manager.nix2
-rw-r--r--lass/2configs/paste.nix42
-rw-r--r--lass/2configs/snapclient.nix12
-rw-r--r--lass/2configs/snapserver.nix13
-rw-r--r--lass/5pkgs/q/default.nix2
-rw-r--r--makefu/0tests/data/secrets/lego-binaergewitter0
-rw-r--r--makefu/0tests/data/wg-thierry.key0
-rw-r--r--makefu/1systems/cake/config.nix9
-rw-r--r--makefu/1systems/cake/hardware-config.nix38
-rw-r--r--makefu/1systems/cake/source.nix2
-rw-r--r--makefu/1systems/latte/config.nix7
-rw-r--r--makefu/1systems/omo/config.nix1
-rw-r--r--makefu/1systems/x/config.nix1
-rw-r--r--makefu/1systems/x/source.nix2
-rw-r--r--makefu/2configs/bgt/download.binaergewitter.de.nix7
-rw-r--r--makefu/2configs/bitlbee.nix2
-rw-r--r--makefu/2configs/default.nix4
-rw-r--r--makefu/2configs/deployment/owncloud.nix2
-rw-r--r--makefu/2configs/home/3dprint.nix45
-rw-r--r--makefu/2configs/home/ham/automation/buttonboard.nix4
-rw-r--r--makefu/2configs/home/ham/automation/bye.txt.j22
-rw-r--r--makefu/2configs/home/ham/automation/check-in.nix77
-rw-r--r--makefu/2configs/home/ham/automation/daily_speedtext.nix17
-rw-r--r--makefu/2configs/home/ham/automation/fenster_auf.nix55
-rw-r--r--makefu/2configs/home/ham/automation/firetv_restart.nix22
-rw-r--r--makefu/2configs/home/ham/automation/flurlicht.nix12
-rw-r--r--makefu/2configs/home/ham/automation/project_tracker.nix68
-rw-r--r--makefu/2configs/home/ham/automation/shutdown_button.nix11
-rw-r--r--makefu/2configs/home/ham/automation/urlaub.nix7
-rw-r--r--makefu/2configs/home/ham/automation/welcome.txt.j245
-rw-r--r--makefu/2configs/home/ham/default.nix59
-rw-r--r--makefu/2configs/home/ham/lib/default.nix11
-rw-r--r--makefu/2configs/home/ham/light/tint_wohnzimmer.nix12
-rw-r--r--makefu/2configs/home/ham/media/arbeitszimmer_matrix.nix104
-rw-r--r--makefu/2configs/home/ham/media/firetv.nix13
-rw-r--r--makefu/2configs/home/ham/media/remote_sound_arbeitszimmer.nix5
-rw-r--r--makefu/2configs/home/ham/media/schlafzimmer_music_remote.nix158
-rw-r--r--makefu/2configs/home/ham/media/sonos.nix3
-rw-r--r--makefu/2configs/home/ham/sensor/dwd.nix8
-rw-r--r--makefu/2configs/home/ham/sensor/pollen.nix65
-rw-r--r--makefu/2configs/home/ham/signal-rest/service.nix2
-rw-r--r--makefu/2configs/home/ham/zigbee2mqtt.nix87
-rw-r--r--makefu/2configs/home/jellyfin.nix64
-rw-r--r--makefu/2configs/home/music.nix6
-rw-r--r--makefu/2configs/nginx/music.euer.nix26
-rw-r--r--makefu/2configs/remote-build/arm-emulation.nix25
-rw-r--r--makefu/2configs/share/gum-client.nix23
-rw-r--r--makefu/2configs/share/gum.nix9
-rw-r--r--makefu/2configs/share/hetzner-client.nix5
-rw-r--r--makefu/2configs/share/omo.nix6
-rw-r--r--makefu/2configs/tools/all.nix7
-rw-r--r--makefu/2configs/tools/dev.nix1
-rw-r--r--makefu/2configs/tools/games.nix1
-rw-r--r--makefu/2configs/tools/maker.nix16
-rw-r--r--makefu/2configs/wireguard/thierry.nix21
-rw-r--r--makefu/3modules/ps3netsrv.nix2
-rw-r--r--makefu/3modules/sane-extra.nix2
-rw-r--r--makefu/5pkgs/awesomecfg/full.cfg4
-rw-r--r--makefu/5pkgs/beef/Gemfile93
-rw-r--r--makefu/5pkgs/beef/Gemfile.lock297
-rw-r--r--makefu/5pkgs/beef/db-in-homedir.patch39
-rw-r--r--makefu/5pkgs/beef/default.nix45
-rw-r--r--makefu/5pkgs/beef/gemset.nix1293
-rw-r--r--makefu/5pkgs/beef/shell.nix16
-rwxr-xr-xmakefu/5pkgs/beef/update.sh28
-rw-r--r--makefu/5pkgs/custom/mediawiki-matrix-bot/default.nix11
-rw-r--r--makefu/5pkgs/default.nix5
-rw-r--r--makefu/5pkgs/ns-atmosphere-programmer/default.nix7
-rw-r--r--makefu/5pkgs/ps3netsrv/default.nix33
-rw-r--r--makefu/5pkgs/ratt/default.nix2
-rw-r--r--makefu/krops.nix7
m---------submodules/krops0
-rw-r--r--tv/1systems/alnus/config.nix11
-rw-r--r--tv/2configs/bash/default.nix2
-rw-r--r--tv/2configs/binary-cache/default.nix24
-rw-r--r--tv/2configs/gitrepos.nix2
-rw-r--r--tv/2configs/nginx/default.nix15
-rw-r--r--tv/3modules/im.nix2
-rw-r--r--tv/5pkgs/haskell/default.nix12
-rw-r--r--tv/5pkgs/override/jc.nix21
-rw-r--r--tv/5pkgs/simple/weechat-tv.nix9
113 files changed, 1612 insertions, 2347 deletions
diff --git a/krebs/2configs/news.nix b/krebs/2configs/news.nix
index 9e2cec10..3649aeee 100644
--- a/krebs/2configs/news.nix
+++ b/krebs/2configs/news.nix
@@ -44,7 +44,7 @@
path = [
pkgs.graphviz
pkgs.jq
- pkgs.inotifyTools
+ pkgs.inotify-tools
];
serviceConfig = {
ExecStart = pkgs.writers.writeDash "brockman-graph" ''
diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix
index 233fe2fd..f5041a59 100644
--- a/krebs/2configs/reaktor2.nix
+++ b/krebs/2configs/reaktor2.nix
@@ -52,7 +52,7 @@ let
PATH = makeBinPath [
pkgs.coreutils # XXX env, touch
pkgs.jq # XXX sed
- pkgs.utillinux # XXX flock
+ pkgs.util-linux # XXX flock
];
state_file = "${stateDir}/tell.json";
};
@@ -107,7 +107,7 @@ let
PATH = makeBinPath [
pkgs.coreutils # XXX date, env
pkgs.jq # XXX sed
- pkgs.utillinux # XXX flock
+ pkgs.util-linux # XXX flock
];
state_file = "${stateDir}/tell.txt";
};
diff --git a/krebs/3modules/backup.nix b/krebs/3modules/backup.nix
index 4a88582a..c1d4d721 100644
--- a/krebs/3modules/backup.nix
+++ b/krebs/3modules/backup.nix
@@ -82,7 +82,7 @@ let
gnused
openssh
rsync
- utillinux
+ util-linux
];
restartIfChanged = false;
serviceConfig = rec {
diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix
index 8ea727dc..7f007048 100644
--- a/krebs/3modules/default.nix
+++ b/krebs/3modules/default.nix
@@ -138,41 +138,54 @@ let
let inherit (config.krebs.build.host.ssh) privkey; in
mkIf (privkey != null) [privkey];
- # TODO use imports for merging
services.openssh.knownHosts =
- (let inherit (config.krebs.build.host.ssh) pubkey; in
- optionalAttrs (pubkey != null) {
- localhost = {
- hostNames = ["localhost" "127.0.0.1" "::1"];
- publicKey = pubkey;
- };
- })
- //
- mapAttrs
- (name: host: {
- hostNames =
- concatLists
- (mapAttrsToList
- (net-name: net:
- let
- longs = net.aliases;
- shorts =
- optionals
- (cfg.dns.search-domain != null)
- (map (removeSuffix ".${cfg.dns.search-domain}")
- (filter (hasSuffix ".${cfg.dns.search-domain}")
- longs));
- add-port = a:
- if net.ssh.port != 22
- then "[${a}]:${toString net.ssh.port}"
- else a;
- in
- map add-port (shorts ++ longs ++ net.addrs))
- host.nets);
-
- publicKey = host.ssh.pubkey;
- })
- (filterAttrs (_: host: host.ssh.pubkey != null) cfg.hosts);
+ filterAttrs
+ (knownHostName: knownHost:
+ knownHost.publicKey != null &&
+ knownHost.hostNames != []
+ )
+ (mapAttrs
+ (hostName: host: {
+ hostNames =
+ concatLists
+ (mapAttrsToList
+ (netName: net:
+ let
+ aliases =
+ concatLists [
+ shortAliases
+ net.aliases
+ net.addrs
+ ];
+ shortAliases =
+ optionals
+ (cfg.dns.search-domain != null)
+ (map (removeSuffix ".${cfg.dns.search-domain}")
+ (filter (hasSuffix ".${cfg.dns.search-domain}")
+ net.aliases));
+ addPort = alias:
+ if net.ssh.port != 22
+ then "[${alias}]:${toString net.ssh.port}"
+ else alias;
+ in
+ map addPort aliases
+ )
+ host.nets);
+ publicKey = host.ssh.pubkey;
+ })
+ (foldl' mergeAttrs {} [
+ cfg.hosts
+ {
+ localhost = {
+ nets.local = {
+ addrs = [ "127.0.0.1" "::1" ];
+ aliases = [ "localhost" ];
+ ssh.port = 22;
+ };
+ ssh.pubkey = config.krebs.build.host.ssh.pubkey;
+ };
+ }
+ ]));
programs.ssh.extraConfig = concatMapStrings
(net: ''
diff --git a/krebs/3modules/external/default.nix b/krebs/3modules/external/default.nix
index bf0b82de..2748c252 100644
--- a/krebs/3modules/external/default.nix
+++ b/krebs/3modules/external/default.nix
@@ -112,6 +112,33 @@ in {
};
};
};
+
+ porree = {
+ owner = config.krebs.users.pinpox;
+ nets = {
+ retiolum = {
+ ip4.addr = "10.243.100.101";
+ aliases = [ "porree.r" ];
+ tinc.pubkey = ''
+ -----BEGIN RSA PUBLIC KEY-----
+ MIICCgKCAgEAvUeG5/8O8ZyDulpvdKNcA20aZIUv3YdUe9XJ0lNUgMCg6YdWTmba
+ 03wfm/SPoUM4ZOb6/QyEmdNWxQbeKVPZ8cNs/uDLMmpEoSaSKWsp7ZqtrxxincUY
+ AGhyrU0h59lIZXZtmIp1Uc3Y7GYdX9MM2RsOs+0dYwCzZlHjarmNjxLRBcEbugMR
+ +86zrwtcLGKBmMMhRbMQ/y07zwxb5wFSF7nSgFD0yzFjmaBLU6mYtzRR0hb17n34
+ xmB7Lpj7ROtbB20btTmdyXHuE8P+5mohJavqAnpKiLNFLt9tNk1Vc4qAxlDkubZW
+ SoHuPNyE/563jooL1DHDQ2EZ4lDweTYlT0gAOYGCcNVoCFCs/rbFK4u2p5FCVAfE
+ bhc0Fm3fKNk6An1wIsSEg7UcYeTbaFBHbqr+7TiLyS2aehkgy4FF4n6ACDeF9cHM
+ 80OHh+N1wz7uL7BHcniTws7VWyloPOoEUJlZEDzHF/p1nfpDULsqNM0o8QGNmOeT
+ 4J2Sp+jJLin/8g2tPH+zMSge5rnFlPuBaRVZ5dwajdyq3USNgtVH1lZFx8sTLsAC
+ JEW9Jn3xPDCaLGWp2fFzsg0hPxOG0SYD75coZcfikJ6MedvHFHAmf9KBYJxFWcXa
+ JGky/WwdAF2f34e2vk/mWrjfgBIDzXU01Opm99lgWuMr5HMkCzH1kssCAwEAAQ==
+ -----END RSA PUBLIC KEY-----
+ '';
+ tinc.pubkey_ed25519 = "pXVWAPo/1JWhRs/0ip4Hz0bOSHTJa7FfaI74elU8XsL";
+ };
+ };
+ };
+
qubasa = {
owner = config.krebs.users.qubasa;
nets = {
@@ -137,6 +164,31 @@ in {
};
};
};
+ kfbox = {
+ owner = config.krebs.users.pinpox;
+ nets = {
+ retiolum = {
+ ip4.addr = "10.243.100.102";
+ aliases = [ "kfbox.r" ];
+ tinc.pubkey = ''
+ -----BEGIN RSA PUBLIC KEY-----
+ MIICCgKCAgEAis/ORNebUUz/yBTjouXVNoBHTVaEcpZE+cD9EWv975k0evxxb4s5
+ W87fZ6YkQgYtgFScaBM