diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -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 | ||||
| -rw-r--r-- | tv/1systems/mkdir.nix | 2 | ||||
| -rw-r--r-- | tv/1systems/wu.nix | 1 | ||||
| -rw-r--r-- | tv/2configs/git.nix | 1 | 
7 files changed, 65 insertions, 22 deletions
@@ -35,11 +35,11 @@ ifeq ($(filter),json)  else  	filter() { cat; }  endif -	NIX_PATH=stockholm=$$PWD:$$NIX_PATH \  	nix-instantiate \  		$${extraArgs-} \  		--eval \  		-A "$$get" \ +		-I stockholm="$$PWD" \  		'<stockholm>' \  		--argstr current-date "$$(date -Is)" \  		--argstr current-host-name "$$HOSTNAME" \ 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 +    ''; +} + diff --git a/tv/1systems/mkdir.nix b/tv/1systems/mkdir.nix index 76432ba03..669dcc2f3 100644 --- a/tv/1systems/mkdir.nix +++ b/tv/1systems/mkdir.nix @@ -24,7 +24,7 @@ in    krebs.build.source = {      git.nixpkgs = {        url = https://github.com/NixOS/nixpkgs; -      rev = "68bd8e4a9dc247726ae89cc8739574261718e328"; +      rev = "e57024f821c94caf5684964474073649b8b6356b";      };      dir.secrets = {        host = config.krebs.hosts.wu; diff --git a/tv/1systems/wu.nix b/tv/1systems/wu.nix index 0ef846f93..cc99b0498 100644 --- a/tv/1systems/wu.nix +++ b/tv/1systems/wu.nix @@ -89,6 +89,7 @@ with lib;          pavucontrol          posix_man_pages          pssh +        push          qrencode          sxiv          texLive diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix index 401cf5f4d..d782c87f1 100644 --- a/tv/2configs/git.nix +++ b/tv/2configs/git.nix @@ -35,6 +35,7 @@ let      nixos-infest = {};      nixpkgs = {};      painload = {}; +    push = {};      quipper = {};      regfish = {};      stockholm = {  | 
