summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--flake.lock37
-rw-r--r--flake.nix23
-rw-r--r--kartei/default.nix8
-rw-r--r--kartei/tv/default.nix59
-rw-r--r--kartei/tv/hosts/ne.nix39
-rw-r--r--kartei/tv/hosts/ni.nix11
-rw-r--r--kartei/tv/ssh/mv@vod.id_ed25519.pub1
-rw-r--r--kartei/tv/ssh/tv@nomic.id_rsa.pub1
-rw-r--r--kartei/tv/ssh/tv@wu.id_rsa.pub1
-rw-r--r--kartei/tv/ssh/tv@xu.id_rsa.pub1
-rw-r--r--krebs/2configs/nameserver.nix5
-rw-r--r--krebs/2configs/reaktor2.nix4
-rw-r--r--krebs/3modules/airdcpp.nix2
-rw-r--r--krebs/3modules/announce-activation.nix2
-rw-r--r--krebs/3modules/backup.nix2
-rw-r--r--krebs/3modules/brockman.nix2
-rw-r--r--krebs/3modules/build.nix2
-rw-r--r--krebs/3modules/ci/default.nix2
-rw-r--r--krebs/3modules/dns.nix2
-rw-r--r--krebs/3modules/exim-retiolum.nix2
-rw-r--r--krebs/3modules/exim-smarthost.nix2
-rw-r--r--krebs/3modules/exim.nix2
-rw-r--r--krebs/3modules/git.nix2
-rw-r--r--krebs/3modules/hosts.nix2
-rw-r--r--krebs/3modules/htgen.nix2
-rw-r--r--krebs/3modules/iana-etc.nix2
-rw-r--r--krebs/3modules/konsens.nix2
-rw-r--r--krebs/3modules/on-failure.nix2
-rw-r--r--krebs/3modules/permown.nix2
-rw-r--r--krebs/3modules/reaktor2.nix2
-rw-r--r--krebs/3modules/realwallpaper.nix2
-rw-r--r--krebs/3modules/repo-sync.nix2
-rw-r--r--krebs/3modules/secret.nix2
-rw-r--r--krebs/3modules/setuid.nix2
-rw-r--r--krebs/3modules/sync-containers3.nix2
-rw-r--r--krebs/3modules/systemd.nix2
-rw-r--r--krebs/3modules/tinc.nix4
-rw-r--r--krebs/3modules/tinc_graphs.nix2
-rw-r--r--krebs/3modules/urlwatch.nix2
-rw-r--r--krebs/3modules/users.nix2
-rw-r--r--krebs/5pkgs/default.nix5
-rw-r--r--krebs/5pkgs/haskell/reaktor2/default.nix23
-rw-r--r--krebs/5pkgs/simple/bepasty-client-cli/default.nix23
-rw-r--r--krebs/5pkgs/simple/bling/default.nix5
-rw-r--r--krebs/5pkgs/simple/brain/default.nix35
-rw-r--r--krebs/5pkgs/simple/buildbot-classic-slave/default.nix18
-rw-r--r--krebs/5pkgs/simple/cac-panel/default.nix18
-rw-r--r--krebs/5pkgs/simple/certaids.nix11
-rw-r--r--krebs/5pkgs/simple/cgit-clear-cache.nix6
-rw-r--r--krebs/5pkgs/simple/cunicu.nix2
-rw-r--r--krebs/5pkgs/simple/default.nix3
-rw-r--r--krebs/5pkgs/simple/drivedroid-gen-repo/default.nix22
-rw-r--r--krebs/5pkgs/simple/eximlog.nix6
-rw-r--r--krebs/5pkgs/simple/fortclientsslvpn/default.nix14
-rw-r--r--krebs/5pkgs/simple/ftb/default.nix6
-rw-r--r--krebs/5pkgs/simple/games-user-env/default.nix34
-rw-r--r--krebs/5pkgs/simple/generate-secrets/default.nix49
-rw-r--r--krebs/5pkgs/simple/git-hooks/default.nix6
-rw-r--r--krebs/5pkgs/simple/gitignore.nix18
-rw-r--r--krebs/5pkgs/simple/gnokii/default.nix4
-rw-r--r--krebs/5pkgs/simple/goify/default.nix4
-rw-r--r--krebs/5pkgs/simple/internetarchive/default.nix39
-rw-r--r--krebs/5pkgs/simple/irc-announce/default.nix4
-rw-r--r--krebs/5pkgs/simple/krebspaste/default.nix12
-rw-r--r--krebs/5pkgs/simple/logf/default.nix16
-rw-r--r--krebs/5pkgs/simple/nixos-format-error.nix4
-rw-r--r--krebs/5pkgs/simple/ovh-zone/default.nix6
-rw-r--r--krebs/5pkgs/simple/python-dnsstamps.nix2
-rw-r--r--krebs/5pkgs/simple/qrscan.nix7
-rw-r--r--krebs/5pkgs/simple/reaktor2-plugins/default.nix (renamed from krebs/5pkgs/simple/reaktor2-plugins.nix)8
-rwxr-xr-xkrebs/5pkgs/simple/reaktor2-plugins/scripts/random-emoji.sh (renamed from krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh)0
-rwxr-xr-xkrebs/5pkgs/simple/reaktor2-plugins/scripts/random-issue.sh (renamed from krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh)0
-rwxr-xr-xkrebs/5pkgs/simple/reaktor2-plugins/scripts/sed-plugin.py (renamed from krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py)0
-rwxr-xr-xkrebs/5pkgs/simple/reaktor2-plugins/scripts/shack-correct.sh (renamed from krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh)0
-rwxr-xr-xkrebs/5pkgs/simple/reaktor2-plugins/scripts/tell-on_join.sh (renamed from krebs/5pkgs/simple/Reaktor/scripts/tell-on_join.sh)0
-rwxr-xr-xkrebs/5pkgs/simple/reaktor2-plugins/scripts/tell-on_privmsg.sh (renamed from krebs/5pkgs/simple/Reaktor/scripts/tell-on_privmsg.sh)0
-rw-r--r--krebs/5pkgs/simple/realwallpaper/default.nix9
-rw-r--r--krebs/5pkgs/simple/ssh-audit.nix2
-rw-r--r--krebs/5pkgs/simple/tinc_graphs/default.nix6
-rw-r--r--krebs/5pkgs/simple/ukrepl.nix6
-rw-r--r--krebs/5pkgs/simple/untilport/default.nix6
-rw-r--r--krebs/5pkgs/simple/urix.nix17
82 files changed, 296 insertions, 408 deletions
diff --git a/flake.lock b/flake.lock
index 1774af4dd..b11c289b4 100644
--- a/flake.lock
+++ b/flake.lock
@@ -44,6 +44,21 @@
"type": "github"
}
},
+ "flake-utils": {
+ "locked": {
+ "lastModified": 1676283394,
+ "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
"hercules-ci-effects": {
"inputs": {
"flake-parts": [
@@ -70,7 +85,10 @@
}
},
"nix-writers": {
- "flake": false,
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "nixpkgs": "nixpkgs"
+ },
"locked": {
"lastModified": 1677612737,
"narHash": "sha256-UaCKZ4PbMZU6UZH7XNFcjRtd5jheswl66rjZDBfQgp8=",
@@ -87,6 +105,21 @@
},
"nixpkgs": {
"locked": {
+ "lastModified": 1677608380,
+ "narHash": "sha256-k82O23qBAK+43X0KSBjsMYXG2x4kWWXeAmpPTc2KRGY=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "4aba90e89f6d4ac6138939961f62842bd94ec929",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
"lastModified": 1760878510,
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
"owner": "NixOS",
@@ -105,7 +138,7 @@
"inputs": {
"buildbot-nix": "buildbot-nix",
"nix-writers": "nix-writers",
- "nixpkgs": "nixpkgs"
+ "nixpkgs": "nixpkgs_2"
}
},
"treefmt-nix": {
diff --git a/flake.nix b/flake.nix
index 0b8d875c7..c3a218dcf 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,10 +1,7 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
- nix-writers = {
- url = "git+https://cgit.krebsco.de/nix-writers";
- flake = false;
- };
+ nix-writers.url = "git+https://cgit.krebsco.de/nix-writers";
# disko.url = "github:nix-community/disko";
# disko.inputs.nixpkgs.follows = "nixpkgs";
buildbot-nix.url = "github:Mic92/buildbot-nix";
@@ -43,9 +40,21 @@
};
overlays.default = import ./krebs/5pkgs/default.nix;
packages = let
- packageNames = self.lib.attrNames (self.lib.mapNixDir (x: null) ./krebs/5pkgs/simple);
- appliedOverlay = (system: self.overlays.default {} (self.inputs.nixpkgs.legacyPackages.${system} // { lib = self.lib; }));
- in nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: self.lib.getAttrs packageNames (appliedOverlay system));
+ allNames = self.lib.attrNames (self.lib.mapNixDir (x: null) ./krebs/5pkgs/simple);
+ appliedOverlay = (system:
+ let
+ base = self.inputs.nixpkgs.legacyPackages.${system};
+ # Apply nix-writers overlay with fixpoint so its functions can find each other
+ withWriters = nixpkgs.lib.fix (final: base // nix-writers.overlays.default final base);
+ in self.overlays.default {} (withWriters // { lib = self.lib; }));
+ # Only include derivations in packages output
+ getDerivations = overlay: builtins.listToAttrs (builtins.filter (x: x != null) (map (name:
+ let val = overlay.${name} or null;
+ in if val != null && (val.type or null) == "derivation"
+ then { inherit name; value = val; }
+ else null
+ ) allNames));
+ in nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system: getDerivations (appliedOverlay system));
lib = import (self.outPath + "/lib/pure.nix") { lib = nixpkgs.lib; };
};
}
diff --git a/kartei/default.nix b/kartei/default.nix
index 046efdd7b..7624807a0 100644
--- a/kartei/default.nix
+++ b/kartei/default.nix
@@ -1,15 +1,15 @@
-{ config, lib, ... }: let
+{ lib, ... }@arg: let
removeTemplate =
# TODO don't remove during CI
lib.flip builtins.removeAttrs ["template"];
in {
- config =
- lib.mkMerge
+ imports =
(lib.mapAttrsToList
(name: _type: let
path = ./. + "/${name}";
in {
- krebs = import path { inherit config lib; };
+ _file = toString path;
+ krebs = import path arg;
})
(removeTemplate
(lib.filterAttrs
diff --git a/kartei/tv/default.nix b/kartei/tv/default.nix
index e81bdd32b..848646510 100644
--- a/kartei/tv/default.nix
+++ b/kartei/tv/default.nix
@@ -1,29 +1,22 @@
-{ config, lib, ... }@attrs: let
- inherit (builtins)
- getAttr head mapAttrs match pathExists readDir readFile typeOf;
- inherit (lib)
- const hasAttrByPath mapAttrs' mkDefault mkIf optionalAttrs removeSuffix
- toList;
- slib = import ../../lib/pure.nix { inherit lib; };
+{ config, lib, ... }: let
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
+
+ extend = x: f: {
+ lambda = lib.recursiveUpdate x (f x);
+ set = lib.recursiveUpdate x f;
+ }.${builtins.typeOf f};
in {
dns.providers = {
"viljetic.de" = "regfish";
};
hosts =
- mapAttrs
- (hostName: hostFile: let
- hostSource = import hostFile;
- hostConfig = getAttr (typeOf hostSource) {
- lambda = hostSource attrs;
- set = hostSource;
- };
- in slib.evalSubmodule slib.types.host [
- hostConfig
+ builtins.mapAttrs
+ (hostName: lib.flip (builtins.foldl' extend) [
{
name = hostName;
owner = config.krebs.users.tv;
}
- (optionalAttrs (hasAttrByPath ["nets" "retiolum"] hostConfig) {
+ (hostConfig: lib.optionalAttrs (lib.hasAttrByPath ["nets" "retiolum"] hostConfig) {
nets.retiolum = {
ip6.addr =
(slib.krebs.genipv6 "retiolum" "tv" { inherit hostName; }).address;
@@ -31,29 +24,31 @@ in {
})
(let
pubkey-path = ./wiregrill + "/${hostName}.pub";
- in optionalAttrs (pathExists pubkey-path) {
+ in lib.optionalAttrs (builtins.pathExists pubkey-path) {
nets.wiregrill = {
aliases = [
"${hostName}.w"
];
ip6.addr =
(slib.krebs.genipv6 "wiregrill" "tv" { inherit hostName; }).address;
- wireguard.pubkey = readFile pubkey-path;
+ wireguard.pubkey = builtins.readFile pubkey-path;
};
})
- (host: mkIf (host.config.ssh.pubkey != null) {
- ssh.privkey = mapAttrs (const mkDefault) {
- path = "${config.krebs.secret.directory}/ssh.id_${host.config.ssh.privkey.type}";
- type = head (toList (builtins.match "ssh-([^ ]+) .*" host.config.ssh.pubkey));
+ (hostConfig: lib.optionalAttrs (hostConfig.ssh.pubkey or null != null) {
+ ssh.privkey = builtins.mapAttrs (lib.const lib.mkDefault) rec {
+ path = "${config.krebs.secret.directory}/ssh.id_${type}";
+ type = builtins.head (lib.toList (builtins.match "ssh-([^ ]+) .*" hostConfig.ssh.pubkey));
};
})
])
- (mapAttrs'
+ (lib.mapAttrs'
(name: type: {
- name = removeSuffix ".nix" name;
- value = ./hosts + "/${name}";
+ name = lib.removeSuffix ".nix" name;
+ value = lib.toFunction (import (./hosts + "/${name}")) {
+ inherit config lib slib;
+ };
})
- (readDir ./hosts));
+ (builtins.readDir ./hosts));
sitemap = {
"http://cgit.krebsco.de" = {
desc = "Git repositories";
@@ -70,21 +65,21 @@ in {
};
mv-ni = {
mail = "mv@ni.r";
- pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGer9e2+Lew7vnisgBbsFNECEIkpNJgEaqQqgb9inWkQ mv@vod";
+ pubkey = builtins.readFile (./ssh + "/mv@vod.id_ed25519.pub");
};
tv = {
mail = "tv@nomic.r";
- pgp.pubkeys.default = readFile ./pgp/CBF89B0B.asc;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDFR//RnCvEZAt0F6ExDsatKZ/DDdifanuSL360mqOhaFieKI34RoOwfQT9T+Ga52Vh5V2La6esvlph686EdgzeKLvDoxEwFM9ZYFBcMrNzu4bMTlgE7YUYw5JiORyXNfznBGnme6qpuvx9ibYhUyiZo99kM8ys5YrUHrP2JXQJMezDFZHxT4GFMOuSdh/1daGoKKD6hYL/jEHX8CI4E3BSmKK6ygYr1fVX0K0Tv77lIi5mLXucjR7CytWYWYnhM6DC3Hxpv2zRkPgf3k0x/Y1hrw3V/r0Me5h90pd2C8pFaWA2ZoUT/fmyVqvx1tZPYToU/O2dMItY0zgx2kR0yD+6g7Aahz3R+KlXkV8k5c8bbTbfGnZWDR1ZlbLRM9Yt5vosfwapUD90MmVkpmR3wUkO2sUKi80QfC7b4KvSDXQ+MImbGxMaU5Bnsq1PqLN95q+uat3nlAVBAELkcx51FlE9CaIS65y4J7FEDg8BE5JeuCNshh62VSYRXVSFt8bk3f/TFGgzC8OIo14BhVmiRQQ503Z1sROyf5xLX2a/EJavMm1i2Bs2TH6ROKY9z5Pz8hT5US0r381V8oG7TZyLF9HTtoy3wCYsgWA5EmLanjAsVU2YEeAA0rxzdtYP8Y2okFiJ6u+M4HQZ3Wg3peSodyp3vxdYce2vk4EKeqEFuuS82850DYb7Et7fmp+wQQUT8Q/bMO0DreWjHoMM5lE4LJ4ME6AxksmMiFtfo/4Fe2q9D+LAqZ+ANOcv9M+8Rn6ngiYmuRNd0l/a02q1PEvO6vTfXgcl4f7Z1IULHPEaDNZHCJS1K5RXYFqYQ6OHsTmOm7hnwaRAS97+VFMo1i5uvTx9nYaAcY7yzq3Ckfb67dMBKApGOpJpkvPgfrP7bgBO5rOZXM1opXqVPb09nljAhhAhyCTh1e/8+mJrBo0cLQ/LupQzVxGDgm3awSMPxsZAN45PSWz76zzxdDa1MMo51do+VJHfs7Wl0NcXAQrniOBYL9Wqt0qNkn1gY5smkkISGeQ/vxNap4MmzeZE7b5fpOy+2fpcRVQLpc4nooQzJvSVTFz+25lgZ6iHf45K87gQFMIAri1Pf/EDDpL87az+bRWvWi+BA2kMe1kf+Ay1LyMz8r+g51H0ma0bNFh6+fbWMfUiD9JCepIObclnUJ4NlWfcgHxTf17d/4tl6z4DTcLpCCk8Da77JouSHgvtcRbRlFV1OfhWZLXUsrlfpaQTiItv6TGIr3k7+7b66o3Qw/GQVs5GmYifaIZIz8n8my4XjkaMBd0SZfBzzvFjHMq6YUP9+SbjvReqofuoO+5tW1wTYZXitFFBfwuHlXm6w77K5QDBW6olT7pat41/F5eGxLcz tv@wu";
+ pgp.pubkeys.default = builtins.readFile ./pgp/CBF89B0B.asc;
+ pubkey = builtins.readFile (./ssh + "/tv@wu.id_rsa.pub");
uid = 1337; # TODO use default and document what has to be done (for vv)
};
tv-nomic = {
inherit (config.krebs.users.tv) mail;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC3dYR/n4Yw8OsYmfR2rSUG7o10G6AqOlSJHuHSEmANbMkqjiWl1TnpORtt5bAktyAGI4vWf9vhNEnxuIqGXWSV+3yCd7yfBHR1m0Y9QSw6blQ0xc1venl3JU0kpEyJfUn8a9cdXlnRiS0MP1gcsN7Zk8cqBELJYJajkSEnsT4eVaU5/wdnyzUO1fk8D8tFBJbF/tsWDLJPu4P18rpxq4wZgA2qmyHoVDEVlrz2OYcziXT6gpG0JGnToteaNg9ok5QavEYFpp8P+k1AacrBjc1PAb4MaMX1nfkSyaZwSqLdH35XkNRgPhVVmqZ5PlG3VeNpPSwpdcKi8P3zH1xG9g6Usx1SAyvcoAyGHdOwmFuA2tc1HgYEiQ+OsPrHZHujBOOZsKTN9+IZHScCAe+UmUcK413WEZKPs8PeFjf1gQAoDXb55JpksxLAnC/SQOl4FhkctIAXxr12ALlyt9UFPzIoj/Nj2MpFzGSlf653fTFmnMbQ8+GICc4TUpqx5GELZhfQuprBTv/55a9zKvM4B8XT3Bn9olQzMQIXEjXb3WUVFDDNWeNydToorYn1wG3ZWQ+3f0IlqRicWO7Q9BRj1Lp5rcUCb+naJ48tGY6HFUZ1Kz/0x458GDFvUd8mCJjqqmeSkUEeZd0xet5tVFg/bYoSslEqPF6pz7V3ruJMSdYxnQ== tv@nomic #2";
+ pubkey = builtins.readFile (./ssh + "/tv@nomic.id_rsa.pub");
};
tv-xu = {
inherit (config.krebs.users.tv) mail;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC/3nkqxe8YrDVt615n96A7iC3vvwsiqgpsBYC/bhwfBHu1bAtBmTWVqSKDIdwg7p8TQpIKtAgZ3IJT3BlrnVTeR4RIviLjHjYWW1NBhm+nXi+heThgi5fLciE3lVLVsy5X9Kc1ZPLgLa1In0REOanwbueOD0ESN1yKIDwUUdczw/o3dLDMzanqFHKuSSN4o9Ex2x+MRj9eLsb706s4VSYMo3lirRCJeAOGv1C7Xg1cuepdhIeJsq9aF7vSy15c0nCkWwr8zdY7pbMPYCe5zvIEymZ0UowZ5HQ3NmIZnYDxa4E1PFjDczHdQbVmmGMI80grNwMsHzQ6bynHSPXDoLf4WodXlhS0+9Ju5QavDT6uqZ9uhDBuWC8QNgWUMIJnEaTBFyA0OI1akl8Q2RLC+qnNf5IwItSq+GDwEsB2ZJNW3kOk1kNiCUrBafRYpPaFeP97wzzP4uYlBKAr2SOLrrkf7NFEdw2ihxhDMNnps/ErRJ8U0zdpmalw8mItGyqRULpHjk/wN00rYOdBIhW3G3QJuVgtGnWtGCBG5x70EfMiSEXPD3YSsVVsgKD+v8qr+YiilRRD+N3gaHhiOWA6HgxRNul/P4llk0ktTpb9LoHk2+oooTH5ZuuT/8yF8J4stZt7EIOH+mSOAXG1z0BwnEkQu7pVKwu/oOZpGJTvBrGwww== tv@xu";
+ pubkey = builtins.readFile (./ssh + "/tv@xu.id_rsa.pub");
};
vv = {
mail = "vv@mu.r";
diff --git a/kartei/tv/hosts/ne.nix b/kartei/tv/hosts/ne.nix
new file mode 100644
index 000000000..584d7c433
--- /dev/null
+++ b/kartei/tv/hosts/ne.nix
@@ -0,0 +1,39 @@
+{ config, ... }: {
+ extraZones = {
+ "krebsco.de" = ''
+ @ 60 IN MX 5 ne
+ ne 60 IN A ${config.krebs.hosts.ne.nets.internet.ip4.addr}
+ ne 60 IN AAAA ${config.krebs.hosts.ne.nets.internet.ip6.addr}
+ tv 300 IN NS ne
+ '';
+ };
+ nets = {
+ internet = {
+ aliases = [
+ "ne.i"
+ ];
+ ip4 = {
+ addr = "159.195.31.38";
+ };
+ ip6 = {
+ addr = "2a0a:4cc0:c1:5eb0::1";
+ prefixLength = 64;
+ };
+ ssh.port = 11423;
+ };
+ mycelium = {
+ aliases = [
+ "ne.m"
+ ];
+ ip6.addr = "45f:fa21:4bdd:a758:8091:947d:fe84:fac3";
+ };
+ retiolum = {
+ aliases = [
+ "ne.r"
+ ];
+ };
+ wiregrill = {
+ ip4.addr = "10.244.3.2";
+ };
+ };
+}
diff --git a/kartei/tv/hosts/ni.nix b/kartei/tv/hosts/ni.nix
index d64874d9c..3e3d81c37 100644
--- a/kartei/tv/hosts/ni.nix
+++ b/kartei/tv/hosts/ni.nix
@@ -1,6 +1,4 @@
-{ config, lib, ... }: let
- slib = import ../../../lib/pure.nix { inherit lib; };
-in {
+{ config, lib, slib, ... }: {
extraZones = {
"krebsco.de" = ''
ni 60 IN A ${config.krebs.hosts.ni.nets.internet.ip4.addr}
@@ -18,13 +16,12 @@ in {
};
nets = {
internet = {
- ip4 = rec {
+ ip4 = {
addr = "185.162.251.237";
- prefix = "${addr}/32";
};
- ip6 = rec {
+ ip6 = {
addr = "2a03:4000:1a:cf::1";
- prefix = "${addr}/64";
+ prefixLength = 64;
};
aliases = [
"ni.i"
diff --git a/kartei/tv/ssh/mv@vod.id_ed25519.pub b/kartei/tv/ssh/mv@vod.id_ed25519.pub
new file mode 100644
index 000000000..7b7d2e260
--- /dev/null
+++ b/kartei/tv/ssh/mv@vod.id_ed25519.pub
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGer9e2+Lew7vnisgBbsFNECEIkpNJgEaqQqgb9inWkQ mv@vod
diff --git a/kartei/tv/ssh/tv@nomic.id_rsa.pub b/kartei/tv/ssh/tv@nomic.id_rsa.pub
new file mode 100644
index 000000000..519beb0e6
--- /dev/null
+++ b/kartei/tv/ssh/tv@nomic.id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC3dYR/n4Yw8OsYmfR2rSUG7o10G6AqOlSJHuHSEmANbMkqjiWl1TnpORtt5bAktyAGI4vWf9vhNEnxuIqGXWSV+3yCd7yfBHR1m0Y9QSw6blQ0xc1venl3JU0kpEyJfUn8a9cdXlnRiS0MP1gcsN7Zk8cqBELJYJajkSEnsT4eVaU5/wdnyzUO1fk8D8tFBJbF/tsWDLJPu4P18rpxq4wZgA2qmyHoVDEVlrz2OYcziXT6gpG0JGnToteaNg9ok5QavEYFpp8P+k1AacrBjc1PAb4MaMX1nfkSyaZwSqLdH35XkNRgPhVVmqZ5PlG3VeNpPSwpdcKi8P3zH1xG9g6Usx1SAyvcoAyGHdOwmFuA2tc1HgYEiQ+OsPrHZHujBOOZsKTN9+IZHScCAe+UmUcK413WEZKPs8PeFjf1gQAoDXb55JpksxLAnC/SQOl4FhkctIAXxr12ALlyt9UFPzIoj/Nj2MpFzGSlf653fTFmnMbQ8+GICc4TUpqx5GELZhfQuprBTv/55a9zKvM4B8XT3Bn9olQzMQIXEjXb3WUVFDDNWeNydToorYn1wG3ZWQ+3f0IlqRicWO7Q9BRj1Lp5rcUCb+naJ48tGY6HFUZ1Kz/0x458GDFvUd8mCJjqqmeSkUEeZd0xet5tVFg/bYoSslEqPF6pz7V3ruJMSdYxnQ== tv@nomic #2
diff --git a/kartei/tv/ssh/tv@wu.id_rsa.pub b/kartei/tv/ssh/tv@wu.id_rsa.pub
new file mode 100644
index 000000000..b6e2634e8
--- /dev/null
+++ b/kartei/tv/ssh/tv@wu.id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDFR//RnCvEZAt0F6ExDsatKZ/DDdifanuSL360mqOhaFieKI34RoOwfQT9T+Ga52Vh5V2La6esvlph686EdgzeKLvDoxEwFM9ZYFBcMrNzu4bMTlgE7YUYw5JiORyXNfznBGnme6qpuvx9ibYhUyiZo99kM8ys5YrUHrP2JXQJMezDFZHxT4GFMOuSdh/1daGoKKD6hYL/jEHX8CI4E3BSmKK6ygYr1fVX0K0Tv77lIi5mLXucjR7CytWYWYnhM6DC3Hxpv2zRkPgf3k0x/Y1hrw3V/r0Me5h90pd2C8pFaWA2ZoUT/fmyVqvx1tZPYToU/O2dMItY0zgx2kR0yD+6g7Aahz3R+KlXkV8k5c8bbTbfGnZWDR1ZlbLRM9Yt5vosfwapUD90MmVkpmR3wUkO2sUKi80QfC7b4KvSDXQ+MImbGxMaU5Bnsq1PqLN95q+uat3nlAVBAELkcx51FlE9CaIS65y4J7FEDg8BE5JeuCNshh62VSYRXVSFt8bk3f/TFGgzC8OIo14BhVmiRQQ503Z1sROyf5xLX2a/EJavMm1i2Bs2TH6ROKY9z5Pz8hT5US0r381V8oG7TZyLF9HTtoy3wCYsgWA5EmLanjAsVU2YEeAA0rxzdtYP8Y2okFiJ6u+M4HQZ3Wg3peSodyp3vxdYce2vk4EKeqEFuuS82850DYb7Et7fmp+wQQUT8Q/bMO0DreWjHoMM5lE4LJ4ME6AxksmMiFtfo/4Fe2q9D+LAqZ+ANOcv9M+8Rn6ngiYmuRNd0l/a02q1PEvO6vTfXgcl4f7Z1IULHPEaDNZHCJS1K5RXYFqYQ6OHsTmOm7hnwaRAS97+VFMo1i5uvTx9nYaAcY7yzq3Ckfb67dMBKApGOpJpkvPgfrP7bgBO5rOZXM1opXqVPb09nljAhhAhyCTh1e/8+mJrBo0cLQ/LupQzVxGDgm3awSMPxsZAN45PSWz76zzxdDa1MMo51do+VJHfs7Wl0NcXAQrniOBYL9Wqt0qNkn1gY5smkkISGeQ/vxNap4MmzeZE7b5fpOy+2fpcRVQLpc4nooQzJvSVTFz+25lgZ6iHf45K87gQFMIAri1Pf/EDDpL87az+bRWvWi+BA2kMe1kf+Ay1LyMz8r+g51H0ma0bNFh6+fbWMfUiD9JCepIObclnUJ4NlWfcgHxTf17d/4tl6z4DTcLpCCk8Da77JouSHgvtcRbRlFV1OfhWZLXUsrlfpaQTiItv6TGIr3k7+7b66o3Qw/GQVs5GmYifaIZIz8n8my4XjkaMBd0SZfBzzvFjHMq6YUP9+SbjvReqofuoO+5tW1wTYZXitFFBfwuHlXm6w77K5QDBW6olT7pat41/F5eGxLcz tv@wu
diff --git a/kartei/tv/ssh/tv@xu.id_rsa.pub b/kartei/tv/ssh/tv@xu.id_rsa.pub
new file mode 100644
index 000000000..76d4f6962
--- /dev/null
+++ b/kartei/tv/ssh/tv@xu.id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC/3nkqxe8YrDVt615n96A7iC3vvwsiqgpsBYC/bhwfBHu1bAtBmTWVqSKDIdwg7p8TQpIKtAgZ3IJT3BlrnVTeR4RIviLjHjYWW1NBhm+nXi+heThgi5fLciE3lVLVsy5X9Kc1ZPLgLa1In0REOanwbueOD0ESN1yKIDwUUdczw/o3dLDMzanqFHKuSSN4o9Ex2x+MRj9eLsb706s4VSYMo3lirRCJeAOGv1C7Xg1cuepdhIeJsq9aF7vSy15c0nCkWwr8zdY7pbMPYCe5zvIEymZ0UowZ5HQ3NmIZnYDxa4E1PFjDczHdQbVmmGMI80grNwMsHzQ6bynHSPXDoLf4WodXlhS0+9Ju5QavDT6uqZ9uhDBuWC8QNgWUMIJnEaTBFyA0OI1akl8Q2RLC+qnNf5IwItSq+GDwEsB2ZJNW3kOk1kNiCUrBafRYpPaFeP97wzzP4uYlBKAr2SOLrrkf7NFEdw2ihxhDMNnps/ErRJ8U0zdpmalw8mItGyqRULpHjk/wN00rYOdBIhW3G3QJuVgtGnWtGCBG5x70EfMiSEXPD3YSsVVsgKD+v8qr+YiilRRD+N3gaHhiOWA6HgxRNul/P4llk0ktTpb9LoHk2+oooTH5ZuuT/8yF8J4stZt7EIOH+mSOAXG1z0BwnEkQu7pVKwu/oOZpGJTvBrGwww== tv@xu
diff --git a/krebs/2configs/nameserver.nix b/krebs/2configs/nameserver.nix
index 633f6f5d5..fb22dc6f9 100644
--- a/krebs/2configs/nameserver.nix
+++ b/krebs/2configs/nameserver.nix
@@ -66,6 +66,10 @@ in {
- id: hostingde_ns1
address: 134.0.30.178
+ - id: krebscode_ne
+ address: ${config.krebs.hosts.ne.nets.internet.ip4.addr}
+ key: krebs_transfer_notify_key
+
- id: krebscode_ni
address: ${config.krebs.hosts.ni.nets.internet.ip4.addr}
key: krebs_transfer_notify_key
@@ -119,6 +123,7 @@ in {
dnssec-policy: rsa2k
notify: henet_ns1
notify: hostingde_ns1
+ notify: krebscode_ne
notify: krebscode_ni
acl: transfer_to_henet_secondary
acl: transfer_to_hostingde_secondary
diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix
index faabf7677..e7d348d50 100644
--- a/krebs/2configs/reaktor2.nix
+++ b/krebs/2configs/reaktor2.nix
@@ -293,7 +293,7 @@ let
{
activate = "always";
command = {
- filename = ../5pkgs/simple/Reaktor/scripts/tell-on_join.sh;
+ filename = ../5pkgs/simple/reaktor2-plugins/scripts/tell-on_join.sh;
env = {
PATH = makeBinPath [
pkgs.coreutils # XXX env, touch
@@ -415,7 +415,7 @@ let
(generators.command_hook {
inherit (commands) dance random-emoji nixos-version;
tell = {
- filename = ../5pkgs/simple/Reaktor/scripts/tell-on_privmsg.sh;
+ filename = ../5pkgs/simple/reaktor2-plugins/scripts/tell-on_privmsg.sh;
env = {
PATH = makeBinPath [
pkgs.coreutils # XXX date, env
diff --git a/krebs/3modules/airdcpp.nix b/krebs/3modules/airdcpp.nix
index acd007cb8..901b1eb87 100644
--- a/krebs/3modules/airdcpp.nix
+++ b/krebs/3modules/airdcpp.nix
@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
let
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
cfg = config.krebs.airdcpp;
out = {
diff --git a/krebs/3modules/announce-activation.nix b/krebs/3modules/announce-activation.nix
index fa0f1530c..1c4067e7a 100644
--- a/krebs/3modules/announce-activation.nix
+++ b/krebs/3modules/announce-activation.nix
@@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }:
let
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
cfg = config.krebs.announce-activation;
announce-activation = pkgs.writeDash "announce-activation" ''
set -efu
diff --git a/krebs/3modules/backup.nix b/krebs/3modules/backup.nix
index 900be5139..2be3a1422 100644
--- a/krebs/3modules/backup.nix
+++ b/krebs/3modules/backup.nix
@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
out = {
options.krebs.backup = api;
diff --git a/krebs/3modules/brockman.nix b/krebs/3modules/brockman.nix
index a3acf83cf..e7847aa09 100644
--- a/krebs/3modules/brockman.nix
+++ b/krebs/3modules/brockman.nix
@@ -1,7 +1,7 @@
{ pkgs, config, lib, ... }:
with lib;
let
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
cfg = config.krebs.brockman;
in {
options.krebs.brockman = {
diff --git a/krebs/3modules/build.nix b/krebs/3modules/build.nix
index bf20cb099..6480c300f 100644
--- a/krebs/3modules/build.nix
+++ b/krebs/3modules/build.nix
@@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
{
options.krebs.build = {
diff --git a/krebs/3modules/ci/default.nix b/krebs/3modules/ci/default.nix
index 5035a11a8..1f029276a 100644
--- a/krebs/3modules/ci/default.nix
+++ b/krebs/3modules/ci/default.nix
@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }:
-with import ../../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../../lib/pure.nix { inherit lib; });
let
cfg = config.krebs.ci;
diff --git a/krebs/3modules/dns.nix b/krebs/3modules/dns.nix
index a268b931c..fd672a890 100644
--- a/krebs/3modules/dns.nix
+++ b/krebs/3modules/dns.nix
@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; }; {
+with lib.slib or (import ../../lib/pure.nix { inherit lib; }); {
options = {
krebs.dns.providers = mkOption {
type = types.attrsOf types.str;
diff --git a/krebs/3modules/exim-retiolum.nix b/krebs/3modules/exim-retiolum.nix
index f78f1746c..b5f8d187a 100644
--- a/krebs/3modules/exim-retiolum.nix
+++ b/krebs/3modules/exim-retiolum.nix
@@ -1,5 +1,5 @@
{ config, pkgs, lib, ... }:
-with import ../../lib/pure.nix { inherit lib; }; let
+with lib.slib or (import ../../lib/pure.nix { inherit lib; }); let
cfg = config.krebs.exim-retiolum;
# Due to improvements to the JSON notation, braces around top-level objects
diff --git a/krebs/3modules/exim-smarthost.nix b/krebs/3modules/exim-smarthost.nix
index 4e42ce72e..14963f472 100644
--- a/krebs/3modules/exim-smarthost.nix
+++ b/krebs/3modules/exim-smarthost.nix
@@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
cfg = config.krebs.exim-smarthost;
diff --git a/krebs/3modules/exim.nix b/krebs/3modules/exim.nix
index 583fd07b1..bb749b273 100644
--- a/krebs/3modules/exim.nix
+++ b/krebs/3modules/exim.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }: with import ../../lib/pure.nix { inherit lib; }; let
+{ config, lib, pkgs, ... }: with lib.slib or (import ../../lib/pure.nix { inherit lib; }); let
cfg = config.krebs.exim;
in {
options.krebs.exim = {
diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix
index 6d666b6d6..8b8f205dc 100644
--- a/krebs/3modules/git.nix
+++ b/krebs/3modules/git.nix
@@ -6,7 +6,7 @@
# TODO when authorized_keys changes, then restart ssh
# (or kill already connected users somehow)
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
cfg = config.krebs.git;
diff --git a/krebs/3modules/hosts.nix b/krebs/3modules/hosts.nix
index 2333d0a8d..51aeefb9f 100644
--- a/krebs/3modules/hosts.nix
+++ b/krebs/3modules/hosts.nix
@@ -3,7 +3,7 @@ with lib; let
check = hostname: any (domain: hasSuffix ".${domain}" hostname) domains;
domains = attrNames (filterAttrs (_: slib.eq "hosts") config.krebs.dns.providers);
# we need this import because we have infinite recursion otherwise
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
in {
options = {
diff --git a/krebs/3modules/htgen.nix b/krebs/3modules/htgen.nix
index 334a83cb3..020b3eaea 100644
--- a/krebs/3modules/htgen.nix
+++ b/krebs/3modules/htgen.nix
@@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
optionalAttr = name: value:
if name != null then
diff --git a/krebs/3modules/iana-etc.nix b/krebs/3modules/iana-etc.nix
index dabe2f8aa..8858c6ed5 100644
--- a/krebs/3modules/iana-etc.nix
+++ b/krebs/3modules/iana-etc.nix
@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }: let
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
in with lib; {
options.krebs.iana-etc.services = mkOption {
diff --git a/krebs/3modules/konsens.nix b/krebs/3modules/konsens.nix
index 0463de53f..b71cb2ba9 100644
--- a/krebs/3modules/konsens.nix
+++ b/krebs/3modules/konsens.nix
@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
cfg = config.krebs.konsens;
diff --git a/krebs/3modules/on-failure.nix b/krebs/3modules/on-failure.nix
index 11d2b4194..d87b279a0 100644
--- a/krebs/3modules/on-failure.nix
+++ b/krebs/3modules/on-failure.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }: with import ../../lib/pure.nix { inherit lib; }; let
+{ config, lib, pkgs, ... }: with lib.slib or (import ../../lib/pure.nix { inherit lib; }); let
out = {
options.krebs.on-failure = api;
config = lib.mkIf cfg.enable imp;
diff --git a/krebs/3modules/permown.nix b/krebs/3modules/permown.nix
index ae8702978..d65ce2a31 100644
--- a/krebs/3modules/permown.nix
+++ b/krebs/3modules/permown.nix
@@ -1,5 +1,5 @@
{ config, pkgs, lib, ... }: let
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
in
with lib; {
diff --git a/krebs/3modules/reaktor2.nix b/krebs/3modules/reaktor2.nix
index aa6254786..b977df99a 100644
--- a/krebs/3modules/reaktor2.nix
+++ b/krebs/3modules/reaktor2.nix
@@ -1,5 +1,5 @@
{ config, pkgs, lib, ... }:
-with import ../../lib/pure.nix { inherit lib; }; {
+with lib.slib or (import ../../lib/pure.nix { inherit lib; }); {
options.krebs.reaktor2 = mkOption {
default = {};
diff --git a/krebs/3modules/realwallpaper.nix b/krebs/3modules/realwallpaper.nix
index a65a22b29..21603d94c 100644
--- a/krebs/3modules/realwallpaper.nix
+++ b/krebs/3modules/realwallpaper.nix
@@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
cfg = config.krebs.realwallpaper;
diff --git a/krebs/3modules/repo-sync.nix b/krebs/3modules/repo-sync.nix
index 5208d91ae..7b2be4057 100644
--- a/krebs/3modules/repo-sync.nix
+++ b/krebs/3modules/repo-sync.nix
@@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
cfg = config.krebs.repo-sync;
diff --git a/krebs/3modules/secret.nix b/krebs/3modules/secret.nix
index c35dceba3..13c4ecaec 100644
--- a/krebs/3modules/secret.nix
+++ b/krebs/3modules/secret.nix
@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; }; let
+with lib.slib or (import ../../lib/pure.nix { inherit lib; }); let
cfg = config.krebs.secret;
in {
options.krebs.secret = {
diff --git a/krebs/3modules/setuid.nix b/krebs/3modules/setuid.nix
index e3108d88e..ce41548ae 100644
--- a/krebs/3modules/setuid.nix
+++ b/krebs/3modules/setuid.nix
@@ -1,5 +1,5 @@
{ config, pkgs, lib, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
out = {
diff --git a/krebs/3modules/sync-containers3.nix b/krebs/3modules/sync-containers3.nix
index 12a5ee4e7..872f04db2 100644
--- a/krebs/3modules/sync-containers3.nix
+++ b/krebs/3modules/sync-containers3.nix
@@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }: let
cfg = config.krebs.sync-containers3;
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
in {
options.krebs.sync-containers3 = {
inContainer = {
diff --git a/krebs/3modules/systemd.nix b/krebs/3modules/systemd.nix
index 754b25675..c0bd4768b 100644
--- a/krebs/3modules/systemd.nix
+++ b/krebs/3modules/systemd.nix
@@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }: let {
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
body.options.krebs.systemd.services = lib.mkOption {
default = {};
diff --git a/krebs/3modules/tinc.nix b/krebs/3modules/tinc.nix
index d73d5ca61..02b3eeb9d 100644
--- a/krebs/3modules/tinc.nix
+++ b/krebs/3modules/tinc.nix
@@ -1,5 +1,5 @@
{ config, pkgs, lib, ... }:
-with import ../../lib/pure.nix { inherit lib; }; {
+with lib.slib or (import ../../lib/pure.nix { inherit lib; }); {
options.krebs.tinc = mkOption {
default = {};
description = ''
@@ -91,7 +91,7 @@ with import ../../lib/pure.nix { inherit lib; }; {
hosts = mkOption {
type = with types; attrsOf host;
default =
- filterAttrs (_: h: hasAttr tinc.config.netname h.nets) config.krebs.hosts;
+ filterAttrs (_: h: hasAttr tinc.config.netname h.nets && h.nets.${tinc.config.netname}.tinc.config or null != null) config.krebs.hosts;
defaultText = "‹all-hosts-of-‹netname››";
description = ''
Hosts to generate <literal>config.krebs.tinc.retiolum.hostsPackage</literal>.
diff --git a/krebs/3modules/tinc_graphs.nix b/krebs/3modules/tinc_graphs.nix
index dd132a2de..c8c75f919 100644
--- a/krebs/3modules/tinc_graphs.nix
+++ b/krebs/3modules/tinc_graphs.nix
@@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }:
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
cfg = config.krebs.tinc_graphs;
internal_dir = "${cfg.workingDir}/internal";
diff --git a/krebs/3modules/urlwatch.nix b/krebs/3modules/urlwatch.nix
index b811b6fa6..8d3bdfbe0 100644
--- a/krebs/3modules/urlwatch.nix
+++ b/krebs/3modules/urlwatch.nix
@@ -4,7 +4,7 @@
# TODO inform about unused caches
# cache = url: "${cfg.dataDir}/.urlwatch/cache/${hashString "sha1" url}"
-with import ../../lib/pure.nix { inherit lib; };
+with lib.slib or (import ../../lib/pure.nix { inherit lib; });
let
cfg = config.krebs.urlwatch;
diff --git a/krebs/3modules/users.nix b/krebs/3modules/users.nix
index 614e6ab42..d41b34f7d 100644
--- a/krebs/3modules/users.nix
+++ b/krebs/3modules/users.nix
@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }: let
- slib = import ../../lib/pure.nix { inherit lib; };
+ slib = lib.slib or (import ../../lib/pure.nix { inherit lib; });
in {
options.krebs.users = lib.mkOption {
type = lib.types.attrsOf slib.types.user;
diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix
index 866796a4e..f726475dd 100644
--- a/krebs/5pkgs/default.nix
+++ b/krebs/5pkgs/default.nix
@@ -8,7 +8,10 @@ with stockholm.lib;
fix (foldl' (flip extends) (self: super) (
[
- (self: super: { inherit stockholm; })
+ (self: super: {
+ inherit stockholm;
+ inherit (super.writers) writeBash writeBashBin writeDash writeDashBin writeJSON;
+ })
]
++
(map
diff --git a/krebs/5pkgs/haskell/reaktor2/default.nix b/krebs/5pkgs/haskell/reaktor2/default.nix
index 3f227a4d6..f40b3cc89 100644
--- a/krebs/5pkgs/haskell/reaktor2/default.nix
+++ b/krebs/5pkgs/haskell/reaktor2/default.nix
@@ -1,28 +1,29 @@
-{ mkDerivation, aeson, async, attoparsec, base, blessings
-, bytestring, containers, data-default, filepath, hashable, lens
-, lens-aeson, lib, network, network-simple, network-simple-tls
-, network-uri, pcre-light, process, random, servant-server
-, string-conversions, stringsearch, text, time, transformers
-, unagi-chan, unix, unordered-containers, vector, wai, warp
-, fetchgit
+{ mkDerivation, aeson, async, attoparsec, base, base64, blessings
+, bytestring, containers, data-default, fetchgit, filepath
+, hashable, lens, lens-aeson, lib, network, network-simple
+, network-simple-tls, network-uri, pcre-light, process, random
+, servant-server, string-conversions, stringsearch, text, time
+, transformers, unagi-chan, unix, unordered-containers, vector, wai
+, warp
}:
mkDerivation {
pname = "reaktor2";
- version = "0.4.3";
+ version = "0.4.4";
src = fetchgit {
url = "https://cgit.krebsco.de/reaktor2";
- hash = "sha256-gsYMtPaljHBgIVV2+uwyyklOhQjLFdTBVRGG3UVeIVw=";
- rev = "30309581b7ae02b466b466af43009b6b1edb9b39";
+ sha256 = "1r0dbhniq81z2akb3lxng92y288d7pffj5byyq9mbry241np7631";
+ rev = "f50e8b2186042f40392c823845eb3a184d0278de";
fetchSubmodules = true;
};
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
- aeson async attoparsec base blessings bytestring containers
+ aeson async attoparsec base base64 blessings bytestring containers
data-default filepath hashable lens lens-aeson network
network-simple network-simple-tls network-uri pcre-light process
random servant-server string-conversions stringsearch text time
transformers unagi-chan unix unordered-containers vector wai warp
];
license = lib.licenses.mit;
+ mainProgram = "reaktor";
}
diff --git a/krebs/5pkgs/simple/bepasty-client-cli/default.nix b/krebs/5pkgs/simple/bepasty-client-cli/default.nix
deleted file mode 100644
index 7811ef5fc..000000000
--- a/krebs/5pkgs/simple/bepasty-client-cli/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, pkgs, pythonPackages, fetchFromGitHub, ... }:
-
-with pythonPackages; buildPythonPackage rec {
- name = "bepasty-client-cli";
- propagatedBuildInputs = [
- python_magic
- click
- requests
- ];
-
- src = fetchFromGitHub {
- owner = "bepasty";
- repo = "bepasty-client-cli";
- rev = "4b7135ba8ba1e17501de08ad7b6aca73c0d949d2";
- sha256 = "1svchyk9zai1vip9ppm12jm7wfjbdr9ijhgcd2n10xh73jrn9cnc";
- };
-
- meta = {
- homepage = https://github.com/bepasty/bepasty-client-cli;
- description = "CLI client for bepasty-server";
- license = lib.licenses.bsd2;
- };
-}
diff --git a/krebs/5pkgs/simple/bling/default.nix b/krebs/5pkgs/simple/bling/default.nix
index 1c8610325..186aaa85e 100644
--- a/krebs/5pkgs/simple/bling/default.nix
+++ b/krebs/5pkgs/simple/bling/default.nix
@@ -1,4 +1,7 @@
-{ imagemagick, runCommand, stockholm, ... }:
+{ imagemagick, runCommand, lib, ... }:
+let
+ stockholm.lib = import ../../../../lib/pure.nix { inherit lib; };
+in
with stockholm.lib;
let
diff --git a/krebs/5pkgs/simple/brain/default.nix b/krebs/5pkgs/simple/brain/default.nix
index d7e36a527..9f183cfe9 100644
--- a/krebs/5pkgs/simple/brain/default.nix
+++ b/krebs/5pkgs/simple/brain/default.nix
@@ -4,25 +4,30 @@ let
pass = pkgs.pass.withExtensions (ext: [
ext.pass-otp
]);
-in
-pkgs.write "brain" {
- "/bin/brain".link = pkgs.writeDash "brain" ''
+ brain = pkgs.writeDash "brain" ''
PASSWORD_STORE_DIR=$HOME/brain \
exec ${pass}/bin/pass "$@"
'';
- "/bin/brainmenu".link = pkgs.writeDash "brainmenu" ''
+
+ brainmenu = pkgs.writeDash "brainmenu" ''
PASSWORD_STORE_DIR=$HOME/brain \
exec ${pass}/bin/passmenu "$@"
'';
- "/share/bash-completion/completions/brain".link =
- pkgs.runCommand "brain-completions" {
- } /* sh */ ''
- sed -r '
- s/\<_pass?(_|\>)/_brain\1/g
- s/\<__password_store/_brain/g
- s/\<pass\>/brain/
- s/\$HOME\/\.password-store/$HOME\/brain/
- ' < ${pass}/share/bash-completion/completions/pass > $out
- '';
-}
+
+ completions = pkgs.runCommand "brain-completions" {} ''
+ sed -r '
+ s/\<_pass?(_|\>)/_brain\1/g
+ s/\<__password_store/_brain/g
+ s/\<pass\>/brain/
+ s/\$HOME\/\.password-store/$HOME\/brain/
+ ' < ${pass}/share/bash-completion/completions/pass > $out
+ '';
+in
+
+pkgs.runCommand "brain" {} ''
+ mkdir -p $out/bin $out/share/bash-completion/completions
+ ln -s ${brain} $out/bin/brain
+ ln -s ${brainmenu} $out/bin/brainmenu
+ ln -s ${completions} $out/share/bash-completion/completions/brain
+''
diff --git a/krebs/5pkgs/simple/buildbot-classic-slave/default.nix b/krebs/5pkgs/simple/buildbot-classic-slave/default.nix
deleted file mode 100644
index a48c45ae0..000000000
--- a/krebs/5pkgs/simple/buildbot-classic-slave/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ coreutils, fetchgit, git, buildbot-classic, python2Packages, ... }:
-
-python2Packages.buildPythonApplication {
- name = "buildbot-classic-slave-${buildbot-classic.version}";
- namePrefix = "";
-
- src = buildbot-classic.src;
- postUnpack = "sourceRoot=\${sourceRoot}/slave";
-
- nativeBuildInputs = [ git ];
- propagatedBuildInputs = [ python2Packages.twisted ];
- doCheck = false;
-
- postInstall = ''
- mkdir -p "$out/share/man/man1"
- cp docs/buildslave.1 "$out/share/man/man1"
- '';
-}
diff --git a/krebs/5pkgs/simple/cac-panel/default.nix b/krebs/5pkgs/simple/cac-panel/default.nix
deleted file mode 100644
index 57f58f4de..000000000
--- a/krebs/5pkgs/simple/cac-panel/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{pkgs, python3Packages, ...}:
-
-python3Packages.buildPythonPackage rec {
- name = "cac-panel-${version}";
- version = "0.4.4";
-
- src = pkgs.fetchurl {
- url = "https://pypi.python.org/packages/source/c/cac-panel/cac-panel-${version}.tar.gz";
- sha256 = "16bx67fsbgwxciik42jhdnfzxx1xp5b0rimzrif3r7h4fawlnld8";
- };
-
- propagatedBuildInputs = with python3Packages; [
- docopt
- requests
- beautifulsoup4
- ];
-}
-
diff --git a/krebs/5pkgs/simple/certaids.nix b/krebs/5pkgs/simple/certaids.nix
index 34f4c3e14..094868680 100644
--- a/krebs/5pkgs/simple/certaids.nix
+++ b/krebs/5pkgs/simple/certaids.nix
@@ -1,7 +1,7 @@
{ pkgs }:
-pkgs.write "certaids" {
- "/bin/cert2json".link = pkgs.writeDash "cert2json" ''
+let
+ cert2json = pkgs.writeDash "cert2json" ''
# usage: cert2json < CERT > JSON
set -efu
@@ -106,4 +106,9 @@ pkgs.write "certaids" {
}
''}
'';
-}
+in
+
+pkgs.runCommand "certaids" {} ''
+ mkdir -p $out/bin
+ ln -s ${cert2json} $out/bin/cert2json
+''
diff --git a/krebs/5pkgs/simple/cgit-clear-cache.nix b/krebs/5pkgs/simple/cgit-clear-cache.nix
index 31a2eccb3..e630a4066 100644
--- a/krebs/5pkgs/simple/cgit-clear-cache.nix
+++ b/krebs/5pkgs/simple/cgit-clear-cache.nix
@@ -1,4 +1,8 @@
-{ cache-root ? "/tmp/cgit", findutils, stockholm, writeDashBin }:
+{ cache-root ? "/tmp/cgit", findutils, lib, writeDashBin }:
+
+let
+ stockholm.lib = import ../../../lib/pure.nix { inherit lib; };
+in
writeDashBin "cgit-clear-cache" ''
set -efu
diff --git a/krebs/5pkgs/simple/cunicu.nix b/krebs/5pkgs/simple/cunicu.nix
index 4375a760c..8e193d455 100644
--- a/krebs/5pkgs/simple/cunicu.nix
+++ b/krebs/5pkgs/simple/cunicu.nix
@@ -1,6 +1,6 @@
{ lib, pkgs }:
-pkgs.buildGo120Module rec {
+pkgs.buildGoModule rec {
pname = "cunicu";
version = "g${lib.substring 0 7 src.rev}";
diff --git a/krebs/5pkgs/simple/default.nix b/krebs/5pkgs/simple/default.nix
index 76ad6ff10..a07e88c3b 100644
--- a/krebs/5pkgs/simple/default.nix
+++ b/krebs/5pkgs/simple/default.nix
@@ -3,8 +3,9 @@ self: super:
let
# This callPackage will try to detect obsolete overrides.
lib = super.stockholm.lib;
+ callPackage' = lib.callPackageWith self;
callPackage = path: args: let
- override = self.callPackage path args;
+ override = callPackage' path args;
upstream = lib.optionalAttrs (override ? "name")
(super.${(lib.parseDrvName override.name).name} or {});
in if upstream ? "name" &&
diff --git a/krebs/5pkgs/simple/drivedroid-gen-repo/default.nix b/krebs/5pkgs/simple/drivedroid-gen-repo/default.nix
deleted file mode 100644
index dee96d784..000000000
--- a/krebs/5pkgs/simple/drivedroid-gen-repo/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ fetchurl, lib, stdenv, python3Packages }:
-
-python3Packages.buildPythonPackage rec {
- name = "drivedroid-gen-repo-${version}";
- version = "0.4.4";
-
- propagatedBuildInputs = [
- python3Packages.docopt
- ];
-
- src = fetchurl {
- url = "https://pypi.python.org/packages/source/d/drivedroid-gen-repo/drivedroid-gen-repo-${version}.tar.gz";
- sha256 = "09p58hzp61r5fp025lak9z52y0aakmaqpi59p9w5xq42dvy2hnvl";
- };
-
- meta = {
- homepage = http://krebsco.de/;
- description = "Generate Drivedroid repos";
- license = lib.licenses.wtfpl;
- };
-}
-
diff --git a/krebs/5pkgs/simple/eximlog.nix b/krebs/5pkgs/simple/eximlog.nix
index 9e5ae8d63..4abbcfc5a 100644
--- a/krebs/5pkgs/simple/eximlog.nix
+++ b/krebs/5pkgs/simple/eximlog.nix
@@ -1,7 +1,7 @@
-{ jq, stockholm, systemd, writeDashBin }:
+{ jq, lib, systemd, writeDashBin }:
let
- lib = stockholm.lib;
+ stockholm.lib = import ../../../lib/pure.nix { inherit lib; };
user = "exim"; # TODO make this configurable
in
@@ -10,7 +10,7 @@ in
writeDashBin "eximlog" ''
${systemd}/bin/journalctl \
- -u ${lib.shell.escape user} \
+ -u ${stockholm.lib.shell.escape user} \
-o short-unix \
"$@" \
|
diff --git a/krebs/5pkgs/simple/fortclientsslvpn/default.nix b/krebs/5pkgs/simple/fortclientsslvpn/default.nix
index 1f86d6fe4..b895eef89 100644
--- a/krebs/5pkgs/simple/fortclientsslvpn/default.nix
+++ b/krebs/5pkgs/simple/fortclientsslvpn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, gnome3, glib, libSM, gdk_pixbuf, libX11, libXinerama, iproute,
+{ stdenv, lib, fetchurl, gtk3, glib, xorg, gdk-pixbuf, iproute2,
makeWrapper, libredirect, ppp, coreutils, gawk, pango }:
stdenv.mkDerivation rec {
name = "forticlientsslvpn";
@@ -31,12 +31,12 @@ stdenv.mkDerivation rec {
];
guiLibPath = lib.makeLibraryPath [
- gnome3.gtk
+ gtk3
glib
- libSM
- gdk_pixbuf
- libX11
- libXinerama
+ xorg.libSM
+ gdk-pixbuf
+ xorg.libX11
+ xorg.libXinerama
pango
];
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
cp -r 64bit/. "$out/opt/fortinet"
wrapProgram $out/opt/fortinet/forticlientsslvpn \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
- --set NIX_REDIRECTS /usr/bin/tail=${coreutils}/bin/tail:/usr/sbin/ip=${iproute}/bin/ip:/usr/sbin/pppd=${ppp}/bin/pppd
+ --set NIX_REDIRECTS /usr/bin/tail=${coreutils}/bin/tail:/usr/sbin/ip=${iproute2}/bin/ip:/usr/sbin/pppd=${ppp}/bin/pppd
mkdir -p "$out/bin/"
diff --git a/krebs/5pkgs/simple/ftb/default.nix b/krebs/5pkgs/simple/ftb/default.nix
index 8007eaa52..1509961cd 100644
--- a/krebs/5pkgs/simple/ftb/default.nix
+++ b/krebs/5pkgs/simple/ftb/default.nix
@@ -1,7 +1,7 @@
{ fetchurl, lib, stdenv
-, jre, libX11, libXext, libXcursor, libXrandr, libXxf86vm
+, jre, xorg
, openjdk
-, mesa_glu, openal
+, libGLU, openal
, useAlsa ? false, alsaOss ? null }:
with lib;
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
#!${stdenv.shell}
export _JAVA_AWT_WM_NONREPARENTING=1
- export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm mesa_glu openal ]}
+ export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${makeLibraryPath [ xorg.libX11 xorg.libXext xorg.libXcursor xorg.libXrandr xorg.libXxf86vm libGLU openal ]}
${if useAlsa then "${alsaOss}/bin/aoss" else "" } \
${jre}/bin/java -jar $out/ftb.jar
EOF
diff --git a/krebs/5pkgs/simple/games-user-env/default.nix b/krebs/5pkgs/simple/games-user-env/default.nix
deleted file mode 100644
index abe770ed1..000000000
--- a/krebs/5pkgs/simple/games-user-env/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, pkgs, ... }: let
-
-#TODO: make sure env exists prior to running
-env_nix = pkgs.writeText "env.nix" ''
- { pkgs ? import <nixpkgs> {} }:
-
- (pkgs.buildFHSUserEnv {
- name = "simple-x11-env";
- targetPkgs = pkgs: with pkgs; [
- coreutils
- ];
- multiPkgs = pkgs: with pkgs; [
- alsaLib
- zlib
- xorg.libXxf86vm
- curl
- openal
- openssl_1_0_2
- xorg.libXext
- xorg.libX11
- xorg.libXrandr
- xorg.libXcursor
- xorg.libXinerama
- xorg.libXi
- mesa_glu
- ];
- runScript = "bash";
- }).env
-'';
-
-
-in pkgs.writeDashBin "games-user-env" ''
- nix-shell ${env_nix}
-''
diff --git a/krebs/5pkgs/simple/generate-secrets/default.nix b/krebs/5pkgs/simple/generate-secrets/default.nix
deleted file mode 100644
index 8522b5dda..000000000
--- a/krebs/5pkgs/simple/generate-secrets/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ pkgs }:
-pkgs.writers.writeDashBin "generate-secrets" ''
- set -eu
- HOSTNAME="$1"
- TMPDIR=$(${pkgs.coreutils}/bin/mktemp -d)
- cd $TMPDIR
-
- PASSWORD=$(${pkgs.pwgen}/bin/pwgen 25 1)
- HASHED_PASSWORD=$(echo $PASSWORD | ${pkgs.hashPassword}/bin/hashPassword -s) > /dev/null
-
- ${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f $TMPDIR/ssh.id_ed25519 -P "" -C "" >/dev/null
- ${pkgs.tinc_pre}/bin/tinc --config "$TMPDIR" generate-keys 4096 >/dev/null
- cat <<EOF > $TMPDIR/hashedPasswords.nix
- {
- root = "$HASHED_PASSWORD";
- }
- EOF
-
- for x in *; do
- ${pkgs.coreutils}/bin/cat $x | ${pkgs.brain}/bin/brain insert -m krebs-secrets/$HOSTNAME/$x > /dev/null
- done
- echo $PASSWORD | ${pkgs.brain}/bin/brain insert -m hosts/$HOSTNAME/root > /dev/null
-
- cat <<EOF
- $HOSTNAME = {
- owner = config.krebs.users.krebs;
- nets = {
- retiolum = {
- ip4.addr = "10.243.0.changeme";
- ip6.addr = "42:0:0:0:0:0:0:changeme";
- aliases = [
- "$HOSTNAME.r"
- ];
- tinc = {
- pubkey = ${"''"}
- $(cat $TMPDIR/rsa_key.pub)
- ${"''"};
- pubkey_ed25519 = "$(cut -d ' ' -f 3 $TMPDIR/ed25519_key.pub)";
- };
- };
- };
- ssh.privkey.path = "\''${config.krebs.secret.directory}/ssh.id_ed25519";
- ssh.pubkey = "$(cat $TMPDIR/ssh.id_ed25519.pub)";
- };
- EOF
-
- rm -rf $TMPDIR
-''
-
diff --git a/krebs/5pkgs/simple/git-hooks/default.nix b/krebs/5pkgs/simple/git-hooks/default.nix
index 3ec43739c..51b4babfc 100644
--- a/krebs/5pkgs/simple/git-hooks/default.nix
+++ b/krebs/5pkgs/simple/git-hooks/default.nix
@@ -1,5 +1,7 @@
-{ pkgs, stockholm, ... }:
-
+{ pkgs, lib, ... }:
+let
+ stockholm.lib = import ../../../../lib/pure.nix { inherit lib; };
+in
with stockholm.lib;
{
diff --git a/krebs/5pkgs/simple/gitignore.nix b/krebs/5pkgs/simple/gitignore.nix
index b3c750a08..b7a9f7eb5 100644
--- a/krebs/5pkgs/simple/gitignore.nix
+++ b/krebs/5pkgs/simple/gitignore.nix
@@ -1,4 +1,4 @@
-{ pkgs }:
+{ pkgs, writeDash }:
/* gitignore - Filter for intentionally untracked lines or blocks of code
@@ -34,13 +34,9 @@ Installation:
[2]: For more information about assigning filters see gitattributes(5).
*/
-pkgs.execBin "gitignore" {
- filename = "${pkgs.gnused}/bin/sed";
- argv = [
- "gitignore"
- /* sed */ ''
- /#gitignore-begin/,/#gitignore-end/d
- /#gitignore/d
- ''
- ];
-}
+writeDash "gitignore" ''
+ exec ${pkgs.gnused}/bin/sed '
+ /#gitignore-begin/,/#gitignore-end/d
+ /#gitignore/d
+ '
+''
diff --git a/krebs/5pkgs/simple/gnokii/default.nix b/krebs/5pkgs/simple/gnokii/default.nix
index 995de3468..c11a6be6d 100644
--- a/krebs/5pkgs/simple/gnokii/default.nix
+++ b/krebs/5pkgs/simple/gnokii/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, intltool, perl, gettext, libusb-compat-0_1, pkg-config, bluez
-, readline, pcsclite, libical, gtk2, glib, libXpm
+, readline, pcsclite, libical, gtk2, glib, libxpm
, fetchpatch
}:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [
perl intltool gettext libusb-compat-0_1
glib gtk2 pkg-config bluez readline
- libXpm pcsclite libical
+ libxpm pcsclite libical
];
meta = {
diff --git a/krebs/5pkgs/simple/goify/default.nix b/krebs/5pkgs/simple/goify/default.nix
index 9c44aaeeb..7cc3d1b86 100644
--- a/krebs/5pkgs/simple/goify/default.nix
+++ b/krebs/5pkgs/simple/goify/default.nix
@@ -1,6 +1,6 @@
-{ pkgs, ... }:
+{ pkgs, writeBashBin, ... }:
-pkgs.writeBashBin "goify" ''
+writeBashBin "goify" ''
set -euf
GO_HOST=''${GO_HOST:-go}
diff --git a/krebs/5pkgs/simple/internetarchive/default.nix b/krebs/5pkgs/simple/internetarchive/default.nix
deleted file mode 100644
index dfe93befd..000000000
--- a/krebs/5pkgs/simple/internetarchive/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, pkgs, stdenv, pkgs }:
-with pkgs.python3Packages;
-buildPythonPackage rec {
- pname = "internetarchive";
- version = "1.7.3";
- name = "${pname}-${version}";
-
- src = fetchPypi {
- inherit pname version;
- sha256 = "0x3saklabdx7qrr11h5bjfd75hfbih7pw5gvl2784zvvvrqrz45g";
- };
-
- propagatedBuildInputs = [
- requests
- jsonpatch
- docopt
- clint
- six
- schema
- backports_csv
- ];
-
- # check only works when cloned from git repo
- doCheck = false;
-
- checkInputs = [
- pytest
- responses
- ];
-
- prePatch = ''
- sed -i "s/'schema.*'/'schema>=0.4.0'/" setup.py
- '';
-
- meta = with lib; {
- description = "python library and cli for uploading files to internet archive";
- license = licenses.agpl3;
- };
-}
diff --git a/krebs/5pkgs/simple/irc-announce/default.nix b/krebs/5pkgs/simple/irc-announce/default.nix
index 75036d41c..d5eae30c5 100644
--- a/krebs/5pkgs/simple/irc-announce/default.nix
+++ b/krebs/5pkgs/simple/irc-announce/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, ... }:
+{ pkgs, ircaids, ... }:
pkgs.writers.writeDashBin "irc-announce" ''
set -euf
@@ -15,7 +15,7 @@ pkgs.writers.writeDashBin "irc-announce" ''
fi
printf %s "$message" |
- ${pkgs.ircaids}/bin/ircsink \
+ ${ircaids}/bin/ircsink \
--nick="$IRC_NICK" \
--port="$IRC_PORT" \
--server="$IRC_SERVER" \
diff --git a/krebs/5pkgs/simple/krebspaste/default.nix b/krebs/5pkgs/simple/krebspaste/default.nix
deleted file mode 100644
index d97b6a053..000000000
--- a/krebs/5pkgs/simple/krebspaste/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ bepasty-client-cli, gnused, writeDashBin }:
-
-writeDashBin "krebspaste" ''
- ${bepasty-client-cli}/bin/bepasty-cli -L 1m --url http://paste.r "$@" |
- ${gnused}/bin/sed '
- $ {
- s/$/\/+inline/
- p
- s/\<r\>/krebsco.de/
- }
- '
-''
diff --git a/krebs/5pkgs/simple/logf/default.nix b/krebs/5pkgs/simple/logf/default.nix
index 36a7fed2f..3a4c84de2 100644
--- a/krebs/5pkgs/simple/logf/default.nix
+++ b/krebs/5pkgs/simple/logf/default.nix
@@ -1,9 +1,9 @@
-{ lib, pkgs, ... }:
+{ lib, pkgs, writeDash, writeDashBin, writeJSON, writeJq, ... }:
let
- default-host-colors = pkgs.writeJSON "logf.default-host-colors.json" {
+ default-host-colors = writeJSON "logf.default-host-colors.json" {
};
- default-prio-colors = pkgs.writeJSON "logf.default-prio-colors.json" {
+ default-prio-colors = writeJSON "logf.default-prio-colors.json" {
"0" = 196; # emerg
"1" = 160; # alert
"2" = 124; # crit
@@ -14,17 +14,17 @@ let
"7" = 139; # debug
"-" = 005; # undefined priority
};
- default-urgent = pkgs.writeJSON "logf.default-urgent.json" [
+ default-urgent = writeJSON "logf.default-urgent.json" [
];
in
-pkgs.writeDashBin "logf" ''
+writeDashBin "logf" ''
export LOGF_HOST_COLORS LOGF_PRIO_COLORS LOGF_URGENT
LOGF_HOST_COLORS=$(cat "''${LOGF_HOST_COLORS-${default-host-colors}}")
LOGF_PRIO_COLORS=$(cat "''${LOGF_PRIO_COLORS-${default-prio-colors}}")
LOGF_URGENT=$(cat "''${LOGF_URGENT-${default-urgent}}")
printf '%s\0' "$@" \
- | ${pkgs.findutils}/bin/xargs -0 -P 0 -n 1 ${pkgs.writeDash "logf-remote" ''
+ | ${pkgs.findutils}/bin/xargs -0 -P 0 -n 1 ${writeDash "logf-remote" ''
target=$1
target_host=$(echo "$1" | sed 's/^.*@//;s/\..*//')
exec 3>&1
@@ -32,7 +32,7 @@ pkgs.writeDashBin "logf" ''
-o PreferredAuthentications=publickey \
-o StrictHostKeyChecking=yes \
exec journalctl -af -n 0 -o json \
- | stdbuf -oL jq -Rcf ${pkgs.writeJq "logf-remote-error.jq" ''
+ | stdbuf -oL jq -Rcf ${writeJq "logf-remote-error.jq" ''
{
PRIORITY: "4",
MESSAGE: .,
@@ -42,7 +42,7 @@ pkgs.writeDashBin "logf" ''
sleep 10m
exec "$0" "$@"
''} \
- | ${pkgs.jq}/bin/jq -Rrf ${pkgs.writeJq "logf-filter.jq" ''
+ | ${pkgs.jq}/bin/jq -Rrf ${writeJq "logf-filter.jq" ''
(env.LOGF_HOST_COLORS | fromjson) as $host_colors |
(env.LOGF_PRIO_COLORS | fromjson) as $prio_colors |
(env.LOGF_URGENT | fromjson | map("(\(.))") | join("|"))
diff --git a/krebs/5pkgs/simple/nixos-format-error.nix b/krebs/5pkgs/simple/nixos-format-error.nix
index a28f7245f..aa1c57926 100644
--- a/krebs/5pkgs/simple/nixos-format-error.nix
+++ b/krebs/5pkgs/simple/nixos-format-error.nix
@@ -1,6 +1,6 @@
-{ pkgs }:
+{ writeGawkBin, ... }:
-pkgs.writeGawkBin "nixos-format-error" ''
+writeGawkBin "nixos-format-error" ''
# usage: nixos-rebuild ... 2>&1 | nixos-format-error
function out() {
diff --git a/krebs/5pkgs/simple/ovh-zone/default.nix b/krebs/5pkgs/simple/ovh-zone/default.nix
index bc0e45cb9..a31611ea2 100644
--- a/krebs/5pkgs/simple/ovh-zone/default.nix
+++ b/krebs/5pkgs/simple/ovh-zone/default.nix
@@ -6,9 +6,11 @@
## diff future.sorted current.sorted
python3Packages.buildPythonPackage rec {
- name = "ovh-zone-${version}";
+ pname = "ovh-zone";
version = "0.4.4";
- propagatedBuildInputs = with pkgs.python3Packages;[
+ pyproject = true;
+ build-system = [ python3Packages.setuptools ];
+ dependencies = with pkgs.python3Packages;[
ovh
docopt
];
diff --git a/krebs/5pkgs/simple/python-dnsstamps.nix b/krebs/5pkgs/simple/python-dnsstamps.nix
index 18d08fec8..314e11610 100644
--- a/krebs/5pkgs/simple/python-dnsstamps.nix
+++ b/krebs/5pkgs/simple/python-dnsstamps.nix
@@ -3,6 +3,8 @@
python3Packages.buildPythonPackage rec {
pname = "dnsstamps";
version = "1.3.0";
+ pyproject = true;
+ build-system = [ python3Packages.setuptools ];
src = python3Packages.fetchPypi {
inherit pname version;
diff --git a/krebs/5pkgs/simple/qrscan.nix b/krebs/5pkgs/simple/qrscan.nix
deleted file mode 100644
index df9a98053..000000000
--- a/krebs/5pkgs/simple/qrscan.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ pkgs }:
-
-pkgs.writeDashBin "qrscan" ''
- set -efu
-
- ${pkgs.zbar}/bin/zbarcam -1 | ${pkgs.gnused}/bin/sed -n 's/^QR-Code://p'
-''
diff --git a/krebs/5pkgs/simple/reaktor2-plugins.nix b/krebs/5pkgs/simple/reaktor2-plugins/default.nix
index 5b7be5d33..3f2f6eac2 100644
--- a/krebs/5pkgs/simple/reaktor2-plugins.nix
+++ b/krebs/5pkgs/simple/reaktor2-plugins/default.nix
@@ -15,7 +15,7 @@ with stockholm.lib;
commands = {
random-emoji = {
- filename = stockholm.outPath + "/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh";
+ filename = ./scripts/random-emoji.sh;
env = {
PATH = makeBinPath (with pkgs; [ coreutils gnused gnugrep xmlstarlet wget ]);
};
@@ -35,7 +35,7 @@ with stockholm.lib;
};
stockholm-issue = {
- filename = stockholm.outPath + "/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh";
+ filename = ./scripts/random-issue.sh;
env = {
PATH = makeBinPath (with pkgs; [ coreutils git gnused haskellPackages.lentil ]);
origin = "http://cgit.gum/stockholm";
@@ -59,7 +59,7 @@ with stockholm.lib;
filename = pkgs.writers.writeDash "sed-plugin" ''
set -efu
exec ${pkgs.python3}/bin/python \
- ${./Reaktor/scripts/sed-plugin.py} "$@"
+ ${./scripts/sed-plugin.py} "$@"
'';
};
};
@@ -68,7 +68,7 @@ with stockholm.lib;
activate = "match";
pattern = "^(.*Shack.*)$";
arguments = [1];
- command.filename = stockholm.outPath + "/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh";
+ command.filename = ./scripts/shack-correct.sh;
};
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh b/krebs/5pkgs/simple/reaktor2-plugins/scripts/random-emoji.sh
index 6f3dd4a3f..6f3dd4a3f 100755
--- a/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh
+++ b/krebs/5pkgs/simple/reaktor2-plugins/scripts/random-emoji.sh
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh b/krebs/5pkgs/simple/reaktor2-plugins/scripts/random-issue.sh
index 5c47c6156..5c47c6156 100755
--- a/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh
+++ b/krebs/5pkgs/simple/reaktor2-plugins/scripts/random-issue.sh
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py b/krebs/5pkgs/simple/reaktor2-plugins/scripts/sed-plugin.py
index 4925b25bb..4925b25bb 100755
--- a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
+++ b/krebs/5pkgs/simple/reaktor2-plugins/scripts/sed-plugin.py
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh b/krebs/5pkgs/simple/reaktor2-plugins/scripts/shack-correct.sh
index d500b3cb3..d500b3cb3 100755
--- a/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh
+++ b/krebs/5pkgs/simple/reaktor2-plugins/scripts/shack-correct.sh
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/tell-on_join.sh b/krebs/5pkgs/simple/reaktor2-plugins/scripts/tell-on_join.sh
index 6978e38c6..6978e38c6 100755
--- a/krebs/5pkgs/simple/Reaktor/scripts/tell-on_join.sh
+++ b/krebs/5pkgs/simple/reaktor2-plugins/scripts/tell-on_join.sh
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/tell-on_privmsg.sh b/krebs/5pkgs/simple/reaktor2-plugins/scripts/tell-on_privmsg.sh
index fc05bdefb..fc05bdefb 100755
--- a/krebs/5pkgs/simple/Reaktor/scripts/tell-on_privmsg.sh
+++ b/krebs/5pkgs/simple/reaktor2-plugins/scripts/tell-on_privmsg.sh
diff --git a/krebs/5pkgs/simple/realwallpaper/default.nix b/krebs/5pkgs/simple/realwallpaper/default.nix
index 5364a37dc..44e888879 100644
--- a/krebs/5pkgs/simple/realwallpaper/default.nix
+++ b/krebs/5pkgs/simple/realwallpaper/default.nix
@@ -1,8 +1,10 @@
-{ pkgs, ... }:
+{ pkgs, nomads-cloud, ... }:
pkgs.writers.writeDashBin "generate-wallpaper" ''
set -euf
- export PATH=${with pkgs; lib.makeBinPath [
+ export PATH=${pkgs.lib.makeBinPath ([
+ nomads-cloud
+ ] ++ (with pkgs; [
coreutils
curl
gnugrep
@@ -12,9 +14,8 @@ pkgs.writers.writeDashBin "generate-wallpaper" ''
imagemagick
inkscape
jq
- nomads-cloud
xplanet
- ]}
+ ]))}
# usage: getimg FILENAME URL
fetch() {
diff --git a/krebs/5pkgs/simple/ssh-audit.nix b/krebs/5pkgs/simple/ssh-audit.nix
index 4574eb644..286282107 100644
--- a/krebs/5pkgs/simple/ssh-audit.nix
+++ b/krebs/5pkgs/simple/ssh-audit.nix
@@ -4,6 +4,8 @@ python3Packages.buildPythonPackage rec {
inherit (meta) version;
pname = "ssh-audit";
+ pyproject = true;
+ build-system = [ python3Packages.setuptools ];
src = fetchFromGitHub {
owner = "arthepsy";
diff --git a/krebs/5pkgs/simple/tinc_graphs/default.nix b/krebs/5pkgs/simple/tinc_graphs/default.nix
index 953804dd0..11079a9a3 100644
--- a/krebs/5pkgs/simple/tinc_graphs/default.nix
+++ b/krebs/5pkgs/simple/tinc_graphs/default.nix
@@ -1,10 +1,12 @@
{ fetchFromGitHub, lib, pkgs, python3Packages, stdenv }:
python3Packages.buildPythonPackage rec {
- name = "tinc_graphs-${version}";
+ pname = "tinc_graphs";
version = "0.4.0";
+ pyproject = true;
+ build-system = [ python3Packages.setuptools ];
- propagatedBuildInputs = with pkgs;[
+ dependencies = with pkgs;[
python3Packages.pygeoip
## ${geolite-legacy}/share/GeoIP/GeoIPCity.dat
];
diff --git a/krebs/5pkgs/simple/ukrepl.nix b/krebs/5pkgs/simple/ukrepl.nix
index bdea4181f..da1c05c92 100644
--- a/krebs/5pkgs/simple/ukrepl.nix
+++ b/krebs/5pkgs/simple/ukrepl.nix
@@ -1,5 +1,5 @@
-{ lib, pkgs,stdenv }:
-let
+{ lib, pkgs, stdenv }:
+let
src = pkgs.fetchFromGitHub {
owner = "makefu";
repo = "ukrepl";
@@ -7,5 +7,5 @@ let
hash = "sha256:1lnhkf02f18fvf3l2fcszvs4x115lql17akabd5ph9ff9z33k8rv";
};
in
- pkgs.writers.writePython3Bin "ukrepl" {} (builtins.readFile (src + "/ukrepl"))
+ pkgs.writers.writePython3Bin "ukrepl" {} (src + "/ukrepl")
diff --git a/krebs/5pkgs/simple/untilport/default.nix b/krebs/5pkgs/simple/untilport/default.nix
index 2930fd1eb..d299ec807 100644
--- a/krebs/5pkgs/simple/untilport/default.nix
+++ b/krebs/5pkgs/simple/untilport/default.nix
@@ -1,6 +1,6 @@
-{ pkgs, ... }:
+{ libressl, writeDashBin, ... }:
-pkgs.writeDashBin "untilport" ''
+writeDashBin "untilport" ''
set -euf
usage() {
@@ -13,6 +13,6 @@ pkgs.writeDashBin "untilport" ''
if [ $# -ne 2 ]; then
usage
else
- until ${pkgs.libressl.nc}/bin/nc -z "$@"; do sleep 1; done
+ until ${libressl.nc}/bin/nc -z "$@"; do sleep 1; done
fi
''
diff --git a/krebs/5pkgs/simple/urix.nix b/krebs/5pkgs/simple/urix.nix
index 73ea3e665..9ac3a115c 100644
--- a/krebs/5pkgs/simple/urix.nix
+++ b/krebs/5pkgs/simple/urix.nix
@@ -1,14 +1,13 @@
-{ pkgs, stockholm }:
+{ pkgs, lib, writeDash }:
+
+let
+ stockholm.lib = import ../../../lib/pure.nix { inherit lib; };
+in
# urix - URI eXtractor
# Extract all the URIs from standard input and write them to standard output!
# usage: urix < SOMEFILE
-pkgs.execBin "urix" {
- filename = "${pkgs.gnugrep}/bin/grep";
- argv = [
- "urix"
- "-Eo"
- "\\b${stockholm.lib.uri.posix-extended-regex}\\b"
- ];
-}
+writeDash "urix" ''
+ exec ${pkgs.gnugrep}/bin/grep -Eo '\b${stockholm.lib.uri.posix-extended-regex}\b'
+''
[cgit] Unable to lock slot /tmp/cgit/3d300000.lock: No such file or directory (2)