diff options
Diffstat (limited to 'aux/containers/guix/with-container.sh')
-rwxr-xr-x | aux/containers/guix/with-container.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/aux/containers/guix/with-container.sh b/aux/containers/guix/with-container.sh new file mode 100755 index 0000000..fcbb8b5 --- /dev/null +++ b/aux/containers/guix/with-container.sh @@ -0,0 +1,19 @@ +#!/bin/sh +set -eu + +CHANNEL_REMOTE='https://euandreh.xyz/package-repository.git' +CHANNEL_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/euandreh-guix-channel" + +if [ ! -d "$CHANNEL_DIR" ]; then + git clone "$CHANNEL_REMOTE" "$CHANNEL_DIR" +fi + +git -C "$CHANNEL_DIR" pull + +ENV_CMD="guix environment -L $CHANNEL_DIR/src/ -m aux/containers/guix/manifest.scm" + +if [ -z "${1:-}" ]; then + $ENV_CMD +else + $ENV_CMD --pure -C -- sh -c "$@" +fi |