== Profiles and home configuration Q: I’ve heard there are different ways to install or declare packages in Guix. What are the use cases, and what are the pros and cons? A: Yes, Guix supports multiple ways to install and manage software packages, each with its own use case: * System-wide installation (via the OS configuration): - Makes packages available to all users. - Best for shared tools or infrastructure software. * User’s default profile (using guix install): - Manual and ad hoc. - Convenient for quickly installing software for personal use. * Home configuration (via guix home): - Declarative and portable. - Ideal for maintaining a consistent user environment across machines. * Temporary environments (using guix shell): - Ephemeral, isolated environments for development or experimentation. - Great for trying out tools without polluting your profiles. '''Important:''' Packages only behave well together if they’re installed using the same method. If the same package is installed via multiple methods (e.g., system + user profile), only one will be used, and it will shadow the others. Example: Suppose vim is installed system-wide. If a user then installs their own version of vim in their default profile, that version will shadow the system version. If they also declare vim in their guix home configuration, it will shadow both the system and user-installed versions. This becomes especially important when dealing with extensions or plugins. For example, if vim-nerdtree is installed system-wide, but the user is using a vim from their home or user profile, the system-installed plugin might not work — because it’s tied to the shadowed version of vim. == 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 {{{#!sh guix refresh }}} on a twin machine to check for new package versions. ---- * Step 2 Run {{{#!sh guix graph }}} on the output of guix refresh to find dependencies. ---- * Step 3 Copy related source packages to CI / CD via USB drive ---- [WikiStart Back]