diff options
author | lassulus <lass@aidsballs.de> | 2015-10-15 15:18:29 +0200 |
---|---|---|
committer | lassulus <lass@aidsballs.de> | 2015-10-15 15:18:29 +0200 |
commit | ba5479b4cda8bc70fc67e6e0d90d90aa7a7b9dab (patch) | |
tree | ee5b8c780ab6dfd7c0c8b51346a9173d98613fe5 /krebs | |
parent | a8816bcfe351c1fe9e1a00b27707b56eb544d390 (diff) | |
parent | 338df3310352163d3cce850e6ff461c2cdf58eb5 (diff) |
Merge remote-tracking branch 'cd/master'
Diffstat (limited to 'krebs')
-rw-r--r-- | krebs/4lib/default.nix | 6 | ||||
-rw-r--r-- | krebs/5pkgs/default.nix | 27 | ||||
-rw-r--r-- | krebs/5pkgs/push/default.nix | 48 |
3 files changed, 61 insertions, 20 deletions
diff --git a/krebs/4lib/default.nix b/krebs/4lib/default.nix index ca7219c7e..78f719988 100644 --- a/krebs/4lib/default.nix +++ b/krebs/4lib/default.nix @@ -5,6 +5,8 @@ with lib; builtins // lib // rec { + eq = x: y: x == y; + addName = name: set: set // { inherit name; }; @@ -22,4 +24,8 @@ builtins // lib // rec { null = "NULL"; string = toJSON x; # close enough }.${typeOf x}; + + subdirsOf = path: + mapAttrs (name: _: path + "/${name}") + (filterAttrs (_: eq "directory") (readDir path)); } diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix index c48c3dee8..a8a1b5853 100644 --- a/krebs/5pkgs/default.nix +++ b/krebs/5pkgs/default.nix @@ -3,28 +3,15 @@ with import ../4lib { inherit lib; }; let - inherit (pkgs) callPackage; + subdirs = mapAttrs (_: flip pkgs.callPackage {}) (subdirsOf ./.); + pkgs' = pkgs // subdirs; in -rec { - cac = callPackage ./cac {}; - charybdis = callPackage ./charybdis {}; - dic = callPackage ./dic {}; - genid = callPackage ./genid {}; - get = callPackage ./get {}; - github-hosts-sync = callPackage ./github-hosts-sync {}; - hashPassword = callPackage ./hashPassword {}; - jq = callPackage ./jq {}; - krebszones = callPackage ./krebszones {}; - lentil = callPackage ./lentil {}; - much = callPackage ./much {}; - nq = callPackage ./nq {}; - posix-array = callPackage ./posix-array {}; - pssh = callPackage ./pssh {}; - passwdqc-utils = callPackage ./passwdqc-utils {}; - Reaktor = callPackage ./Reaktor {}; - realwallpaper = callPackage ./realwallpaper.nix {}; - youtube-tools = callPackage ./youtube-tools {}; +subdirs // rec { + + push = pkgs'.callPackage ./push { + inherit (subdirs) get jq; + }; execve = name: { filename, argv, envp ? {}, destination ? "" }: writeC name { inherit destination; } '' diff --git a/krebs/5pkgs/push/default.nix b/krebs/5pkgs/push/default.nix new file mode 100644 index 000000000..ce496d9c3 --- /dev/null +++ b/krebs/5pkgs/push/default.nix @@ -0,0 +1,48 @@ +{ fetchgit, lib, stdenv +, coreutils +, get +, git +, gnused +, jq +, openssh +, parallel +, ... }: + +stdenv.mkDerivation { + name = "push-1.0.0"; + + src = fetchgit { + url = http://cgit.cd.retiolum/push; + rev = "513da89fe50b3bad3d758855f5622c4508977e4a"; + sha256 = "6124e1d4d4ef57455e2f06891e06fb01d3786846efaf9b79e3176d89988e1b4e"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = + let + path = lib.makeSearchPath "bin" [ + coreutils + get + git + gnused + jq + openssh + parallel + ]; + in + '' + mkdir -p $out/bin + + sed \ + '1s,.*,&\nPATH=${path},' \ + < ./push \ + > $out/bin/push + + chmod +x $out/bin/push + ''; +} + |