README.org 2.0 KB

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 [[file:modules/al/guix/packages][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 [[file:modules][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 file.

#+BEGIN_SRC scheme (channel (name 'alezost-channel) (url "https://gitlab.com/alezost-config/guix.git")) #+END_SRC

  • system-config: Directory with system configuration files (for ~guix
  • system~ commands). My main config is placed in [[file:system-config/os-main.scm][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 [[https://gitlab.com/alezost-config/guile/blob/master/scripts/profile][profile]] script).
  • misc: Miscellaneous stuff related to Guix.