Hi Carlo, On Mon, Feb 10 2025, Carlo Ascani via wrote: > ----8<----8<----8<---- > > (use-modules (guix channels)) > > (list (channel > (name 'guix) > (url "https://git.savannah.gnu.org/git/guix.git") > (branch "master") > (commit > "7f3313341caf844d9fb6919f6cdc28fdcaf06c6d") > (introduction > (make-channel-introduction > "9edb3f66fd807b096b48283debdcddccfea34bad" > (openpgp-fingerprint > "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) > > (specifications->manifest '("make@4.4.1" "elm@0.19.1")) > > ----8<----8<----8<---- > > This way I am sure that my collegues that run `guix shell` > will get the same exact make and elm. > > Am I correct?
Not quite, but it's close! As other replies have mentioned, this declares a list of channels, but it doesn't actually use it for anything. Here's my attempt, using inferiors: --8<---------------cut here---------------start------------->8--- (use-modules (guix inferior) (guix channels)) (define channels (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (branch "master") (commit "7f3313341caf844d9fb6919f6cdc28fdcaf06c6d") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))) (define inferior (inferior-for-channels channels)) (packages->manifest (append (lookup-inferior-packages inferior "make" "4.4.1") (lookup-inferior-packages inferior "elm" "0.19.1"))) --8<---------------cut here---------------end--------------->8--- With this, it should be enough to run "guix shell -m manifest.scm" or, even just "guix shell" if you have an appropriate entry in ~/.config/guix/shell-authorized-directories. I hope that helps, Carlo