aboutsummaryrefslogtreecommitdiff
path: root/aux/containers/guix
diff options
context:
space:
mode:
Diffstat (limited to 'aux/containers/guix')
-rw-r--r--aux/containers/guix/manifest.scm24
-rwxr-xr-xaux/containers/guix/with-container.sh19
2 files changed, 43 insertions, 0 deletions
diff --git a/aux/containers/guix/manifest.scm b/aux/containers/guix/manifest.scm
new file mode 100644
index 0000000..f670fdd
--- /dev/null
+++ b/aux/containers/guix/manifest.scm
@@ -0,0 +1,24 @@
+(specifications->manifest
+ (map symbol->string
+ '(bash
+ coreutils
+ findutils
+ diffutils
+ grep
+ sed
+ m4
+ git
+ gawk
+ make
+ makefile2graph
+ graphviz
+ shellcheck
+ pandoc
+ gettext
+ po4a-text
+ mdpo-patched
+ hunspell
+ hunspell-dict-en-utf8
+ hunspell-dict-pt-utf8
+ hunspell-dict-fr-utf8
+ hunspell-dict-eo-utf8)))
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