From eca4bc8b35a724707af086dc8f55d45cd1d06712 Mon Sep 17 00:00:00 2001 From: Steffen Beyer Date: Wed, 1 Apr 2026 03:10:43 +0200 Subject: [PATCH] Preload packaged Hex in fetch-mix-deps --- tribes/packages/mix.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tribes/packages/mix.scm b/tribes/packages/mix.scm index 4aed333..c3799b6 100644 --- a/tribes/packages/mix.scm +++ b/tribes/packages/mix.scm @@ -38,6 +38,11 @@ SOURCE according to mix.lock." #$(file-append nss-certs "/etc/ssl/certs")) (define cert-file (string-append work "/ca-certificates.crt")) + (define hex-lib-dir + #$(file-append elixir-hex-otp28 + "/lib/elixir/" + (version-major+minor + (package-version elixir-otp28)))) (define path (string-join (list #$(file-append elixir-otp28 "/bin") @@ -68,6 +73,7 @@ SOURCE according to mix.lock." (setenv "HOME" (string-append work "/home")) (setenv "MIX_HOME" (string-append work "/mix")) (setenv "HEX_HOME" (string-append work "/hex")) + (setenv "XDG_CACHE_HOME" (string-append work "/cache")) (setenv "MIX_DEPS_PATH" deps-dir) (setenv "MIX_ENV" #$mix-env) (setenv "MIX_TARGET" #$mix-target) @@ -83,9 +89,15 @@ SOURCE according to mix.lock." (setenv "HEX_CACERTS_PATH" cert-file) (setenv "HEX_HTTP_CONCURRENCY" "1") (setenv "HEX_HTTP_TIMEOUT" "120") + (let ((existing-elixir-libs (getenv "GUIX_ELIXIR_LIBS"))) + (setenv "GUIX_ELIXIR_LIBS" + (if existing-elixir-libs + (string-append hex-lib-dir ":" existing-elixir-libs) + hex-lib-dir))) (mkdir-p (getenv "HOME")) (mkdir-p (getenv "MIX_HOME")) (mkdir-p (getenv "HEX_HOME")) + (mkdir-p (getenv "XDG_CACHE_HOME")) (with-directory-excursion app-dir (invoke "mix" "deps.get" "--only" #$mix-env))