summaryrefslogtreecommitdiffstats
path: root/krebs
diff options
context:
space:
mode:
Diffstat (limited to 'krebs')
-rw-r--r--krebs/2configs/buildbot-stockholm.nix6
-rw-r--r--krebs/3modules/airdcpp.nix278
-rw-r--r--krebs/3modules/default.nix1
-rw-r--r--krebs/3modules/git.nix16
-rw-r--r--krebs/3modules/lass/default.nix38
-rw-r--r--krebs/3modules/makefu/default.nix27
-rw-r--r--krebs/3modules/makefu/ssh/exco.pub1
-rw-r--r--krebs/3modules/makefu/ssh/makefu.android.pub1
-rw-r--r--krebs/3modules/makefu/ssh/makefu.bob.pub1
-rw-r--r--krebs/3modules/makefu/ssh/makefu.omo.pub1
-rw-r--r--krebs/3modules/makefu/ssh/makefu.remote-builder.pub1
-rw-r--r--krebs/3modules/makefu/ssh/makefu.tempx.pub1
-rw-r--r--krebs/3modules/makefu/ssh/makefu.tsp.pub1
-rw-r--r--krebs/3modules/makefu/ssh/makefu.vbob.pub1
-rw-r--r--krebs/3modules/makefu/ssh/makefu.x.pub1
-rw-r--r--krebs/3modules/makefu/ssh/ulrich.pub1
-rw-r--r--krebs/5pkgs/haskell/blessings.nix23
-rw-r--r--krebs/5pkgs/haskell/email-header.nix25
-rw-r--r--krebs/5pkgs/haskell/hyphenation.nix17
-rw-r--r--krebs/5pkgs/simple/Reaktor/default.nix4
-rw-r--r--krebs/5pkgs/simple/airdcpp-webclient/default.nix28
-rw-r--r--krebs/5pkgs/simple/buildbot-classic/default.nix2
-rw-r--r--krebs/5pkgs/simple/pass-otp/default.nix30
-rw-r--r--krebs/5pkgs/simple/pass/default.nix121
-rw-r--r--krebs/5pkgs/simple/pass/no-darwin-getopt.patch9
-rw-r--r--krebs/5pkgs/simple/pass/rofi-pass.nix57
-rw-r--r--krebs/5pkgs/simple/pass/set-correct-program-name-for-sleep.patch69
-rw-r--r--krebs/5pkgs/simple/repo-sync/default.nix1
-rw-r--r--krebs/krops.nix6
-rw-r--r--krebs/nixpkgs.json8
-rwxr-xr-xkrebs/update-channel.sh2
31 files changed, 440 insertions, 338 deletions
diff --git a/krebs/2configs/buildbot-stockholm.nix b/krebs/2configs/buildbot-stockholm.nix
index d10fb7203..5784f2cdc 100644
--- a/krebs/2configs/buildbot-stockholm.nix
+++ b/krebs/2configs/buildbot-stockholm.nix
@@ -22,6 +22,12 @@
"http://cgit.ni.r/disko"
"http://cgit.prism.r/disko"
];
+ krops.urls = [
+ "http://cgit.hotdog.r/krops"
+ "http://cgit.ni.r/krops"
+ "http://cgit.prism.r/krops"
+ "https://git.ingolf-wagner.de/krebs/krops.git"
+ ];
nix_writers.urls = [
"http://cgit.hotdog.r/nix-writers"
"http://cgit.ni.r/nix-writers"
diff --git a/krebs/3modules/airdcpp.nix b/krebs/3modules/airdcpp.nix
new file mode 100644
index 000000000..1633840f7
--- /dev/null
+++ b/krebs/3modules/airdcpp.nix
@@ -0,0 +1,278 @@
+{ config, lib, pkgs, ... }:
+with import <stockholm/lib>; #genid
+let
+ cfg = config.krebs.airdcpp;
+
+ out = {
+ options.krebs.airdcpp = api;
+ config = lib.mkIf cfg.enable imp;
+ };
+
+ api = with types;{
+ enable = mkEnableOption "airdcpp";
+
+ package = mkOption {
+ type = package;
+ default = pkgs.airdcpp-webclient;
+ };
+
+ user = mkOption {
+ description = ''
+ user which will run airdcpp. if kept default a new user will be created
+ '';
+ type = str;
+ default = "airdcpp";
+ };
+ extraGroups = mkOption {
+ description = ''extra groups for the user (only for default user)'';
+ type = listOf str;
+ default = [];
+ example = [ "nginx" ];
+ };
+
+ stateDir = mkOption {
+ description = ''
+ directory for storing state (pid,config)
+ '';
+ type = str;
+ default = "/var/lib/airdcpp";
+ };
+ hubs = mkOption {
+ type = attrsOf (submodule ( { config, ... }: {
+ options = {
+ Nick = mkOption {
+ description = ''
+ Nick Name for hub
+ '';
+ type = str;
+ default = cfg.Nick;
+ };
+ Password = mkOption {
+ description = ''
+ Password to be used
+
+ WARNING: will be stored in plain text in /nix/store
+ '';
+ type = str;
+ default = "";
+ apply = lib.removeSuffix "\n";
+ };
+ Server = mkOption {
+ description = ''
+ URL to the hub (must be provided)
+ '';
+ type = str;
+ };
+ AutoConnect = mkOption {
+ description = ''
+ automatically connect to the hub
+ '';
+ type = bool;
+ default = false;
+ };
+ };
+ }));
+ description = "hubs which should be configured via Favorites.xml,
+ Options are only used if no initial Favorites.xml file is provided and none exists";
+ default = {};
+ };
+ initialFavoritesConfigFile = mkOption {
+ description = ''
+ path inital Favorites.xml configuration if none exists
+ '';
+ type = nullOr path;
+ default = null;
+ };
+ dcpp = {
+ # entries in DCPlusPlus.xml
+ Nick = mkOption {
+ description = ''
+ Nick Name for connection
+ '';
+ type = str;
+ default = "kevin";
+ };
+ InPort = mkOption {
+ description = "Input Port";
+ type = int;
+ default = 16849;
+ };
+ UDPPort = mkOption {
+ description = "UDP open Port";
+ type = int;
+ default = 16849;
+ };
+ TLSPort = mkOption {
+ description = "TLS open Port";
+ type = int;
+ default = 16869;
+ };
+ DownloadSpeed = mkOption {
+ description = "Total Download Speed in Mbps/s";
+ type = str;
+ default = "100";
+ };
+ UploadSpeed = mkOption {
+ description = "Total Upload Speed in Mbp/s";
+ type = str;
+ default = "100";
+ };
+ DownloadDirectory = mkOption {
+ description = "Directory, where new files will be saved into";
+ type = str;
+ default = "${cfg.stateDir}/Download";
+ };
+ shares = mkOption {
+ default = {};
+ type = attrsOf (submodule ( { config, ... }: {
+ options = {
+ path = mkOption {
+ description = "path to the share";
+ type = str;
+ };
+ incoming = mkOption {
+ description = "incoming";
+ type = bool;
+ default = false;
+ };
+ };
+ }));
+ };
+ initialConfigFile = mkOption {
+ description = ''
+ path inital DCPlusPlus.xml configuration if none exists
+ '';
+ type = nullOr path;
+ default = null;
+ };
+ };
+ web = {
+ port = mkOption {
+ description = ''web-ui port
+
+ NOTE: once the initial config had been written to the state directory it will not be replaced
+ '';
+ type = int;
+ default = 5600;
+ };
+ initialConfigFile = mkOption {
+ description = ''
+ path inital WebServer.xml configuration if none exists
+ '';
+ type = nullOr path;
+ default = null;
+ };
+ # TODO: tlsPort
+ users = mkOption {
+ type = attrsOf (submodule ( { config, ... }: {
+ options = {
+ password = mkOption {
+ description = "password of user";
+ type = str;
+ apply = lib.removeSuffix "\n";
+ };
+ permissions = mkOption {
+ description = "user permissions";
+ type = str;
+ default = "admin";
+ };
+ };
+ }));
+ };
+ };
+ };
+
+ imp = let
+ genUsers = users: concatMapStringsSep "\n" (user:
+ ''<WebUser Username="${user.name}" Password="${user.password}" LastLogin="0" Permissions="${user.permissions}"/>'' )
+ (mapAttrsToList (name: val: val // { inherit name; }) users);
+ webConfigFile = if (cfg.web.initialConfigFile == null) then builtins.trace "warning: airdcpp passwords are stored in plain text" pkgs.writeText "initial-config" ''
+ <?xml version="1.0" encoding="utf-8" standalone="yes"?>
+ <WebServer>
+ <Config>
+ <Server Port="${toString cfg.web.port}"/>
+ <TLSServer Port="0" Certificate="" CertificateKey=""/>
+ </Config>
+ <WebUsers>${genUsers cfg.web.users}
+ </WebUsers>
+ </WebServer>
+ '' else cfg.web.initialConfigFile;
+ genHubs = hubs: concatMapStringsSep "\n" (hub:
+ ''<Hub Name="${hub.name}" Connect="${
+ if hub.AutoConnect then "1" else "0"
+ }" Description="" Password="${hub.Password}" Server="${hub.Server}" ChatUserSplit="0" UserListState="1" HubFrameOrder="" HubFrameWidths="" HubFrameVisible="" Group="" Bottom="0" Top="0" Right="0" Left="0" Nick="${hub.Nick}"/>'' )
+ (mapAttrsToList (name: val: val // { inherit name; }) hubs);
+ favoritesConfigFile = if (cfg.initialFavoritesConfigFile == null) then
+ builtins.trace "warning: airdcpp hub passwords are stored in plain text" pkgs.writeText "initial-config" ''
+ <?xml version="1.0" encoding="utf-8" standalone="yes"?>
+ <Favorites>
+ <Hubs>
+ ${genHubs cfg.hubs}
+ </Hubs>
+ </Favorites>
+ '' else cfg.initialFavoritesConfigFile;
+ genShares = shares: concatMapStringsSep "\n" (share:
+ ''<Directory Virtual="${share.name}" Incoming="${
+ if share.incoming then "1" else "0"
+ }" LastRefreshTime="0">${share.path}</Directory>'' )
+ (mapAttrsToList (name: val: val // { inherit name; }) shares);
+ dcppConfigFile = if (cfg.dcpp.initialConfigFile == null) then pkgs.writeText "initial-config" ''
+ <?xml version="1.0" encoding="utf-8" standalone="yes"?>
+ <DCPlusPlus>
+ <Settings>
+ <Nick type="string">${cfg.dcpp.Nick}</Nick>
+ <InPort type="int">${toString cfg.dcpp.InPort}</InPort>
+ <UDPPort type="int">${toString cfg.dcpp.UDPPort}</UDPPort>
+ <TLSPort type="int">${toString cfg.dcpp.TLSPort}</TLSPort>
+ <DownloadDirectory type="string">${cfg.dcpp.DownloadDirectory}</DownloadDirectory>
+ <AutoDetectIncomingConnection type="int">0</AutoDetectIncomingConnection>
+ <NoIpOverride type="int">1</NoIpOverride>
+ <WizardRunNew type="int">0</WizardRunNew>
+ <IPUpdate type="int">0</IPUpdate>
+ <AlwaysCCPM type="int">1</AlwaysCCPM>
+ <DownloadSpeed type="string">${cfg.dcpp.DownloadSpeed}</DownloadSpeed>
+ <UploadSpeed type="string">${cfg.dcpp.UploadSpeed}</UploadSpeed>
+ </Settings>
+ <Share Token="0" Name="Default">
+ ${genShares cfg.dcpp.shares}
+ <NoShare/>
+ </Share>
+ <ChatFilterItems/>
+ </DCPlusPlus>
+ '' else cfg.dcpp.initialConfigFile;
+ in {
+ systemd.services.airdcpp = {
+ description = "airdcpp webui";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ restartIfChanged = true;
+ serviceConfig = {
+ Type = "simple";
+ ExecStartPre = pkgs.writeDash "prepare-env" ''
+ d=${cfg.stateDir}/WebServer.xml
+ test -e $d || install -m700 -o${cfg.user} ${webConfigFile} $d
+ d=${cfg.stateDir}/DCPlusPlus.xml
+ test -e $d || install -m700 -o${cfg.user} ${dcppConfigFile} $d
+ d=${cfg.stateDir}/Favorites.xml
+ test -e $d || install -m700 -o${cfg.user} ${favoritesConfigFile} $d
+ '';
+ PermissionsStartOnly = true;
+ ExecStart = "${cfg.package}/bin/airdcppd -c=${cfg.stateDir} -p=${cfg.stateDir}/airdcpp.pid";
+ PrivateTmp = true;
+ WorkingDirectory = cfg.stateDir;
+ User = "${cfg.user}";
+ };
+ };
+ users = lib.mkIf (cfg.user == "airdcpp") {
+ users.airdcpp = {
+ uid = genid "airdcpp";
+ home = cfg.stateDir;
+ createHome = true;
+ inherit (cfg) extraGroups;
+ };
+ groups.airdcpp.gid = genid "airdcpp";
+ };
+ };
+in
+out
+
diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix
index 41b701cd0..6307649e3 100644
--- a/krebs/3modules/default.nix
+++ b/krebs/3modules/default.nix
@@ -6,6 +6,7 @@ let
out = {
imports = [
+ ./airdcpp.nix
./announce-activation.nix
./apt-cacher-ng.nix
./backup.nix
diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix
index 8a923efd2..f6b4e3c69 100644
--- a/krebs/3modules/git.nix
+++ b/krebs/3modules/git.nix
@@ -121,6 +121,10 @@ let
cgit-settings = types.submodule {
# A setting's value of `null` means cgit's default should be used.
options = {
+ about-filter = mkOption {
+ type = types.nullOr types.package;
+ default = null;
+ };
cache-root = mkOption {
type = types.absolute-pathname;
default = "/tmp/cgit";
@@ -166,6 +170,10 @@ let
types.nullOr (types.enum ["week" "month" "quarter" "year"]);
default = "year";
};
+ readme = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ };
robots = mkOption {
type = types.nullOr (types.listOf types.str);
default = ["nofollow" "noindex"];
@@ -394,8 +402,14 @@ let
kv-to-cgitrc = k: v: getAttr (typeOf v) {
bool = kv-to-cgitrc k (if v then 1 else 0);
null = []; # This will be removed by `flatten`.
- list = "${k}=${concatStringsSep ", " v}";
+ list = {
+ readme = map (x: "readme=${x}") v;
+ }.${k} or "${k}=${concatStringsSep ", " v}";
int = "${k}=${toString v}";
+ set =
+ if subtypes.cgit-settings.check v
+ then "${k}=${v}"
+ else error "kv-to-cgitrc: unhandled type: set";
string = "${k}=${v}";
};
in
diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix
index 7d9ef5075..6b4dc3f17 100644
--- a/krebs/3modules/lass/default.nix
+++ b/krebs/3modules/lass/default.nix
@@ -494,6 +494,44 @@ with import <stockholm/lib>;
};
};
};
+ eve = {
+ monitoring = false;
+ ci = false;
+ external = true;
+ nets = rec {
+ internet = {
+ # eve.thalheim.io
+ ip4.addr = "188.68.39.17";
+ ip6.addr = "2a03:4000:13:31e::1";
+ aliases = [ "eve.i" ];
+ };
+ retiolum = rec {
+ via = internet;
+ addrs = [
+ ip4.addr
+ ip6.addr
+ ];
+ ip4.addr = "10.243.29.174";
+ ip6.addr = "42:4992:6a6d:a00::1";
+ aliases = [ "eve.r" ];
+ tinc.pubkey = ''
+ -----BEGIN RSA PUBLIC KEY-----
+ MIICCgKCAgEAw5cxGjnWCG8dcuhTddvGHzH0/VjxHA5V8qJXH2R5k8ki8dsM5FRH
+ XRcH/aYg+IL03cyx4wU7oJKxiOTNGbysglnbTVthfYhqeQY+NRTzR1Thb2Fo+P82
+ 08Eovwlgb0uwCjaiH8ZoH3BKjXyMn/Ezrni7hc5zyyRb88XJLosTykO2USlrsoIk
+ 6OCA3A34HyJH0/G6GbNYCPrB/a/r1ji7OWDlg3Ft9c3ViVOkcNV1d9FV0RULX9EI
+ +xRDbAs1fkK5wMkC2BpkJRHTpImPbYlwQvDrL2sp+JNAEVni84xGxWn9Wjd9WVv3
+ dn+iPUD7HF9bFVDsj0rbVL78c63MEgr0pVyONDBK+XxogMTOqjgicmkLRxlhaSPW
+ pnfZHJzJ727crBbwosORY+lTq6MNIMjEjNcJnzAEVS5uTJikLYL9Y5EfIztGp7LP
+ c298AtKjEYOftiyMcohTGnHhio6zteuW/i2sv4rCBxHyH5sWulaHB7X1ej0eepJi
+ YX6/Ff+y9vDLCuDxb6mvPGT1xpnNmt1jxAUJhiRNuAvbtvjtPwYfWjQXOf7xa2xI
+ 61Oahtwy/szBj9mWIAymMfnvFGpeiIcww3ZGzYNyKBCjp1TkkgFRV3Y6eoq1sJ13
+ Pxol8FwH5+Q72bLtvg5Zva8D0Vx2U1jYSHEkRDDzaS5Z6Fus+zeZVMsCAwEAAQ==
+ -----END RSA PUBLIC KEY-----
+ '';
+ };
+ };
+ };
xerxes = {
cores = 2;
nets = rec {
diff --git a/krebs/3modules/makefu/default.nix b/krebs/3modules/makefu/default.nix
index 454f9bc65..e2152ea1a 100644
--- a/krebs/3modules/makefu/default.nix
+++ b/krebs/3modules/makefu/default.nix
@@ -4,7 +4,9 @@ with import <stockholm/lib>;
## generate keys with:
# tinc generate-keys
# ssh-keygen -f ssh.id_ed25519 -t ed25519 -C host
-{
+let
+ pub-for = name: builtins.readFile (./ssh + "/${name}.pub");
+in {
hosts = mapAttrs (_: setAttr "owner" config.krebs.users.makefu) {
cake = rec {
cores = 4;
@@ -590,6 +592,8 @@ with import <stockholm/lib>;
"cache.gum.r"
"logs.makefu.r"
"stats.makefu.r"
+ "backup.makefu.r"
+ "dcpp.nextgum.r"
];
tinc.pubkey = ''
-----BEGIN RSA PUBLIC KEY-----
@@ -654,6 +658,7 @@ with import <stockholm/lib>;
"wiki.gum.r"
"blog.makefu.r"
"blog.gum.r"
+ "dcpp.gum.r"
];
tinc.pubkey = ''
-----BEGIN RSA PUBLIC KEY-----
@@ -1099,48 +1104,48 @@ with import <stockholm/lib>;
users = rec {
makefu = {
mail = "makefu@x.r";
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCl3RTOHd5DLiVeUbUr/GSiKoRWknXQnbkIf+uNiFO+XxiqZVojPlumQUVhasY8UzDzj9tSDruUKXpjut50FhIO5UFAgsBeMJyoZbgY/+R+QKU00Q19+IiUtxeFol/9dCO+F4o937MC0OpAC10LbOXN/9SYIXueYk3pJxIycXwUqhYmyEqtDdVh9Rx32LBVqlBoXRHpNGPLiswV2qNe0b5p919IGcslzf1XoUzfE3a3yjk/XbWh/59xnl4V7Oe7+iQheFxOT6rFA30WYwEygs5As//ZYtxvnn0gA02gOnXJsNjOW9irlxOUeP7IOU6Ye3WRKFRR0+7PS+w8IJLag2xb makefu@x";
+ pubkey = pub-for "makefu.x";
pgp.pubkeys.default = builtins.readFile ./pgp/default.asc;
pgp.pubkeys.brain = builtins.readFile ./pgp/brain.asc;
};
makefu-omo = {
inherit (makefu) mail pgp;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtDhAxjiCH0SmTGNDqmlKPug9qTf+IFOVjdXfk01lAV2KMVW00CgNo2d5kl5+6pM99K7zZO7Uo7pmSFLSCAg8J6cMRI3v5OxFsnQfcJ9TeGLZt/ua7F8YsyIIr5wtqKtFbujqve31q9xJMypEpiX4np3nLiHfYwcWu7AFAUY8UHcCNl4JXm6hsmPe+9f6Mg2jICOdkfMMn0LtW+iq1KZpw1Nka2YUSiE2YuUtV+V+YaVMzdcjknkVkZNqcVk6tbJ1ZyZKM+bFEnE4VkHJYDABZfELpcgBAszfWrVG0QpEFjVCUq5atpIVHJcWWDx072r0zgdTPcBuzsHHC5PRfVBLEw== makefu@servarch";
+ pubkey = pub-for "makefu.omo";
};
makefu-tsp = {
inherit (makefu) mail pgp;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1srWa67fcsw3r64eqgIuHbMbrj6Ywd9AwzCM+2dfXqYQZblchzH4Q4oydjdFOnV9LaA1LfNcWEjV/gVQKA2/xLSyXSDwzTxQDyOAZaqseKVg1F0a7wAF20+LiegQj6KXE29wcTW1RjcPncmagTBv5/vYbo1eDLKZjwGpEnG0+s+TRftrAhrgtbsuwR1GWWYACxk1CbxbcV+nIZ1RF9E1Fngbl4C4WjXDvsASi8s24utCd/XxgKwKcSFv7EWNfXlNzlETdTqyNVdhA7anc3N7d/TGrQuzCdtrvBFq4WbD3IRhSk79PXaB3L6xJ7LS8DyOSzfPyiJPK65Zw5s4BC07Z makefu@tsp";
+ pubkey = pub-for "makefu.tsp";
};
makefu-vbob = {
inherit (makefu) mail pgp;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiKvLKaRQPL/Y/4EWx3rNhrY5YGKK4AeqDOFTLgJ7djwJnMo7FP+OIH/4pFxS6Ri2TZwS9QsR3hsycA4n8Z15jXAOXuK52kP65Ei3lLyz9mF+/s1mJsV0Ui/UKF3jE7PEAVky7zXuyYirJpMK8LhXydpFvH95aGrL1Dk30R9/vNkE9rc1XylBfNpT0X0GXmldI+r5OPOtiKLA5BHJdlV8qDYhQsU2fH8S0tmAHF/ir2bh7+PtLE2hmRT+b8I7y1ZagkJsC0sn9GT1AS8ys5s65V2xTTIfQO1zQ4sUH0LczuRuY8MLaO33GAzhyoSQdbdRAmwZQpY/JRJ3C/UROgHYt makefu@vbob";
+ pubkey = pub-for "makefu.vbob";
};
makefu-tempx = {
inherit (makefu) mail pgp;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXG6iwvm6zUVk+OE9ZviO+WNosAHSZw4ku0RxWbXSlSG0RfzvV4IfByF3Dw+4a8yZQmjwNkQalUURh2fEqhBLBI9XNEIL7qIu17zheguyXzpE3Smy4pbI+fjdsnfFrw+WE2n/IO8N6ojdH6sMmnWwfkFZYqqofWyLB3WUN9wy2b2z0w/jc56+HxxyTl3rD7CttTs9ak67HqIn3/pNeHoOM+JQ/te8t4ageIlPi8yJJpqZgww1RUWCgPPwZ9DP6gQjo85he76x0h9jvhnFd7m9N1aGdRDcK55QyoY/9x07R24GRutohAB/KDWSkDWQv5BW7M1LCawpJcF3DDslD1i7 makefu@gum";
+ pubkey = pub-for "makefu.tempx";
};
makefu-android = {
inherit (makefu) mail pgp;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDoAtBa10AbiFXfYL4Za7e0CLeXJeH6FhMqVZFqElLkJBKmQ7c7WEMlnuRhEZWSFDXBpaS7p73s5MMOZA13uYv6fI2ipOOwE9Ej1EoMsrQGegBp2VDMo0wnr/sgTL1do+uGI85E/i0uFw0DYhXqlZQk1eK8SdgXYltiVL27IA3NG2kYuoTIvJgRnaPJjTbhLBWti3m586LuO+pBKtcTt1D9EV6wp+6Jum4owPtCgVPQaZfFGYWkEiINV83WX9HoIk4S3bTPLh8Kfp0je0xsioS4T9/cxSPgUie8MjSg0irvLJXRH0JOVuG5NvZTYhAAekwNkHll9CtypPrutjbrXPXf makefu@x";
+ pubkey = pub-for "makefu.android";
};
makefu-remote-builder = {
inherit (makefu) mail pgp;
- pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPlhb0TIBW9RN9T8Is4YRIc1RjOg+cxbZCaDjbM4zxrX nixBuild";
+ pubkey = pub-for "makefu.remote-builder";
};
makefu-bob = {
inherit (makefu) mail pgp;
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+fEK1bCB8cdDiBzXBXEWLFQyp/7xjNGQ5GyqHOtgxxe6Ypb0kAaWJaG3Ak/qI/nToGKwkQJLsuYNA3lZj2rFyBdoxnNO3kRFTc7NoaU5mC2BlHbpmn9dzvgiBoRAKAlzj/022u65SI19AFciKXtwqQfjuB3mPVOFOfCFB2SYjjWb8ffPnHp6PB5KKNLxaVPCbZgOdSju25/wB2lY00W8WIDOTqfbNClQnjkLsUZpTuRnvpHTemKtt1FH+WBZiMwMXRt19rm9LFSO7pvrZjdJz0l1TZVsODkbKZzQzSixoCPmdpPPAYaqrGUQpmukXk0xQtR3E2jEsk+FJv4AkIKqD";
+ pubkey = pub-for "makefu.bob";
};
ciko = {
mail = "wieczorek.stefan@googlemail.com";
};
ulrich = {
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1sobyfvUu/G2Ms+T0cI4CSgtjCoO2qEYVK1jkqC2A9mLJfNoPsToLowfGszpOAM9S4Rtn+OJ+vPMvs2E4pkZmXcmJZFAKKPNadmzwqCQyskBdoyszkj7DXngX56ZQ+ZEf+vPp2tu/IN0CFNVUllUcWP2TD2ECH5qkBODBHLyGf4PvV35yGpuYNFhFSWkTxwXZ7d5eat2kmwTfryX91Z+M901t6MK0ADyUwBkbotwSn/B6xUEZzExlGhRziRlIM0MrmSMvUA1mcmMJWVfHbb5Sw8yVstUuaU98C3EzDPNlVTbu5al2sDk4+jjireMMMVHC0j8aj7DlhvcF2t7ZpAKy+HN/PFuV7+RgN3DmIMLwbSRfykH3ATVdBzoL0/XmGBRXht6M22igAMFt9o/oHtwWt2JYcNX5poS8kLcjPzGHcx7KOslZ7VZev4BTpFAZIeMYhlzsNCI88bxUqdFxIcofNIQMy4Ep4qJXlgMduQbYtPDRpclDe82yiblhz48+HF/j8+0ZBx4w3jb4XBtgeTfwM2nARsD7MRzokfMfbGf6cZ8AU0/h69ECdsy2KYCKzgFxV/SHN2fDk6SZWLHmxDZ8N02VqgXMTvkYHvDBiaNxM0/iNMKqYCfuxjQPSusBENSgwhUnBGgoGYZuz0r2oMdtzqrkC/VbDxi5gSKl+ZoaMQ== shackspace.de@myvdr.de";
+ pubkey = pub-for "ulrich";
mail = "shackspace.de@myvdr.de";
};
exco = {
mail = "dickbutt@excogitation.de";
- pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC7HCK+TzelJp7atCbvCbvZZnXFr3cE35ioactgpIJL7BOyQM6lJ/7y24WbbrstClTuV7n0rWolDgfjx/8kVQExP3HXEAgCwV6tIcX/Ep84EXSok7QguN0ozZMCwX9CYXOEyLmqpe2KAx3ggXDyyDUr2mWs04J95CFjiR/YgOhIfM4+gVBxGtLSTyegyR3Fk7O0KFwYDjBRLi7a5TIub3UYuOvw3Dxo7bUkdhtf38Kff8LEK8PKtIku/AyDlwZ0mZT4Z7gnihSG2ezR5mLD6QXVuGhG6gW/gsqfPVRF4aZbrtJWZCp2G21wBRafpEZJ8KFHtR18JNcvsuWA1HJmFOj2K0mAY5hBvzCbXGhSzBtcGxKOmTBDTRlZ7FIFgukP/ckSgDduydFUpsv07ZRj+qY07zKp3Nhh3RuN7ZcveCo2WpaAzTuWCMPB0BMhEQvsO8I/p5YtTaw2T1poOPorBbURQwEgNrZ92kB1lL5t1t1ZB4oNeDJX5fddKLkgnLqQZWOZBTKtoq0EAVXojTDLZaA+5z20h8DU7sicDQ/VG4LWtqm9fh8iDpvt/3IHUn/HJEEnlfE1Gd+F2Q+R80yu4e1PClmuzfWjCtkPc4aY7oDxfcJqyeuRW6husAufPqNs31W6X9qXwoaBh9vRQ1erZUo46iicxbzujXIy/Hwg67X8dw== dickbutt@excogitation.de";
+ pubkey = pub-for "exco";
};
};
}
diff --git a/krebs/3modules/makefu/ssh/exco.pub b/krebs/3modules/makefu/ssh/exco.pub
new file mode 100644
index 000000000..cab884c0c
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/exco.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC7HCK+TzelJp7atCbvCbvZZnXFr3cE35ioactgpIJL7BOyQM6lJ/7y24WbbrstClTuV7n0rWolDgfjx/8kVQExP3HXEAgCwV6tIcX/Ep84EXSok7QguN0ozZMCwX9CYXOEyLmqpe2KAx3ggXDyyDUr2mWs04J95CFjiR/YgOhIfM4+gVBxGtLSTyegyR3Fk7O0KFwYDjBRLi7a5TIub3UYuOvw3Dxo7bUkdhtf38Kff8LEK8PKtIku/AyDlwZ0mZT4Z7gnihSG2ezR5mLD6QXVuGhG6gW/gsqfPVRF4aZbrtJWZCp2G21wBRafpEZJ8KFHtR18JNcvsuWA1HJmFOj2K0mAY5hBvzCbXGhSzBtcGxKOmTBDTRlZ7FIFgukP/ckSgDduydFUpsv07ZRj+qY07zKp3Nhh3RuN7ZcveCo2WpaAzTuWCMPB0BMhEQvsO8I/p5YtTaw2T1poOPorBbURQwEgNrZ92kB1lL5t1t1ZB4oNeDJX5fddKLkgnLqQZWOZBTKtoq0EAVXojTDLZaA+5z20h8DU7sicDQ/VG4LWtqm9fh8iDpvt/3IHUn/HJEEnlfE1Gd+F2Q+R80yu4e1PClmuzfWjCtkPc4aY7oDxfcJqyeuRW6husAufPqNs31W6X9qXwoaBh9vRQ1erZUo46iicxbzujXIy/Hwg67X8dw== dickbutt@excogitation.de
diff --git a/krebs/3modules/makefu/ssh/makefu.android.pub b/krebs/3modules/makefu/ssh/makefu.android.pub
new file mode 100644
index 000000000..2bef2442a
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/makefu.android.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDoAtBa10AbiFXfYL4Za7e0CLeXJeH6FhMqVZFqElLkJBKmQ7c7WEMlnuRhEZWSFDXBpaS7p73s5MMOZA13uYv6fI2ipOOwE9Ej1EoMsrQGegBp2VDMo0wnr/sgTL1do+uGI85E/i0uFw0DYhXqlZQk1eK8SdgXYltiVL27IA3NG2kYuoTIvJgRnaPJjTbhLBWti3m586LuO+pBKtcTt1D9EV6wp+6Jum4owPtCgVPQaZfFGYWkEiINV83WX9HoIk4S3bTPLh8Kfp0je0xsioS4T9/cxSPgUie8MjSg0irvLJXRH0JOVuG5NvZTYhAAekwNkHll9CtypPrutjbrXPXf makefu@x
diff --git a/krebs/3modules/makefu/ssh/makefu.bob.pub b/krebs/3modules/makefu/ssh/makefu.bob.pub
new file mode 100644
index 000000000..bc8718978
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/makefu.bob.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+fEK1bCB8cdDiBzXBXEWLFQyp/7xjNGQ5GyqHOtgxxe6Ypb0kAaWJaG3Ak/qI/nToGKwkQJLsuYNA3lZj2rFyBdoxnNO3kRFTc7NoaU5mC2BlHbpmn9dzvgiBoRAKAlzj/022u65SI19AFciKXtwqQfjuB3mPVOFOfCFB2SYjjWb8ffPnHp6PB5KKNLxaVPCbZgOdSju25/wB2lY00W8WIDOTqfbNClQnjkLsUZpTuRnvpHTemKtt1FH+WBZiMwMXRt19rm9LFSO7pvrZjdJz0l1TZVsODkbKZzQzSixoCPmdpPPAYaqrGUQpmukXk0xQtR3E2jEsk+FJv4AkIKqD
diff --git a/krebs/3modules/makefu/ssh/makefu.omo.pub b/krebs/3modules/makefu/ssh/makefu.omo.pub
new file mode 100644
index 000000000..5567040fb
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/makefu.omo.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtDhAxjiCH0SmTGNDqmlKPug9qTf+IFOVjdXfk01lAV2KMVW00CgNo2d5kl5+6pM99K7zZO7Uo7pmSFLSCAg8J6cMRI3v5OxFsnQfcJ9TeGLZt/ua7F8YsyIIr5wtqKtFbujqve31q9xJMypEpiX4np3nLiHfYwcWu7AFAUY8UHcCNl4JXm6hsmPe+9f6Mg2jICOdkfMMn0LtW+iq1KZpw1Nka2YUSiE2YuUtV+V+YaVMzdcjknkVkZNqcVk6tbJ1ZyZKM+bFEnE4VkHJYDABZfELpcgBAszfWrVG0QpEFjVCUq5atpIVHJcWWDx072r0zgdTPcBuzsHHC5PRfVBLEw== makefu@servarch
diff --git a/krebs/3modules/makefu/ssh/makefu.remote-builder.pub b/krebs/3modules/makefu/ssh/makefu.remote-builder.pub
new file mode 100644
index 000000000..ad49f380a
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/makefu.remote-builder.pub
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPlhb0TIBW9RN9T8Is4YRIc1RjOg+cxbZCaDjbM4zxrX nixBuild
diff --git a/krebs/3modules/makefu/ssh/makefu.tempx.pub b/krebs/3modules/makefu/ssh/makefu.tempx.pub
new file mode 100644
index 000000000..48d90040f
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/makefu.tempx.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOXG6iwvm6zUVk+OE9ZviO+WNosAHSZw4ku0RxWbXSlSG0RfzvV4IfByF3Dw+4a8yZQmjwNkQalUURh2fEqhBLBI9XNEIL7qIu17zheguyXzpE3Smy4pbI+fjdsnfFrw+WE2n/IO8N6ojdH6sMmnWwfkFZYqqofWyLB3WUN9wy2b2z0w/jc56+HxxyTl3rD7CttTs9ak67HqIn3/pNeHoOM+JQ/te8t4ageIlPi8yJJpqZgww1RUWCgPPwZ9DP6gQjo85he76x0h9jvhnFd7m9N1aGdRDcK55QyoY/9x07R24GRutohAB/KDWSkDWQv5BW7M1LCawpJcF3DDslD1i7 makefu@gum
diff --git a/krebs/3modules/makefu/ssh/makefu.tsp.pub b/krebs/3modules/makefu/ssh/makefu.tsp.pub
new file mode 100644
index 000000000..9a9c9b6f8
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/makefu.tsp.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1srWa67fcsw3r64eqgIuHbMbrj6Ywd9AwzCM+2dfXqYQZblchzH4Q4oydjdFOnV9LaA1LfNcWEjV/gVQKA2/xLSyXSDwzTxQDyOAZaqseKVg1F0a7wAF20+LiegQj6KXE29wcTW1RjcPncmagTBv5/vYbo1eDLKZjwGpEnG0+s+TRftrAhrgtbsuwR1GWWYACxk1CbxbcV+nIZ1RF9E1Fngbl4C4WjXDvsASi8s24utCd/XxgKwKcSFv7EWNfXlNzlETdTqyNVdhA7anc3N7d/TGrQuzCdtrvBFq4WbD3IRhSk79PXaB3L6xJ7LS8DyOSzfPyiJPK65Zw5s4BC07Z makefu@tsp
diff --git a/krebs/3modules/makefu/ssh/makefu.vbob.pub b/krebs/3modules/makefu/ssh/makefu.vbob.pub
new file mode 100644
index 000000000..c49714e24
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/makefu.vbob.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiKvLKaRQPL/Y/4EWx3rNhrY5YGKK4AeqDOFTLgJ7djwJnMo7FP+OIH/4pFxS6Ri2TZwS9QsR3hsycA4n8Z15jXAOXuK52kP65Ei3lLyz9mF+/s1mJsV0Ui/UKF3jE7PEAVky7zXuyYirJpMK8LhXydpFvH95aGrL1Dk30R9/vNkE9rc1XylBfNpT0X0GXmldI+r5OPOtiKLA5BHJdlV8qDYhQsU2fH8S0tmAHF/ir2bh7+PtLE2hmRT+b8I7y1ZagkJsC0sn9GT1AS8ys5s65V2xTTIfQO1zQ4sUH0LczuRuY8MLaO33GAzhyoSQdbdRAmwZQpY/JRJ3C/UROgHYt makefu@vbob
diff --git a/krebs/3modules/makefu/ssh/makefu.x.pub b/krebs/3modules/makefu/ssh/makefu.x.pub
new file mode 100644
index 000000000..74b130f56
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/makefu.x.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCl3RTOHd5DLiVeUbUr/GSiKoRWknXQnbkIf+uNiFO+XxiqZVojPlumQUVhasY8UzDzj9tSDruUKXpjut50FhIO5UFAgsBeMJyoZbgY/+R+QKU00Q19+IiUtxeFol/9dCO+F4o937MC0OpAC10LbOXN/9SYIXueYk3pJxIycXwUqhYmyEqtDdVh9Rx32LBVqlBoXRHpNGPLiswV2qNe0b5p919IGcslzf1XoUzfE3a3yjk/XbWh/59xnl4V7Oe7+iQheFxOT6rFA30WYwEygs5As//ZYtxvnn0gA02gOnXJsNjOW9irlxOUeP7IOU6Ye3WRKFRR0+7PS+w8IJLag2xb makefu@x
diff --git a/krebs/3modules/makefu/ssh/ulrich.pub b/krebs/3modules/makefu/ssh/ulrich.pub
new file mode 100644
index 000000000..88313ee7c
--- /dev/null
+++ b/krebs/3modules/makefu/ssh/ulrich.pub
@@ -0,0 +1 @@
+AAAAB3NzaC1yc2EAAAADAQABAAACAQC1sobyfvUu/G2Ms+T0cI4CSgtjCoO2qEYVK1jkqC2A9mLJfNoPsToLowfGszpOAM9S4Rtn+OJ+vPMvs2E4pkZmXcmJZFAKKPNadmzwqCQyskBdoyszkj7DXngX56ZQ+ZEf+vPp2tu/IN0CFNVUllUcWP2TD2ECH5qkBODBHLyGf4PvV35yGpuYNFhFSWkTxwXZ7d5eat2kmwTfryX91Z+M901t6MK0ADyUwBkbotwSn/B6xUEZzExlGhRziRlIM0MrmSMvUA1mcmMJWVfHbb5Sw8yVstUuaU98C3EzDPNlVTbu5al2sDk4+jjireMMMVHC0j8aj7DlhvcF2t7ZpAKy+HN/PFuV7+RgN3DmIMLwbSRfykH3ATVdBzoL0/XmGBRXht6M22igAMFt9o/oHtwWt2JYcNX5poS8kLcjPzGHcx7KOslZ7VZev4BTpFAZIeMYhlzsNCI88bxUqdFxIcofNIQMy4Ep4qJXlgMduQbYtPDRpclDe82yiblhz48+HF/j8+0ZBx4w3jb4XBtgeTfwM2nARsD7MRzokfMfbGf6cZ8AU0/h69ECdsy2KYCKzgFxV/SHN2fDk6SZWLHmxDZ8N02VqgXMTvkYHvDBiaNxM0/iNMKqYCfuxjQPSusBENSgwhUnBGgoGYZuz0r2oMdtzqrkC/VbDxi5gSKl+ZoaMQ== shackspace.de@myvdr.de
diff --git a/krebs/5pkgs/haskell/blessings.nix b/krebs/5pkgs/haskell/blessings.nix
index f852b4a44..59c5b7984 100644
--- a/krebs/5pkgs/haskell/blessings.nix
+++ b/krebs/5pkgs/haskell/blessings.nix
@@ -1,11 +1,24 @@
-{ mkDerivation, base, fetchgit, stdenv }:
-mkDerivation rec {
+with import <stockholm/lib>;
+{ mkDerivation, base, fetchgit, stdenv }: let
+
+ cfg = {
+ "18.03" = {
+ version = "1.1.0";
+ sha256 = "1k908zap3694fcxdk4bb29s54b0lhdh557y10ybjskfwnym7szn1";
+ };
+ "18.09" = {
+ version = "1.2.0";
+ sha256 = "03hz43ixww0h4fwxqrlrlvmj3pxswhb50ijaapwjz8457il2r300";
+ };
+ }.${versions.majorMinor nixpkgsVersion};
+
+in mkDerivation {
pname = "blessings";
- version = "1.1.0";
+ version = cfg.version;
src = fetchgit {
url = http://cgit.ni.krebsco.de/blessings;
- rev = "refs/tags/v${version}";
- sha256 = "1k908zap3694fcxdk4bb29s54b0lhdh557y10ybjskfwnym7szn1";
+ rev = "refs/tags/v${cfg.version}";
+ sha256 = cfg.sha256;
};
libraryHaskellDepends = [ base ];
doHaddock = false;
diff --git a/krebs/5pkgs/haskell/email-header.nix b/krebs/5pkgs/haskell/email-header.nix
index b54240809..4049168c1 100644
--- a/krebs/5pkgs/haskell/email-header.nix
+++ b/krebs/5pkgs/haskell/email-header.nix
@@ -1,14 +1,29 @@
+with import <stockholm/lib>;
{ mkDerivation, attoparsec, base, base64-bytestring, bytestring
, case-insensitive, containers, exceptions, fetchgit, QuickCheck
, stdenv, tasty, tasty-quickcheck, text, text-icu, time
-}:
-mkDerivation {
+}: let
+
+ cfg = {
+ "18.03" = {
+ version = "0.3.0";
+ rev = "7b179bd31192ead8afe7a0b6e34bcad4039deaa8";
+ sha256 = "12j2n3sbvzjnw99gga7kkdygm8n3qx2lh8q26ad6a53xm5whnz59";
+ };
+ "18.09" = {
+ version = "0.4.1-tv1";
+ rev = "refs/tags/v${cfg.version}";
+ sha256 = "11xjivpj495r2ss9aqljnpzzycb57cm4sr7yzmf939rzwsd3ib0x";
+ };
+ }.${versions.majorMinor nixpkgsVersion};
+
+in mkDerivation {
pname = "email-header";
- version = "0.3.0";
+ version = cfg.version;
src = fetchgit {
url = "https://github.com/4z3/email-header";
- rev = "7b179bd31192ead8afe7a0b6e34bcad4039deaa8";
- sha256 = "12j2n3sbvzjnw99gga7kkdygm8n3qx2lh8q26ad6a53xm5whnz59";
+ rev = cfg.rev;
+ sha256 = cfg.sha256;
};
buildDepends = [
attoparsec base base64-bytestring bytestring case-insensitive
diff --git a/krebs/5pkgs/haskell/hyphenation.nix b/krebs/5pkgs/haskell/hyphenation.nix
deleted file mode 100644
index 6e5fe9455..000000000
--- a/krebs/5pkgs/haskell/hyphenation.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# Same as upstream but with doCheck = false because doctest has wrong version.
-{ mkDerivation, base, bytestring, containers, directory
-, filepath, unordered-containers, zlib, stdenv
-}:
-mkDerivation {
- pname = "hyphenation";
- version = "0.6";
- sha256 = "2f673666c18f63581422f7c6389b78b0ff754406671296a3d680d417942512f7";
- libraryHaskellDepends = [
- base bytestring containers unordered-containers zlib
- ];
- homepage = "http://github.com/ekmett/hyphenation";
- description = "Configurable Knuth-Liang hyphenation";
- license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
- doCheck = false;
-}
diff --git a/krebs/5pkgs/simple/Reaktor/default.nix b/krebs/5pkgs/simple/Reaktor/default.nix
index a9566087f..3ef9ffb7d 100644
--- a/krebs/5pkgs/simple/Reaktor/default.nix
+++ b/krebs/5pkgs/simple/Reaktor/default.nix
@@ -2,7 +2,7 @@
python3Packages.buildPythonPackage rec {
name = "Reaktor-${version}";
- version = "0.6.0";
+ version = "0.6.2";
doCheck = false;
@@ -14,7 +14,7 @@ python3Packages.buildPythonPackage rec {
owner = "krebs";
repo = "Reaktor";
rev = version;
- sha256 = "0nsnv1rixmlg5wkb74b4f5bycb42b9rp4b14hijh558hbsa1b9am";
+ sha256 = "0h8pj0x9b5fnxddwrc0f63rxd3275v5phmjc0fv4kiwlzvbcxj6m";
};
meta = {
homepage = http://krebsco.de/;
diff --git a/krebs/5pkgs/simple/airdcpp-webclient/default.nix b/krebs/5pkgs/simple/airdcpp-webclient/default.nix
new file mode 100644
index 000000000..2bc6cdca9
--- /dev/null
+++ b/krebs/5pkgs/simple/airdcpp-webclient/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, makeWrapper, which
+}:
+stdenv.mkDerivation rec {
+ name = "airdcpp-webclient-${version}";
+ version = "2.3.0";
+
+ src = fetchurl {
+ url = http://web-builds.airdcpp.net/stable/airdcpp_2.3.0_webui-2.3.0_64-bit_portable.tar.gz;
+ sha256 = "0yvcl0nc70fghc7vfsgvbpryi5q97arld8adql4way4qa0mdnyv1";
+ };
+
+ phases = [ "unpackPhase" "installPhase" ];
+ installPhase = ''
+ mkdir -p $out/{share,bin}
+ cp -r * $out/share
+ makeWrapper $out/share/airdcppd $out/bin/airdcppd --prefix PATH ${which}/bin
+ '';
+ nativeBuildInputs = [ makeWrapper ];
+
+ meta = with stdenv.lib; {
+ # to start it: airdcpp -p=<pid-file> -c=<config-store-path (must be writeable)> --configure
+ description = "dcpp client (statically precompiled)";
+ homepage = http://fixme;
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ makefu ];
+ platforms = with platforms; linux;
+ };
+}
diff --git a/krebs/5pkgs/simple/buildbot-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix
index 665b36ab4..c127d2987 100644
--- a/krebs/5pkgs/simple/buildbot-classic/default.nix
+++ b/krebs/5pkgs/simple/buildbot-classic/default.nix
@@ -17,7 +17,7 @@ python2Packages.buildPythonApplication rec {
propagatedBuildInputs = [
python2Packages.jinja2
python2Packages.twisted
- python2Packages.dateutil_1_5
+ python2Packages.dateutil
python2Packages.sqlalchemy_migrate
python2Packages.pysqlite
pkgs.coreutils
diff --git a/krebs/5pkgs/simple/pass-otp/default.nix b/krebs/5pkgs/simple/pass-otp/default.nix
deleted file mode 100644
index 33411180a..000000000
--- a/krebs/5pkgs/simple/pass-otp/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, oathToolkit }:
-stdenv.mkDerivation rec {
- name = "pass-otp-${version}";
- version = "1.1.0";
-
- src = fetchFromGitHub {
- owner = "tadfisher";
- repo = "pass-otp";
- rev = "v${version}";
- sha256 = "1cgj4zc8fq88n3h6c0vkv9i5al785mdprpgpbv5m22dz9p1wqvbb";
- };
-
- buildInputs = [ oathToolkit ];
-
- patchPhase = ''
- sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
- '';
-
- installPhase = ''
- make PREFIX=$out install
- '';
-
- meta = with stdenv.lib; {
- description = "A pass extension for managing one-time-password (OTP) tokens";
- homepage = https://github.com/tadfisher/pass-otp;
- license = licenses.gpl3;
- maintainers = with maintainers; [ jwiegley tadfisher ];
- platforms = platforms.unix;
- };
-}
diff --git a/krebs/5pkgs/simple/pass/default.nix b/krebs/5pkgs/simple/pass/default.nix
deleted file mode 100644
index c2fe0e1d7..000000000
--- a/krebs/5pkgs/simple/pass/default.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-{ stdenv, lib, fetchurl, fetchFromGitHub
-, coreutils, gnused, getopt, git, tree, gnupg, which, procps, qrencode
-, makeWrapper
-
-, pass-otp
-
-, xclip ? null, xdotool ? null, dmenu ? null
-, x11Support ? !stdenv.isDarwin
-, tombPluginSupport ? false, tomb
-}:
-
-with lib;
-
-assert x11Support -> xclip != null
- && xdotool != null
- && dmenu != null;
-
-let
- plugins = map (p: (fetchFromGitHub {
- owner = "roddhjav";
- repo = "pass-${p.name}";
- inherit (p) rev sha256;
- }))
- ([
- { name = "import";
- rev = "491935bd275f29ceac2b876b3a288011d1ce31e7";
- sha256 = "02mbh05ab8h7kc30hz718d1d1vkjz43b96c7p0xnd92610d2q66q"; }
- { name = "update";
- rev = "cf576c9036fd18efb9ed29e0e9f811207b556fde";
- sha256 = "1hhbrg6a2walrvla6q4cd3pgrqbcrf9brzjkb748735shxfn52hd"; }
- ] ++ stdenv.lib.optional tombPluginSupport {
- name = "tomb";
- rev = "3368134898a42c1b758fabac625ec240e125c6be";
- sha256 = "0qqmxfg4w3r088qhlkhs44036mya82vjflsjjhw2hk8y0wd2i6ds"; }
- );
-
-in stdenv.mkDerivation rec {
- version = "1.7.2";
- name = "password-store-${version}";
-
- src = fetchurl {
- url = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz";
- sha256 = "1sl0d7nc85c6c2bmmmyb8rpmn47vhkj831l153mjlkawjvhwas27";
- };
-
- patches = [ ./set-correct-program-name-for-sleep.patch
- ] ++ stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch;
-
- nativeBuildInputs = [ makeWrapper ];
-
- installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ];
-
- postInstall = ''
- # plugins
- ${stdenv.lib.concatStringsSep "\n" (map (plugin: ''
- pushd ${plugin}
- PREFIX=$out make install
- popd
- '') plugins)}
-
- ln -s \
- ${pass-otp}/lib/password-store/extensions/otp.bash \
- $out/lib/password-store/extensions/
-
- ln -s \
- ${pass-otp}/share/man/man1/pass-otp.1.gz \
- $out/share/man/man1/
-
- # Install Emacs Mode. NOTE: We can't install the necessary
- # dependencies (s.el and f.el) here. The user has to do this
- # himself.
- mkdir -p "$out/share/emacs/site-lisp"
- cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
- '' + optionalString x11Support ''
- cp "contrib/dmenu/passmenu" "$out/bin/"
- '';
-
- wrapperPath = with stdenv.lib; makeBinPath ([
- coreutils
- getopt
- git
- gnupg
- gnused
- tree
- which
- qrencode
- ] ++ optional tombPluginSupport tomb
- ++ optional stdenv.isLinux procps
- ++ ifEnable x11Support [ dmenu xclip xdotool ]);
-
- postFixup = ''
- # Fix program name in --help
- substituteInPlace $out/bin/pass \
- --replace 'PROGRAM="''${0##*/}"' "PROGRAM=pass"
-
- # Ensure all dependencies are in PATH
- wrapProgram $out/bin/pass \
- --prefix PATH : "${wrapperPath}"
- '' + stdenv.lib.optionalString x11Support ''
- # We just wrap passmenu with the same PATH as pass. It doesn't
- # need all the tools in there but it doesn't hurt either.
- wrapProgram $out/bin/passmenu \
- --prefix PATH : "$out/bin:${wrapperPath}"
- '';
-
- meta = with stdenv.lib; {
- description = "Stores, retrieves, generates, and synchronizes passwords securely";
- homepage = https://www.passwordstore.org/;
- license = licenses.gpl2Plus;
- maintainers = with maintainers; [ lovek323 the-kenny fpletz ];
- platforms = platforms.unix;
-
- longDescription = ''
- pass is a very simple password store that keeps passwords inside gpg2
- encrypted files inside a simple directory tree residing at
- ~/.password-store. The pass utility provides a series of commands for
- manipulating the password store, allowing the user to add, remove, edit,
- synchronize, generate, and manipulate passwords.
- '';
- };
-}
diff --git a/krebs/5pkgs/simple/pass/no-darwin-getopt.patch b/krebs/5pkgs/simple/pass/no-darwin-getopt.patch
deleted file mode 100644
index e8f7e138f..000000000
--- a/krebs/5pkgs/simple/pass/no-darwin-getopt.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -Naur password-store-1.6.5-orig/src/platform/darwin.sh password-store-1.6.5/src/platform/darwin.sh
---- password-store-1.6.5-orig/src/platform/darwin.sh 2015-01-28 16:43:02.000000000 +0000
-+++ password-store-1.6.5/src/platform/darwin.sh 2015-02-15 16:09:02.000000000 +0000
-@@ -31,5 +31,4 @@
- mount -t hfs -o noatime -o nobrowse "$DARWIN_RAMDISK_DEV" "$SECURE_TMPDIR" || die "Error: could not mount filesystem on ramdisk."
- }
-
--GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || { which port &>/dev/null && echo /opt/local; } || echo /usr/local)/bin/getopt"
- SHRED="srm -f -z"
diff --git a/krebs/5pkgs/simple/pass/rofi-pass.nix b/krebs/5pkgs/simple/pass/rofi-pass.nix
deleted file mode 100644
index 61f51973e..000000000
--- a/krebs/5pkgs/simple/pass/rofi-pass.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv, fetchFromGitHub, pass, rofi, coreutils, utillinux, xdotool, gnugrep
-, libnotify, pwgen, findutils, gawk, gnused, xclip, makeWrapper
-}:
-
-stdenv.mkDerivation rec {
- name = "rofi-pass-${version}";
- version = "1.5.3";
-
- src = fetchFromGitHub {
- owner = "carnager";
- repo = "rofi-pass";
- rev = version;
- sha256 = "1fn1j2rf3abc5qb44zfc8z8ffw6rva4xfp7597hwr1g3szacazpq";
- };
-
- buildInputs = [ makeWrapper ];
-
- dontBuild = true;
-
- installPhase = ''
- mkdir -p $out/bin
- cp -a rofi-pass $out/bin/rofi-pass
-
- mkdir -p $out/share/doc/rofi-pass/
- cp -a config.example $out/share/doc/rofi-pass/config.example
- '';
-
- wrapperPath = with stdenv.lib; makeBinPath [
- coreutils
- findutils
- gawk
- gnugrep
- gnused
- libnotify
- pass
- pwgen
- rofi
- utillinux
- xclip
- xdotool
- ];
-
- fixupPhase = ''
- patchShebangs $out/bin
-
- wrapProgram $out/bin/rofi-pass \
- --prefix PATH : "${wrapperPath}"
- '';
-
- meta = {
- description = "A script to make rofi work with password-store";
- homepage = https://github.com/carnager/rofi-pass;
- maintainers = with stdenv.lib.maintainers; [ the-kenny garbas ];
- license = stdenv.lib.licenses.gpl3;
- platforms = with stdenv.lib.platforms; linux;
- };
-}
diff --git a/krebs/5pkgs/simple/pass/set-correct-program-name-for-sleep.patch b/krebs/5pkgs/simple/pass/set-correct-program-name-for-sleep.patch
deleted file mode 100644
index 782e06e20..000000000
--- a/krebs/5pkgs/simple/pass/set-correct-program-name-for-sleep.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 25b44e00ed5df8ffe2782d38ad5cd9f514379599 Mon Sep 17 00:00:00 2001
-From: "Andrew R. M" <andrewmiller237@gmail.com>
-Date: Sat, 8 Apr 2017 13:50:01 -0400
-Subject: [PATCH] Patch the clip() function to work even when using
- single-binary coreutils
-
----
- src/password-store.sh | 4 ++--
- src/platform/cygwin.sh | 4 ++--
- src/platform/darwin.sh | 4 ++--
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/password-store.sh b/src/password-store.sh
-index 6a4172d..4dbd6b8 100755
---- a/src/password-store.sh
-+++ b/src/password-store.sh
-@@ -155,11 +155,11 @@ clip() {
- # variable. Specifically, it cannot store nulls nor (non-trivally) store
- # trailing new lines.
- local sleep_argv0="password store sleep on display $DISPLAY"
-- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
-+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
- local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | base64)"
- echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard"
- (
-- ( exec -a "$sleep_argv0" bash <<<"trap 'kill %1' TERM; sleep '$CLIP_TIME' & wait" )
-+ ( exec -a "$sleep_argv0" bash <(echo trap 'kill %1' TERM\; sleep "$CLIP_TIME & wait") )
- local now="$(xclip -o -selection "$X_SELECTION" | base64)"
- [[ $now != $(echo -n "$1" | base64) ]] && before="$now"
-
-diff --git a/src/platform/cygwin.sh b/src/platform/cygwin.sh
-index 6e5dd86..f3574c4 100644
---- a/src/platform/cygwin.sh
-+++ b/src/platform/cygwin.sh
-@@ -3,11 +3,11 @@
-
- clip() {
- local sleep_argv0="password store sleep on display $DISPLAY"
-- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
-+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
- local before="$(base64 < /dev/clipboard)"
- echo -n "$1" > /dev/clipboard
- (
-- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
-+ ( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") )
- local now="$(base64 < /dev/clipboard)"
- [[ $now != $(echo -n "$1" | base64) ]] && before="$now"
- echo "$before" | base64 -d > /dev/clipboard
-diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
-index 86eb325..deb04c4 100644
---- a/src/platform/darwin.sh
-+++ b/src/platform/darwin.sh
-@@ -3,11 +3,11 @@
-
- clip() {
- local sleep_argv0="password store sleep for user $(id -u)"
-- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
-+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
- local before="$(pbpaste | openssl base64)"
- echo -n "$1" | pbcopy
- (
-- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
-+ ( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") )
- local now="$(pbpaste | openssl base64)"
- [[ $now != $(echo -n "$1" | openssl base64) ]] && before="$now"
- echo "$before" | openssl base64 -d | pbcopy
---
-2.12.2
-
diff --git a/krebs/5pkgs/simple/repo-sync/default.nix b/krebs/5pkgs/simple/repo-sync/default.nix
index 8393cd79f..66f220ba6 100644
--- a/krebs/5pkgs/simple/repo-sync/default.nix
+++ b/krebs/5pkgs/simple/repo-sync/default.nix
@@ -3,7 +3,6 @@
with python3Packages; buildPythonPackage rec {
name = "repo-sync-${version}";
version = "0.2.7";
- disabled = isPy26 || isPy27;
propagatedBuildInputs = [
docopt
GitPython
diff --git a/krebs/krops.nix b/krebs/krops.nix
index 864cc8066..763e76b83 100644
--- a/krebs/krops.nix
+++ b/krebs/krops.nix
@@ -1,9 +1,6 @@
{ name }: rec {
- krops = builtins.fetchGit {
- url = https://cgit.krebsco.de/krops/;
- rev = "c46166d407c7d246112f13346621a3fbdb25889e";
- };
+ krops = ../submodules/krops;
lib = import "${krops}/lib";
@@ -57,6 +54,7 @@
# usage: $(nix-build --no-out-link --argstr name HOSTNAME --argstr target PATH -A test)
test = { target }: pkgs.krops.writeTest "${name}-test" {
+ force = true;
inherit target;
source = source { test = true; };
};
diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json
index a3612fa7a..60307e694 100644
--- a/krebs/nixpkgs.json
+++ b/krebs/nixpkgs.json
@@ -1,7 +1,7 @@
{
"url": "https://github.com/NixOS/nixpkgs-channels",
- "rev": "d16a7abceb72aac85e0deb8c45fbcb7127baf628",
- "date": "2018-09-20T18:31:51-05:00",
- "sha256": "0byf6rlwwy70v2sdfmv7mnwd0kvxmlq0pi8ijghg0mcfhcqibgh7",
- "fetchSubmodules": true
+ "rev": "81f5c2698a87c65b4970c69d472960c574ea0db4",
+ "date": "2018-10-17T20:48:45-04:00",
+ "sha256": "0p4x9532d3qlbykyyq8zk62k8py9mxd1s7zgbv54zmv597rs5y35",
+ "fetchSubmodules": false
}
diff --git a/krebs/update-channel.sh b/krebs/update-channel.sh
index 47d3f29c4..7f24cd31a 100755
--- a/krebs/update-channel.sh
+++ b/krebs/update-channel.sh
@@ -3,7 +3,7 @@ dir=$(dirname $0)
oldrev=$(cat $dir/nixpkgs.json | jq -r .rev | sed 's/\(.\{7\}\).*/\1/')
nix-shell -p nix-prefetch-git --run 'nix-prefetch-git \
--url https://github.com/NixOS/nixpkgs-channels \
- --rev refs/heads/nixos-18.03' \
+ --rev refs/heads/nixos-18.09' \
> $dir/nixpkgs.json
newrev=$(cat $dir/nixpkgs.json | jq -r .rev | sed 's/\(.\{7\}\).*/\1/')
git commit $dir/nixpkgs.json -m "nixpkgs: $oldrev -> $newrev"
[cgit] Unable to lock slot /tmp/cgit/30200000.lock: No such file or directory (2)