Guix, pronounced /geeks/, is a functional system package manager written in Guile Scheme and C. It forms the basis of GuixSD, a GNU/Linux operating system / distribution.

All package definitions are written in a Guile DSL, and the functional aspect of the package manager means that all packages are built in an isolated sandbox with minimal observable side-effects and written to a content-addressable store with references to other packages hard-coded to their addresses, allowing different users or even shell sessions to have a different set of packages "installed", and several versions of all packages and dependencies to coexist side-by-side on the system. You don't uninstall packages, you stop referring to them and then garbage-collect your store.