/guix-config

My config for GuixSD

Primary LanguageSchemeGNU General Public License v3.0GPL-3.0

About

This repository contains my system configuration, packages, services and other related stuff for GNU Guix. The Guile code that can be found here relies on some of my guile modules.

Files and directories

  • modules: This directory contains all guile modules with my additional packages, services and utilities for Guix. I add this directory to GUILE_LOAD_PATH environment variable.
  • guix-package-path: This directory was made specifically for GUIX_PACKAGE_PATH environment variable. It contains al/guix/packages symlink which points to my package directory. Thus, it contains my packages (and only the packages) placed in a proper hierarchy. I did not set GUIX_PACKAGE_PATH to the directory with all my guile modules as Guix would traverse all those modules and all variables inside to find the packages, which is long and may find unwanted things.

    Also this directory is specified in .guix-channel file, so this repository can be used as a Guix channel. I.e., a channel like the following may be added to ~/.config/guix/channels.scm file.

    (channel
      (name 'alezost-channel)
      (url "https://gitlab.com/alezost-config/guix.git"))
        
  • system-config: Directory with system configuration files (for guix system commands). My main config is placed in os-main.scm file.
  • user-config: Directory with manifest files I use to populate my Guix profiles with guix package --profile=… --manifest=… shell command (actually, with my profile script).
  • misc: Miscellaneous stuff related to Guix.