aboutsummaryrefslogtreecommitdiff

Guix configuration

This is my personal set of configuration files built around the GNU Guix package manager and the RDE configuration framework.

guix_config_light.jpg guix_config_dark.jpg

The main goal behind this repository is to hold the configurations of my users, hosts, and remote machines in a single dispatch entry point. For the most part, I stick to the RDE principles to choose my tooling and I try to contribute to and maintain related programs.

  • OS/Package Manager: GNU Guix
  • Window Manager: dwl-guile
  • Status Bar: dtao-guile
  • Menu Prompt: bemenu + j4-dmenu-desktop
  • Browser: Nyxt
  • Text Editor: GNU Emacs
  • Video Player: mpv

To build and activate my configurations, invoke one of the following commands:

# To activate the current user's home
make home
# For a specific user
make home/reconfigure/$USER
# To activate the current hostname's config
make system
# For a specific host
make system/reconfigure/$HOST
# To deploy an entire configuration for a remote machine
make deploy/$HOST/$USER

To alleviate maintenance burden, I prefer working on top of Guix community channels to implement new features, which I define through lock files under the ./rde/ directory. If you wish to reproduce one of my setups, please make sure to consult the pinned commits on these files.