My configuration for GNU Guix

Alex Kost 1fb884c7b1 packages/games: Update 'fheroes2' for the new home and version (0.8.4) %!s(int64=3) %!d(string=hai) anos
guix-package-path a0d39463d0 Make a single README file instead of multiple ones %!s(int64=5) %!d(string=hai) anos
misc 770e5e8a6e misc: Add example package for a shell script %!s(int64=8) %!d(string=hai) anos
modules 1fb884c7b1 packages/games: Update 'fheroes2' for the new home and version (0.8.4) %!s(int64=3) %!d(string=hai) anos
system-config c57e3db08e os: Do not build bootloader in any way %!s(int64=3) %!d(string=hai) anos
user-config 1f36a06ef2 packages: Remove 'build-guix-packages' %!s(int64=8) %!d(string=hai) anos
.gitignore b94caf990e gitignore: Ignore *.go and "tmp" %!s(int64=7) %!d(string=hai) anos
.guix-channel d2429cb0b1 Add ".guix-channel" %!s(int64=5) %!d(string=hai) anos
COPYING 97f80770de Add COPYING and README %!s(int64=9) %!d(string=hai) anos
Makefile 59b25133ef packages/games: Add 'fheroes2' %!s(int64=5) %!d(string=hai) anos
README.org d2429cb0b1 Add ".guix-channel" %!s(int64=5) %!d(string=hai) anos
packages 5a35283e9b Move packages and services to "modules" %!s(int64=7) %!d(string=hai) anos
services 5a35283e9b Move packages and services to "modules" %!s(int64=7) %!d(string=hai) anos

README.org

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.