Crafting happiness with Free Software & Hardware

Taking baby steps with Guix (1) : the basics

Guix logo

Definitions

Package store

Guix is a software package manager. It therefore manages a package store, located in /gnu/store (by default). This is where all software packages that are added to the system via Guix are stored.

The package store is common to all users' profiles.

Profiles

A profile is a list of software packages that a user wants to be able to use. It points to the packages in the package store.

Each user has a default profile: ~/.guix-profile.

Handling packages by hand

Each time a user adds/removes a software package to one of his·er profiles, Guix will add/remove a link to the package in question from the package store.

If the package is not already in the store, it will be uploaded there automatically.

# add packages to its default profile
$ guix install some-free-software-package
# remove packages to its default profile
$ guix remove some-free-software-package
# update all the packages in his default profile
$ guix upgrade

To know at anytime the list of packages installed in the default profile :

$ guix package --list-installed

Removing a package from the profile does not mean removing it from the package store, because it can be referenced in another profile.
If a package is no longer referenced by any of the users' profiles, Guix can garbage-collect this package with its garbage collector, to free up space.

$ guix gc --collect-garbage

Useful links.

Thank you so much for reading this article !

Don't hesitate to give me your opinion, leave a comment, or ask a question via :
E-mail: jeremy AT korwin-zmijowski DOT fr
Mastodon: @jeko@framapiaf.org
Peertube: @jeko@video.tedomum.net
Twitter: @JeremyKorwin

Also, please subscribe so you don't miss the next ones :
blog via Mastodon @jeko@write.as et RSS
screencast via Peertube @jeko@video.tedomum.net et RSS

And most importantly, share the blog and tell your friends it's the best blog in the history of Free Software! No shit!

#guix #gnu #linux #hurd #english