Skip to content

Instantly share code, notes, and snippets.

@proger
Created September 5, 2014 11:19
Show Gist options
  • Save proger/f5f3b2902455aa9df2e0 to your computer and use it in GitHub Desktop.
Save proger/f5f3b2902455aa9df2e0 to your computer and use it in GitHub Desktop.
# running this:
# % env NIX_REMOTE= INTERNIX_REMOTE=daemon \
# NIX_LOG_DIR=$HOME/tmp/log NIX_CONF_DIR=/var/empty NIX_STORE_DIR=$HOME/tmp/store NIX_STATE_DIR=$HOME/tmp/state NIX_DB_DIR=$HOME/tmp/state/db \
# nix-build internix.nix --show-trace
let pkgs = import <nixpkgs> {}; in with pkgs.lib;
let
system = builtins.currentSystem;
builder = ./proxy-bash.sh;
PATH = "/usr/bin:/usr/local/bin:/bin:/run/current-system/sw/bin";
preferLocalBuild = true;
shell = name: command: derivation { # similar to pkgs.runCommand
inherit system builder PATH name preferLocalBuild;
args = ["-c" command];
};
nixPackage = attr: shell "nixpkg-${attr}" ''
unset NIX_STORE
export NIX_PATH=${builtins.getEnv "NIX_PATH"}
export NIX_REMOTE=${builtins.getEnv "INTERNIX_REMOTE"}
nix-build -A pkgs.${attr} "$(nix-instantiate --eval -E '<nixpkgs>')/default.nix"
eval ln -sf $(nix-instantiate --read-write-mode --show-trace --eval --strict -E '(import <nixpkgs> {}).${attr}.outPath') $out
'';
in
let
deps = [ "nixUnstable" "bash" "netcat-openbsd" "curl" ];
interpkgs = listToAttrs (map (p: nameValuePair p (nixPackage p)) deps);
path = concatStringsSep ":" (map (p: "${p}/bin:${p}/sbin") (attrValues interpkgs));
expr = shell "nix-store-version" ''
export PATH=${path}
echo $PATH
curl --version
${interpkgs.nixUnstable}/bin/nix-store --version > $out
'';
in expr
#!/usr/bin/env bash
exec bash "$@"
@proger
Copy link
Author

proger commented Sep 5, 2014

[proger@frontend:~/mnt]$ ls -lah ~/tmp/store
total 48K
drwxr-xr-x 3 proger users 4.0K Sep  5 11:17 .
drwxr-xr-x 5 proger users 4.0K Sep  5 11:17 ..
-r--r--r-- 1 proger users   35 Jan  1  1970 0lrz5cvbc52b1rmd1hz9255rsv3nwy9b-nix-store-version
lrwxrwxrwx 1 proger users   66 Jan  1  1970 1jmg9c0n5izrxi10fnj12anr2wvy5x54-nixpkg-nixUnstable -> /nix/store/sxi17l3wryp49y29m3v13kaispa46knv-nix-1.7pre3522_f7e077a
lrwxrwxrwx 1 proger users   56 Jan  1  1970 1pka8znrrw3zmk6hgc7vhy30b3rl50ma-nixpkg-bash -> /nix/store/qw7vn33jcv1yfsfdw19ic5r2jlqk68w3-bash-4.2-p45
-r-xr-xr-x 1 proger users   35 Jan  1  1970 50cq6pqhx2n609mahrk7bjafxk1ss45l-proxy-bash.sh
-r--r--r-- 1 proger users 1.7K Jan  1  1970 80mikqv8hqvqd9lqpjmn7z9qfr65g0pa-nix-store-version.drv
-r--r--r-- 1 proger users  957 Jan  1  1970 8rabjhp39vcv0hhy27b98zf1fhpwvzp1-nixpkg-bash.drv
-r--r--r-- 1 proger users  992 Jan  1  1970 am5959vlcrqa40jfh897ikgp615vcqzm-nixpkg-nixUnstable.drv
lrwxrwxrwx 1 proger users   64 Jan  1  1970 fqg6gp4amypcws08srsd0cl7c32gqj4r-nixpkg-netcat-openbsd -> /nix/store/chx50r56nqvkcqsarhp9dxv7y724y5k5-netcat-openbsd-1.105
-r--r--r-- 1 proger users 1007 Jan  1  1970 i4hnvjg1v9ybz1r0l85ljknyzkvb4s40-nixpkg-netcat-openbsd.drv
drwxr-xr-x 2 proger users 4.0K Sep  5 11:17 .links
lrwxrwxrwx 1 proger users   55 Jan  1  1970 wvji5faacaxhx9pdh23r9xkb0pbs7x9z-nixpkg-curl -> /nix/store/k9vnd4zzpax0y47mb7mwkiqcafnslpad-curl-7.35.0
-r--r--r-- 1 proger users  957 Jan  1  1970 y6ywh2mycrk8xcrydxvhay4awlgbkai7-nixpkg-curl.drv

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment