Version 10 (modified by 4 weeks ago) ( diff ) | ,
---|
Profiles and home configuration
Q: I heard that there are different ways to declare or install software packages into the environment. What are the use cases, the pros and cons?
A: You can manage and use packages in three different ways:
- System wide (at OS configuration)
- Manually in the users default profile
- In your home configuration (portable across computers)
- Use temporary environments (via guix shell python python-pandas bash --)
WARNING Only packages installed in the same way play well together by default. If you install the same package in different ways it will shadow all but one.
Explanation: You declared the vim editor package a system level package, so that it is available for everyone. But a user installed it in his default profile as well. The system level vim is then shadowed. If - for some reason - the user additionally declares vim in his home configuration, it will shadow the others as well.
If you install extension packages like vim-nerdtree in the system profile it might not be available for the vim at default user profile or home configuration profile, because the matching vim is shadowed.
CI / CD
Q: How do I guarantee that newer package versions are available on CI / CD?
A: There are several steps involved
- Step 1
Run
guix refresh
on a twin machine to check for new package versions.
- Step 2
Run
guix graph
on the output of guix refresh to find dependencies.
- Step 3
Copy related source packages to CI/CD via USB drive