diff options
Diffstat (limited to 'aux/containers/guix')
-rw-r--r-- | aux/containers/guix/manifest.scm | 29 | ||||
-rw-r--r-- | aux/containers/guix/pinned-channels.scm | 11 | ||||
-rwxr-xr-x | aux/containers/guix/with-container.sh | 19 |
3 files changed, 59 insertions, 0 deletions
diff --git a/aux/containers/guix/manifest.scm b/aux/containers/guix/manifest.scm new file mode 100644 index 0000000..b10cc6d --- /dev/null +++ b/aux/containers/guix/manifest.scm @@ -0,0 +1,29 @@ +(specifications->manifest + (map symbol->string + '(bash + coreutils + findutils + diffutils + grep + sed + git + tar + gzip + gawk + make + perl + shellcheck + pandoc + + jekyll + flac + mediainfo + mdpo-patched + git-annex + hunspell + inkscape + imagemagick + ffmpeg + lilypond + mktorrent-latest ;; in xyz-euandreh channel + timidity++))) diff --git a/aux/containers/guix/pinned-channels.scm b/aux/containers/guix/pinned-channels.scm new file mode 100644 index 0000000..504406f --- /dev/null +++ b/aux/containers/guix/pinned-channels.scm @@ -0,0 +1,11 @@ +(cons* + (channel + (name 'xyz-euandreh) + (url "git://euandreh.xyz/package-repository") + (branch "main") + (introduction + (make-channel-introduction + "d749e053e6db365069cb9b2ef47a78b06f9e7361" + (openpgp-fingerprint + "5BDA E9B8 B2F6 C6BC BB0D 6CE5 81F9 0EC3 CD35 6060")))) + %default-channels) 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 |