Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alezost/guix-config

My config for GuixSD
https://github.com/alezost/guix-config

Last synced: 9 days ago
JSON representation

My config for GuixSD

Awesome Lists containing this project

README

        

** About

This repository contains my system configuration, packages, services and
other related stuff for [[http://www.gnu.org/software/guix/][GNU Guix]]. The Guile code that can be found here
relies on some of my [[https://gitlab.com/alezost-config/guile][guile modules]].

** Files and directories

- [[file:modules][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.

- [[file:guix-package-path][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 [[file:.guix-channel]] file, so this
repository can be used as a [[https://guix.gnu.org/manual/en/html_node/Channels.html][Guix channel]]. I.e., a channel like the
following may be added to [[file:~/.config/guix/channels.scm]] file.

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

- [[file:system-config][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.

- [[file:user-config][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).

- [[file:misc]]: Miscellaneous stuff related to Guix.