To be clear, guix package always operates on the list of installed packages in your user profile (~/.guix-profile), not packages from your environment. Don't rely on its information to look at what's in a guix shell :)

Le 15 novembre 2022 16:40:05 GMT+01:00, Andy Tai <atai@atai.org> a écrit :
Hi, thanks.

guix shell -D -f guix.scm

did work for me.... I did not see d2 0.1.4 from


guix package --list-installed
or
guix package --list-available
but

pkg-config --modversion d2

did show 0.1.4   So it is there, in this guix shell.

Thanks for all the replies to this question.

On Mon, Nov 14, 2022 at 10:15 PM Julien Lepiller <julien@lepiller.eu> wrote:
I think you got it right, I've used thas in the past. Maybe your cli options are out of order? Instead of -f -d, try -D -f. Do you even have d1 or d3 in your current shell? Could they come from outside?

Le 14 novembre 2022 19:41:58 GMT+01:00, Andy Tai <atai@atai.org> a écrit :

----guix.scm---
(use-modules (guix packages)
....)

(define-public d2-0.1.4
(package
(name "d2")
(version "0.1.4")

...
)


(define-public my-package
(package
(name "my-package")
(version "0.1")
...


(input (list d1 d2-0.1.4 d3...)
....
))

my-package

---end guix.scm---