diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2019-11-24 20:39:26 +0100 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2019-11-24 20:39:26 +0100 |
| commit | 61e8781e600a916e51fd663c4d8cd5d93bb894cb (patch) | |
| tree | 15a8e9abf15f5ebd8e2e692a9fc43a7124fae93e /persistent-nix-shell | |
| parent | f55aa62c7dd25d44b37985ef5f109eb8212f5ae7 (diff) | |
| download | utils-61e8781e600a916e51fd663c4d8cd5d93bb894cb.tar utils-61e8781e600a916e51fd663c4d8cd5d93bb894cb.tar.gz utils-61e8781e600a916e51fd663c4d8cd5d93bb894cb.tar.bz2 utils-61e8781e600a916e51fd663c4d8cd5d93bb894cb.tar.xz utils-61e8781e600a916e51fd663c4d8cd5d93bb894cb.zip | |
persistent-nix-shell
Diffstat (limited to 'persistent-nix-shell')
| -rwxr-xr-x | persistent-nix-shell | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/persistent-nix-shell b/persistent-nix-shell new file mode 100755 index 0000000..a17f6de --- /dev/null +++ b/persistent-nix-shell | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | #!@zsh@/bin/zsh | ||
| 2 | |||
| 3 | set -e | ||
| 4 | |||
| 5 | gcrootsDir=${PWD}/.nix-gc-roots | ||
| 6 | |||
| 7 | if [[ ${#@} -ge 1 ]]; then | ||
| 8 | shellFile=${1} | ||
| 9 | shift | ||
| 10 | else | ||
| 11 | shellFile=${PWD}/shell.nix | ||
| 12 | fi | ||
| 13 | |||
| 14 | set -x | ||
| 15 | mkdir -p ${gcrootsDir} | ||
| 16 | nix-instantiate ${shellFile} --indirect --add-root ${gcrootsDir}/shell.drv | ||
| 17 | nix-store --indirect --add-root ${gcrootsDir}/shell.dep --realise $(nix-store --query --references ${gcrootsDir}/shell.drv) | ||
| 18 | set +x | ||
| 19 | |||
| 20 | exec nix-shell $(readlink ${gcrootsDir}/shell.drv) ${@} | ||
