summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kartei/janik/default.nix38
-rw-r--r--kartei/lass/default.nix2
-rw-r--r--kartei/lass/mors.nix1
-rw-r--r--kartei/lass/neoprism.nix1
-rw-r--r--kartei/lass/prism.nix40
-rw-r--r--kartei/mic92/default.nix20
-rw-r--r--kartei/tv/hosts/wu.nix25
-rw-r--r--kartei/tv/wiregrill/wu.pub1
-rw-r--r--krebs/1systems/puyak/config.nix2
-rw-r--r--krebs/1systems/wolf/config.nix1
-rw-r--r--krebs/2configs/exim-smarthost.nix1
-rw-r--r--krebs/2configs/ircd.nix1
-rw-r--r--krebs/2configs/reaktor2.nix20
-rw-r--r--krebs/2configs/shack/prometheus/unifi.nix2
-rw-r--r--krebs/3modules/acl.nix2
-rw-r--r--krebs/3modules/exim-smarthost.nix2
-rw-r--r--krebs/3modules/iana-etc.nix9
-rw-r--r--krebs/3modules/permown.nix16
-rw-r--r--krebs/5pkgs/haskell/email-header.nix4
-rw-r--r--krebs/5pkgs/simple/fzfmenu/default.nix2
-rw-r--r--krebs/5pkgs/simple/htgen-paste/src/htgen-paste4
-rw-r--r--krebs/5pkgs/simple/irc-announce/default.nix2
-rw-r--r--krebs/5pkgs/simple/netcup/default.nix2
-rw-r--r--krebs/5pkgs/simple/realwallpaper/default.nix2
-rw-r--r--krebs/nixpkgs-unstable.json8
-rw-r--r--krebs/nixpkgs.json8
-rw-r--r--lass/1systems/aergia/config.nix80
-rw-r--r--lass/1systems/aergia/disk.nix3
-rw-r--r--lass/1systems/aergia/physical.nix58
-rw-r--r--lass/1systems/daedalus/config.nix29
-rw-r--r--lass/1systems/dishfire/config.nix3
-rw-r--r--lass/1systems/hilum/config.nix5
-rw-r--r--lass/1systems/hilum/disk.nix18
-rwxr-xr-xlass/1systems/hilum/flash-stick.sh8
-rw-r--r--lass/1systems/hilum/physical.nix5
-rw-r--r--lass/1systems/mors/config.nix30
-rw-r--r--lass/1systems/mors/physical.nix4
-rw-r--r--lass/1systems/neoprism/config.nix21
-rw-r--r--lass/1systems/neoprism/disk.nix36
-rw-r--r--lass/1systems/neoprism/physical.nix74
-rw-r--r--lass/2configs/boot/universal.nix11
-rw-r--r--lass/2configs/monitoring/alert-rules.nix208
-rw-r--r--lass/2configs/monitoring/prometheus.nix110
-rw-r--r--lass/2configs/monitoring/telegraf.nix72
-rw-r--r--lib/pure.nix4
-rw-r--r--makefu/3modules/snapraid.nix2
-rw-r--r--tv/1systems/wu/config.nix42
l---------tv/1systems/wu/lib1
-rw-r--r--tv/2configs/backup.nix29
-rw-r--r--tv/2configs/default.nix7
-rw-r--r--tv/2configs/exim-smarthost.nix1
-rw-r--r--tv/2configs/hw/w110er.nix70
-rw-r--r--tv/2configs/nets/hkw.nix13
-rw-r--r--tv/2configs/xserver/default.nix6
54 files changed, 764 insertions, 402 deletions
diff --git a/kartei/janik/default.nix b/kartei/janik/default.nix
new file mode 100644
index 00000000..44ec9b0a
--- /dev/null
+++ b/kartei/janik/default.nix
@@ -0,0 +1,38 @@
+with import ../../lib;
+{ config, ... }: let
+ hostDefaults = hostName: host: flip recursiveUpdate host ({
+ ci = false;
+ external = true;
+ monitoring = false;
+ } // optionalAttrs (host.nets?retiolum) {
+ nets.retiolum.ip6.addr =
+ (krebs.genipv6 "retiolum" "external" { inherit hostName; }).address;
+ });
+in {
+ users.janik = {
+ mail = "retiolum.janik@aq0.de";
+ };
+ hosts.hertz = {
+ owner = config.krebs.users.janik;
+ nets.retiolum = {
+ aliases = [ "hertz.janik.r" ];
+ ip6.addr = (lib.krebs.genipv6 "retiolum" "janik" { hostName = "hertz"; }).address;
+ tinc.pubkey = ''
+ -----BEGIN RSA PUBLIC KEY-----
+ MIICCgKCAgEA0mqxrdVU9wFhNZYGWEknJpKV4yIodNlaCIKDPVhU5wmlzh2szKUS
+ V3PzyEAo4DaQCZXdpj1jS9ddN+yLj68K4k4LRLuCyXep0GcFM1mUKQTBOxa3VF+W
+ oRaSUAVHib/jUiX08BIxYBDwiCUPSdEBUHWftnc8WYvjthPkOOuGAvs1w9ZBs6qC
+ ftkVJT5rt8cU9VsXPqRRauVHb9wH1M41p5/3HtBAgVBtCDp/qXmABW0rbXEKtwmv
+ +hzZoMvxTm05cAE7O2UlluERdnheKkBXWuBYR4aC9BQQH54kIShByOZYYACWuGGA
+ oHHqITYwWh+42wacAKCkTZ6kHoIQrU+uDypQ24YBhxbqUiGTspGbfO/jDHxxjgrd
+ Aauxil2YNQNclEZuWFD4Hlt2Y29jDh7uQwBbOl3dmTLvXr8qTA5HQIsf9uuOrvu9
+ uejj8VMIUHxdSZi8oH3+4XOH43DAGWM2pZogE+jeZtc2hPjqz1XZ40tXBPfEeUr4
+ VE4l1q4m9ynEMZbMZjyDGxX4Yo9htgJmKGk3LQ0ufbOo5CQM/lqzAZVYDKBlW7ka
+ rTgh9ZwMmd3/5ije3nI94Bd+2x+TLJ8ESCloqLYGZ0HaIRU1b5JX5a44+OPq5obB
+ sClD3CzaqMDkoEDBWrEyst8VkqZUWKmicnWtZapNWW67mjXBtzUQmOUCAwEAAQ==
+ -----END RSA PUBLIC KEY-----
+ '';
+ tinc.pubkey_ed25519 = "iT84cW45GuGqsEGgtVwGwe36iGFAha/orKcyZp8VbxH";
+ };
+ };
+}
diff --git a/kartei/lass/default.nix b/kartei/lass/default.nix
index e5b12f1c..d4806534 100644
--- a/kartei/lass/default.nix
+++ b/kartei/lass/default.nix
@@ -29,7 +29,7 @@ in {
users = rec {
lass = lass-yubikey;
lass-yubikey = {
- mail = "lass@lassul.us";
+ mail = "lass@green.r";
pubkey = builtins.readFile ./ssh/yubikey.rsa;
pgp.pubkeys.default = builtins.readFile ./pgp/yubikey.pgp;
};
diff --git a/kartei/lass/mors.nix b/kartei/lass/mors.nix
index c483fe5a..f3a4b244 100644
--- a/kartei/lass/mors.nix
+++ b/kartei/lass/mors.nix
@@ -1,5 +1,6 @@
{ r6, w6, ... }:
{
+ consul = false;
nets = {
retiolum = {
ip4.addr = "10.243.0.2";
diff --git a/kartei/lass/neoprism.nix b/kartei/lass/neoprism.nix
index 9538c300..a122fa20 100644
--- a/kartei/lass/neoprism.nix
+++ b/kartei/lass/neoprism.nix
@@ -20,6 +20,7 @@
ip6.addr = r6 "99";
aliases = [
"neoprism.r"
+ "cache.neoprism.r"
];
tinc.pubkey = ''
-----BEGIN RSA PUBLIC KEY-----
diff --git a/kartei/lass/prism.nix b/kartei/lass/prism.nix
index ac797473..ecb56264 100644
--- a/kartei/lass/prism.nix
+++ b/kartei/lass/prism.nix
@@ -14,31 +14,31 @@ rec {
@ IN SOA dns16.ovh.net. tech.ovh.net. (2017093001 86400 3600 3600000 300)
60 IN NS ns16.ovh.net.
60 IN NS dns16.ovh.net.
- 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
- 60 IN AAAA ${config.krebs.hosts.prism.nets.internet.ip6.addr}
+ 60 IN A ${nets.internet.ip4.addr}
+ 60 IN AAAA ${nets.internet.ip4.addr}
IN MX 5 mail.lassul.us.
60 IN TXT "v=spf1 mx -all"
60 IN TXT ( "v=DKIM1; k=rsa; t=s; s=*; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUv3DMndFellqu208feABEzT/PskOfTSdJCOF/HELBR0PHnbBeRoeHEm9XAcOe/Mz2t/ysgZ6JFXeFxCtoM5fG20brUMRzsVRxb9Ur5cEvOYuuRrbChYcKa+fopu8pYrlrqXD3miHISoy6ErukIYCRpXWUJHi1TlNQhLWFYqAaywIDAQAB" )
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}
+ cache 60 IN A ${nets.internet.ip4.addr}
+ cgit 60 IN A ${nets.internet.ip4.addr}
+ pad 60 IN A ${nets.internet.ip4.addr}
+ codi 60 IN A ${nets.internet.ip4.addr}
+ go 60 IN A ${nets.internet.ip4.addr}
io 60 IN NS ions.lassul.us.
- ions 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
- lol 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
- matrix 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
- paste 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
- radio 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
- 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}
- mail 60 IN AAAA ${config.krebs.hosts.prism.nets.internet.ip6.addr}
- flix 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
- testing 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
- schrott 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
+ ions 60 IN A ${nets.internet.ip4.addr}
+ lol 60 IN A ${nets.internet.ip4.addr}
+ matrix 60 IN A ${nets.internet.ip4.addr}
+ paste 60 IN A ${nets.internet.ip4.addr}
+ radio 60 IN A ${nets.internet.ip4.addr}
+ jitsi 60 IN A ${nets.internet.ip4.addr}
+ streaming 60 IN A ${nets.internet.ip4.addr}
+ mumble 60 IN A ${nets.internet.ip4.addr}
+ mail 60 IN A ${nets.internet.ip4.addr}
+ mail 60 IN AAAA ${nets.internet.ip6.addr}
+ flix 60 IN A ${nets.internet.ip4.addr}
+ testing 60 IN A ${nets.internet.ip4.addr}
+ schrott 60 IN A ${nets.internet.ip4.addr}
'';
};
nets = rec {
diff --git a/kartei/mic92/default.nix b/kartei/mic92/default.nix
index 5b9d4141..720b362f 100644
--- a/kartei/mic92/default.nix
+++ b/kartei/mic92/default.nix
@@ -476,15 +476,21 @@ in {
aliases = [ "ryan.r" ];
tinc.pubkey = ''
-----BEGIN RSA PUBLIC KEY-----
- MIIBCgKCAQEA0RE5jmBiEGmaYLVFmpCyVvlb6K3Zh2uxh7sVm44k31d9PEHHm4Wz
- HQH+ueaefGVu19xLRJQGu4ZMl7oRbb5awiqKdSGgInhQaNzxUIHW4cCCdOVkgZSy
- NjI9LMcc8tQtkoFGt6OhAzaViuGMo+aJAkLuXNf8hz5uR2flqQEeKfG5Kc7Z1DAQ
- QNoBRtY0pltyK2y/Ip8cZ9cdxR5oLww67ykhY+eLy9tZLfKs6uWSq+2CV0cpNNQ9
- Sh8fSbkjb4+JkxWAHDOyAnwFxnxstMcW0cscOW7nXYDi5IpvvesJlk698un7bLhm
- vCkAd+WiNuTGfs9t0r6FDDVDREBhNk1sLwIDAQAB
+ MIICCgKCAgEApu7U9HP1Uo+kTDI+KTCs+YFLcSYct1qPuMkntKonYgdiW9Z4Ud99
+ tU0VmJWdDnKaRxIcjC2Bmy342G3QN+UgdnTxyEWggWRKHUDjWMXBuj5n+uBgzTyM
+ XDwuQR7RZmStBG6vDRIQWL07/b0u/wzyrhXDERx7o2msOLfnaU271aVrDM/Y67fL
+ PMfKBtfckv7+W5e7KspJRIyhj7mqXMsSHaroqgoikK+Xyv44OxlklV7VnmACaNLf
+ Yg0AiSjIrMtkTQ85m9t6q147lWBKlAK7yqEHUPyVNGMf/Mh6M1Xg1t0oc9hcb7/F
+ VAPNbwFiwm0rR8ugjW5Gn5i/uZDeDDSQcc8m1tsB+86peuS16sfOXZewXH9bYDFo
+ 9n28+vFjyF5FRI1J6fAjneFm5PyoLvowgwvVECEDRgUF2+ySwfWawF+LPDpRZiZ4
+ NfHN2qT81QWa1UfWdaudCYbwMK5iQskCUtRw20ABsR0Kg6oHGG/uiLZ4pYReeM/n
+ agefDCe9PN5bkjonwOxN2klV8QgYQeznm1gdsFjMdvJUcba2kZICpRy8Wx9Sc0ai
+ oO8HKLqRoO5sV4Nv1FcY6EFq05AR1PPt6LoE0AY5REwVuNZSyiBp8lzzDj2E3JYf
+ obeZ8RtCYmNkXL3I+wfm/73SrIrX/ombqeaWGJB/rX2DEwco0IFau4ECAwEAAQ==
-----END RSA PUBLIC KEY-----
'';
- tinc.pubkey_ed25519 = "sOD149OLZ2yUEjRpwbGdwHULKF2qNY3F+9AsEi1G0ZM";
+
+ tinc.pubkey_ed25519 = "/KoqKeQsdRWnhva7/YTX65mUxuyKaFNjA8LlxmAUQXP";
};
};
};
diff --git a/kartei/tv/hosts/wu.nix b/kartei/tv/hosts/wu.nix
deleted file mode 100644
index d03886f1..00000000
--- a/kartei/tv/hosts/wu.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- ci = true;
- nets = {
- retiolum = {
- ip4.addr = "10.243.13.37";
- aliases = [
- "wu.r"
- "cgit.wu.r"
- ];
- tinc.pubkey = ''
- -----BEGIN RSA PUBLIC KEY-----
- MIIBCgKCAQEArDvU0cuBsVqTjCX2TlWL4XHSy4qSjUhjrDvUPZSKTVN7x6OENCUn
- M27g9H7j4/Jw/8IHoJLiKnXHavOoc9UJM+P9Fla/4TTVADr69UDSnLgH+wGiHcEg
- GxPkb2jt0Z8zcpD6Fusj1ATs3sssaLHTHvg1D0LylEWA3cI4WPP13v23PkyUENQT
- KpSWfR+obqDl38Q7LuFi6dH9ruyvqK+4syddrBwjPXrcNxcGL9QbDn7+foRNiWw4
- 4CE5z25oGG2iWMShI7fe3ji/fMUAl7DSOOrHVVG9eMtpzy+uI8veOHrdTax4oKik
- AFGCrMIov3F0GIeu3nDlrTIZPZDTodbFKQIDAQAB
- -----END RSA PUBLIC KEY-----
- '';
- tinc.pubkey_ed25519 = "urVOEGxTkBedkpszPH0XRCRMk+Fc2U9IneYMFDqGoIB";
- };
- };
- secure = true;
- ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIcJvu8JDVzObLUtlAQg9qVugthKSfitwCljuJ5liyHa";
-}
diff --git a/kartei/tv/wiregrill/wu.pub b/kartei/tv/wiregrill/wu.pub
deleted file mode 100644
index 0d25d9de..00000000
--- a/kartei/tv/wiregrill/wu.pub
+++ /dev/null
@@ -1 +0,0 @@
-68bL6l3/sjbirva80tm0Dw6/PJu1S95nJC58gWCh42E=
diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix
index 931ebe70..a4f22d39 100644
--- a/krebs/1systems/puyak/config.nix
+++ b/krebs/1systems/puyak/config.nix
@@ -113,6 +113,8 @@
];
krebs.build.host = config.krebs.hosts.puyak;
+ krebs.hosts.puyak.ssh.privkey.path = <secrets/ssh.id_ed25519>;
+
sound.enable = false;
boot = {
loader.systemd-boot.enable = true;
diff --git a/krebs/1systems/wolf/config.nix b/krebs/1systems/wolf/config.nix
index 12ce4db3..2415bd32 100644
--- a/krebs/1systems/wolf/config.nix
+++ b/krebs/1systems/wolf/config.nix
@@ -51,6 +51,7 @@ in
# uninteresting stuff
#####################
krebs.build.host = config.krebs.hosts.wolf;
+ krebs.hosts.wolf.ssh.privkey.path = <secrets/ssh.id_ed25519>;
boot.initrd.availableKernelModules = [
"ata_piix" "uhci_hcd" "ehci_pci" "virtio_pci" "virtio_blk"
diff --git a/krebs/2configs/exim-smarthost.nix b/krebs/2configs/exim-smarthost.nix
index c2f6b4dc..2842e10d 100644
--- a/krebs/2configs/exim-smarthost.nix
+++ b/krebs/2configs/exim-smarthost.nix
@@ -42,6 +42,7 @@ in {
"makefu@krebsco.de" = makefu;
"spam@krebsco.de" = spam-ml;
"tv@krebsco.de" = tv;
+ "xkey@krebsco.de" = { mail = "lennart@cope.cool"; };
# XXX These are no internet aliases
# XXX exim-retiolum hosts should be able to relay to retiolum addresses
"lass@retiolum" = lass;
diff --git a/krebs/2configs/ircd.nix b/krebs/2configs/ircd.nix
index c56883d3..b82aba45 100644
--- a/krebs/2configs/ircd.nix
+++ b/krebs/2configs/ircd.nix
@@ -38,7 +38,6 @@
hidden = false;
password = "$2a$04$0AtVycWQJ07ymrDdKyAm2un3UVSVIzpzL3wsWbWb3PF95d1CZMcMO";
};
- server.max-line-length = 1024;
server.lookup-hostnames = true;
};
};
diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix
index 231c3d46..61b44fc2 100644
--- a/krebs/2configs/reaktor2.nix
+++ b/krebs/2configs/reaktor2.nix
@@ -253,6 +253,24 @@ let
};
};
+ vicuna = {
+ pattern = "^!vicuna (.*)$";
+ activate = "match";
+ arguments = [1];
+ timeoutSec = 1337;
+ command = {
+ filename = pkgs.writeDash "vicuna" ''
+ set -efu
+
+ mkdir -p ${stateDir}/vicuna
+ export CONTEXT=${stateDir}/vicuna/"$_msgtarget".context
+ ${pkgs.vicuna-chat}/bin/vicuna-chat "$@" |
+ echo "$_from: $(cat)" |
+ fold -s -w 426
+ '';
+ };
+ };
+
locationsLib = pkgs.writeText "locations.sh" ''
ENDPOINT=http://c.r/poi.json
get_locations() {
@@ -413,6 +431,7 @@ let
hooks.sed
interrogate
say
+ vicuna
(generators.command_hook {
inherit (commands) dance random-emoji nixos-version;
tell = {
@@ -607,6 +626,7 @@ in {
channels = [
"#noise"
"#xxx"
+ "#fin"
];
};
}
diff --git a/krebs/2configs/shack/prometheus/unifi.nix b/krebs/2configs/shack/prometheus/unifi.nix
index 401ecb02..34e47add 100644
--- a/krebs/2configs/shack/prometheus/unifi.nix
+++ b/krebs/2configs/shack/prometheus/unifi.nix
@@ -5,6 +5,6 @@
unifiAddress = "https://unifi.shack:8443/";
unifiInsecure = true;
unifiUsername = "prometheus"; # needed manual login after setup to confirm the password
- unifiPassword = lib.replaceChars ["\n"] [""] (builtins.readFile <secrets/shack/unifi-prometheus-pw>);
+ unifiPassword = lib.replaceStrings ["\n"] [""] (builtins.readFile <secrets/shack/unifi-prometheus-pw>);
};
}
diff --git a/krebs/3modules/acl.nix b/krebs/3modules/acl.nix
index d2370649..05f7e824 100644
--- a/krebs/3modules/acl.nix
+++ b/krebs/3modules/acl.nix
@@ -33,7 +33,7 @@ in {
default = {};
};
config = {
- systemd.services = lib.mapAttrs' (path: rules: lib.nameValuePair "acl-${lib.replaceChars ["/"] ["_"] path}" {
+ systemd.services = lib.mapAttrs' (path: rules: lib.nameValuePair "acl-${lib.replaceStrings ["/"] ["_"] path}" {
wantedBy = [ "multi-user.target" ];
path = [
pkgs.acl
diff --git a/krebs/3modules/exim-smarthost.nix b/krebs/3modules/exim-smarthost.nix
index 7b3dace6..093ae203 100644
--- a/krebs/3modules/exim-smarthost.nix
+++ b/krebs/3modules/exim-smarthost.nix
@@ -40,7 +40,7 @@ let
};
extraRouters = mkOption {
- type = types.nullOr types.str;
+ type = types.nullOr types.lines;
default = null;
};
diff --git a/krebs/3modules/iana-etc.nix b/krebs/3modules/iana-etc.nix
index 3195f71d..dabe2f8a 100644
--- a/krebs/3modules/iana-etc.nix
+++ b/krebs/3modules/iana-etc.nix
@@ -1,5 +1,6 @@
-{ config, pkgs, lib, ... }:
-with lib; {
+{ config, lib, pkgs, ... }: let
+ slib = import ../../lib/pure.nix { inherit lib; };
+in with lib; {
options.krebs.iana-etc.services = mkOption {
default = {};
@@ -7,7 +8,7 @@ with lib; {
options = {
port = mkOption {
default = config._module.args.name;
- type = types.addCheck types.str (test "[1-9][0-9]*");
+ type = types.addCheck types.str (slib.test "[1-9][0-9]*");
};
} // genAttrs ["tcp" "udp"] (protocol: mkOption {
default = null;
@@ -30,7 +31,7 @@ with lib; {
(proto: let
line = "${entry.${proto}.name} ${entry.port}/${proto}";
in /* sh */ ''
- echo ${shell.escape line}
+ echo ${slib.shell.escape line}
'')
(filter (proto: entry.${proto} != null) ["tcp" "udp"])}
'') (attrValues config.krebs.iana-etc.services)}
diff --git a/krebs/3modules/permown.nix b/krebs/3modules/permown.nix
index 3ebbc44f..ae870297 100644
--- a/krebs/3modules/permown.nix
+++ b/krebs/3modules/permown.nix
@@ -1,4 +1,6 @@
-{ config, pkgs, lib, ... }:
+{ config, pkgs, lib, ... }: let
+ slib = import ../../lib/pure.nix { inherit lib; };
+in
with lib; {
options.krebs.permown = mkOption {
@@ -16,7 +18,7 @@ with lib; {
group = mkOption {
apply = x: if x == null then "" else x;
default = null;
- type = types.nullOr types.groupname;
+ type = types.nullOr slib.types.groupname;
};
keepGoing = mkOption {
default = false;
@@ -28,15 +30,15 @@ with lib; {
'';
};
owner = mkOption {
- type = types.username;
+ type = slib.types.username;
};
path = mkOption {
default = config._module.args.name;
- type = types.absolute-pathname;
+ type = slib.types.absolute-pathname;
};
umask = mkOption {
default = "0027";
- type = types.file-mode;
+ type = slib.types.file-mode;
};
};
}));
@@ -48,11 +50,11 @@ with lib; {
system.activationScripts.permown = let
mkdir = plan: /* sh */ ''
- ${pkgs.coreutils}/bin/mkdir -p ${shell.escape plan.path}
+ ${pkgs.coreutils}/bin/mkdir -p ${slib.shell.escape plan.path}
'';
in concatMapStrings mkdir plans;
- systemd.services = genAttrs' plans (plan: let
+ systemd.services = slib.genAttrs' plans (plan: let
continuable = command:
if plan.keepGoing
then /* sh */ "{ ${command}; } || :"
diff --git a/krebs/5pkgs/haskell/email-header.nix b/krebs/5pkgs/haskell/email-header.nix
index e1e9d423..f8ce03f3 100644
--- a/krebs/5pkgs/haskell/email-header.nix
+++ b/krebs/5pkgs/haskell/email-header.nix
@@ -18,9 +18,9 @@ let
sha256 = "11xjivpj495r2ss9aqljnpzzycb57cm4sr7yzmf939rzwsd3ib0x";
};
}.${versions.majorMinor version} or {
- version = "0.4.1-tv2";
+ version = "0.4.2-tv1";
rev = "refs/tags/v${cfg.version}";
- sha256 = "1yg4b5318lpviwgjs4kdcqg8cwfnxxfcdckcjq12r2nnj2k4ms2d";
+ sha256 = "JZfqvkbb/1t0q1iWmZHmmCN2Vr+QKTiq4LVncrG+xMU=";
};
in mkDerivation {
diff --git a/krebs/5pkgs/simple/fzfmenu/default.nix b/krebs/5pkgs/simple/fzfmenu/default.nix
index fe5d5e27..eb244133 100644
--- a/krebs/5pkgs/simple/fzfmenu/default.nix
+++ b/krebs/5pkgs/simple/fzfmenu/default.nix
@@ -39,7 +39,7 @@ let
};
in
-pkgs.writeDashBin "fzfmenu" ''
+pkgs.writers.writeDashBin "fzfmenu" ''
set -efu
# Spawn terminal if called without one, like e.g. from a window manager.
diff --git a/krebs/5pkgs/simple/htgen-paste/src/htgen-paste b/krebs/5pkgs/simple/htgen-paste/src/htgen-paste
index bc806e87..74266e53 100644
--- a/krebs/5pkgs/simple/htgen-paste/src/htgen-paste
+++ b/krebs/5pkgs/simple/htgen-paste/src/htgen-paste
@@ -46,8 +46,8 @@ case "$Method $abs_path" in
cp -v $content $item >&2
fi
- if test -n ${reg_content_type-}; then
- echo -n "$req_content_type" > "$item".content_type
+ if test -n "${req_content_type_override-}"; then
+ echo -n "$req_content_type_override" > "$item".content_type
fi
base32short=$(echo $base32 | cut -b-7)
diff --git a/krebs/5pkgs/simple/irc-announce/default.nix b/krebs/5pkgs/simple/irc-announce/default.nix
index 7b2af030..75036d41 100644
--- a/krebs/5pkgs/simple/irc-announce/default.nix
+++ b/krebs/5pkgs/simple/irc-announce/default.nix
@@ -1,6 +1,6 @@
{ pkgs, lib, ... }:
-pkgs.writeDashBin "irc-announce" ''
+pkgs.writers.writeDashBin "irc-announce" ''
set -euf
IRC_SERVER=$1
diff --git a/krebs/5pkgs/simple/netcup/default.nix b/krebs/5pkgs/simple/netcup/default.nix
index 408672ef..750e9cfa 100644
--- a/krebs/5pkgs/simple/netcup/default.nix
+++ b/krebs/5pkgs/simple/netcup/default.nix
@@ -3,7 +3,7 @@ with stockholm.lib;
let
readJSON = path: fromJSON (readFile path);
- sed.escape = replaceChars ["/"] ["\\/"]; # close enough
+ sed.escape = replaceStrings ["/"] ["\\/"]; # close enough
PATH = makeBinPath [
coreutils
curl
diff --git a/krebs/5pkgs/simple/realwallpaper/default.nix b/krebs/5pkgs/simple/realwallpaper/default.nix
index 236d75d7..544abb3a 100644
--- a/krebs/5pkgs/simple/realwallpaper/default.nix
+++ b/