wiki:multiple ways to install and manage software packages

Multiple ways to install and manage software packages

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.

Last modified 3 weeks ago Last modified on 04/30/25 08:16:38
Note: See TracWiki for help on using the wiki.