1 | | soon |
| 1 | == Profiles and home configuration |
| 2 | |
| 3 | 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? |
| 4 | |
| 5 | A: You can manage and use packages in three different ways: |
| 6 | |
| 7 | * System wide (at OS configuration) |
| 8 | |
| 9 | * Manual in the users default profile (via guix package -i python) |
| 10 | |
| 11 | * In your [[home configuration]] (portable across computers) |
| 12 | |
| 13 | * Use temporary environments (via guix shell python python-pandas bash --) |
| 14 | |
| 15 | '''WARNING''' Only packages installed in the same way play well together by default. |
| 16 | If you install the same package in different ways it will shadow all but on. |
| 17 | |
| 18 | Example: You declared vim a system level package, so that it is available for everyone. But a user installed it in his default profile as well. |
| 19 | The system vim is then shadowed. If - for some reason - the user additionally declares vim in his home configuration, it will shadow the others as well. |
| 20 | |
| 21 | 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 |
| 22 | the matching vim is shadowed. |