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 '("[email protected]" "[email protected]"))
>
> ----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