Hi, I am pretty new to Guix, but I tackled this as well and ended up using time-machine. My issue was that I needed to check if the whole channel actually compiles when put together. I ended up with something like this in the CI:
cat >channels.scm <<EOF
(list
%default-guix-channel
(channel
(name 'elektroline)
(url "${CI_PROJECT_DIR}")
(branch "${CI_COMMIT_BRANCH}")
(commit "${CI_COMMIT_SHA}")))
EOF
guix time-machine -C channels.scm -- describe
This will include dependent channels as configured in the current channel.
I am not sure if this is the best way, but it worked for my use case.
Best wishes,
Karel
On Thu 29 Oct 2026 08:36:46 PM , Tomas Volf wrote:
> Hi,
>
> I would like to compile files in my Guix channel during development,
> however I am not sure how. Trying to use `guild compile' leads to a
> predictable error:
>
> --8<---------------cut here---------------start------------->8---
> GUILE_AUTO_COMPILE=0 guild compile -o wolfsden/packages/golang-apps.go
> wolfsden/packages/golang-apps.scm
> Backtrace:
> In ice-9/eval.scm:
> 293:34 19 (_ #<module (#{ g111}#) 7fee4ef0a640>)
> [..]
>
> ice-9/boot-9.scm:1705:22: In procedure raise-exception:
> no code for module (nonguix download)
> --8<---------------cut here---------------end--------------->8---
>
> `guix' itself does not offer any `compile' command. Would anyone be
> able to point me in the right direction here?
>
> (Yes, I know I can clone every single channel I use and pass them to
> guild via -L. However I would strongly prefer solution that uses
> channels in the currently running `guix' command, as `guix repl' does.)
>
> Thanks,
> Tomas
>
> --
> There are only two hard things in Computer Science:
> cache invalidation, naming things and off-by-one errors.
signature.asc
Description: PGP signature
