home: Add package profile home type.

Jelle LichtFri Nov 27 15:46:55+0100 2020


namelast commitdate
README.fr.mddoc: Add French README.Tue Jun 11 17:38:46+0200 2019
README.mdhome: Add package profile home type.Fri Nov 27 15:46:55+0100 2020
bash.mdhome: Add bash home type.Wed Dec 25 19:33:19+0100 2019
general.mdhome: Add fold-home.Thu Sep 19 14:03:44+0200 2019
hexchat.mdhome: Add fold-home.Thu Sep 19 14:03:44+0200 2019
home.mdhome: Add fold-home.Thu Sep 19 14:03:44+0200 2019
install.mddoc: Fix introduction key.Sun Jul 26 01:46:25+0200 2020
keepassxc.mdhome: keepassxc: Add browser integration options.Wed Jul 22 17:14:47+0200 2020
neovim.mdhome: Add neovim home type.Wed Dec 25 23:32:44+0100 2019
openbox.mdhome: Add fold-home.Thu Sep 19 14:03:44+0200 2019
profile.mdhome: Add package profile home type.Fri Nov 27 15:46:55+0100 2020
provenance.mdhome: Add provenance home type.Fri Oct 09 00:24:58+0200 2020
ssh.mdhome: Add fold-home.Thu Sep 19 14:03:44+0200 2019
tmux.mdhome: Add tmux home type.Fri Oct 09 15:10:57+0200 2020
zsh.mdhome: Add zsh home type.Tue Sep 15 14:07:43+0200 2020



This is the main page for the documentation of the Guix Home Manager. Guix Home Manager is an unofficial extension to the Guix package manager. You should install it and get more familiar with it before you try this.

The Home Manager is still quite young and under development, so expect a lot of missing features.

Layout of this Documentation

This documentation is divided into many Markdown files. This file is the main file. Most files will talk about specific configurations for specific software. Others will talk about generic issues and use cases. They are all referenced here.


This documentation is translated in other languages. To view the documentation in your language, simply add the language suffix at the end of the file name, just before the .md extension.

Specific Software Configuration

See the installation guide to learn more about how to manage your configuration and install your first managed home. You will learn that you need a configuration file, usually /data/alice/.config/guix/home.scm. The rest of this file is a set of links to specific and generic configuration functions that you can add to that file. Whenever you see a procedure whose name ends with "-home", you know that you can use it in the list of configurations, like this:

  (data-directory "/data/alice")
      (user-home something-home-type ...)
      (user-home something-else-home-type ...)
      (user-home other-stuff-home-type ...)
      (user-home yet-another-config-home-type ...)

Desktop and Window Managers

Communication Software

Security Software

Shell Software

Reproducible builds

Package management

Common Issues

No Sound on the System

This is an issue with pulseaudio. Pulesaudio will never want to start when your home directory is read-only, even though all its configuration files and the files it will want to create are available read-write. To work around this, it is advised to run pulseaudio from the command line in this way:

HOME=/tmp/pa `guix build pulseaudio`/bin/pulseaudio --start

Unfortunately, that means you cannot configure pulseaudio through Guix. You can also add a similar line to your desktop or window manager's configuration to instruct it to start pulseaudio. However, pulseaudio sometimes crashes for non obvious reasons, and no graphical program will be able to restart it automatically with a proper configuration.