summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/5pkgs')
-rw-r--r--krebs/5pkgs/default.nix27
-rw-r--r--krebs/5pkgs/push/default.nix48
2 files changed, 55 insertions, 20 deletions
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
+ '';
+}
+