diff options
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": { @@ -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' +'' |
