1
0
Fork
You've already forked Testament
0
forked from hako/Testament
Guix System literate configurations and dotfiles
  • Scheme 63.4%
  • Emacs Lisp 23.7%
  • Shell 6.2%
  • CSS 3.8%
  • Makefile 2.9%
2025年10月27日 23:25:50 +08:00
config dorphine: notmuch: Tag trashed mails. 2025年10月27日 23:25:50 +08:00
dist dist/pack.sh: Rename to sign. 2025年10月03日 19:59:38 +08:00
files Remove iocaine. 2025年10月27日 23:25:50 +08:00
LICENSES LICENSES: Use text versions from upstream that fits in 80 columns. 2025年06月17日 16:55:01 +08:00
.dir-locals.el 2025年08月12日. 2025年08月12日 23:14:46 +08:00
.envrc 2025年08月12日. 2025年08月12日 23:14:46 +08:00
.gitignore 2025年10月13日. 2025年10月14日 13:07:45 +08:00
.guix-authorizations 2025年08月12日. 2025年08月12日 23:14:46 +08:00
.sops.yaml maint: Add Makefile. 2025年02月21日 22:47:58 +08:00
channels.lock Update channels.lock. 2025年10月26日 00:12:39 +08:00
channels.scm channels: Use %default-channels. 2025年09月25日 14:54:15 +08:00
common.scm Remove 'blobs' submodule. 2025年10月26日 00:12:39 +08:00
Makefile Makefile: Add 'run-%' target. 2025年10月26日 00:13:09 +08:00
README.org Remove 'blobs' submodule. 2025年10月26日 00:12:39 +08:00

Testament - Personal dot(?)files

This repository contains my dotfiles and Guix System literate configurations. Part of them are also used for the public Guix build farm and mirrors I run.

Structure

config
Guix System configurations.
files/deploy
Configurations for guix deploy.
files/dotfiles
Dotfiles for home-dotfiles-service-type.
files/plain
Files to be referenced in configurations.

See Makefile for usage.

Guix channels in use:

Systems

dorphine (x86_64-linux, UEFI, ZFS, NVIDIA) | deploy

chapra (x86_64-linux, UEFI, ZFS) | deploy

gokuraku (x86_64-linux, UEFI, ZFS) | deploy

ignamma (x86_64-linux, UEFI, XFS) | deploy

rakuen (aarch64-linux, UEFI, XFS) | deploy

worker | deploy

Temporary build workers for Guix Moe CI.

mirror | deploy

Mirrors for Guix Moe CI substitutes.

LiveCDs

I provide two LiveCDs for the manual installation of Guix System. Pre-built images are available for x86_64-linux: https://files.boiledscript.com/livecd/

These LiveCDs use fish as the login shell. NetworkManager is available for network configuration. A set-keymap script is provided for keyboard setup of both LiveCDs.

 Usage: set-keymap LAYOUT [VARIANT] [-m MODEL] [-o OPTIONS]
 OPTIONS are comma-separated e.g. "ctrl:nocaps,grp:alt_shift_toggle"

Example usage below:

 $ set-keymap us dvorak -o ctrl:nocaps

For a full list of available layouts, variants, models and options, refer to the xkeyboard-config.7 manual page.

This repository includes several Guix System configuration examples, they are available in the LiveCDs as well, under the /etc/configuration directory. Most of the examples are based on the templates included in Guix source tree.

Two external channels, Nonguix and Rosenthal, are configured via their transformation interfaces (TODO documentation), so you can add and remove these channels from the configurations easily.

Examples created by me (with a rosenthal- prefix in file names) are replicated from the LiveCD(s) and they have hard dependency on the Rosenthal channel. Since Rosenthal is still unstable, they are considered experimental.

console

Username: live, password: rosenthal.

To facilitate remote installation, this LiveCD starts a SSH daemon. Remember to change the password when logged in if the machine is exposed to the Internet ;)

desktop

Username: live, no password.

This LiveCD provides a pre-configured Emacs text editor and a desktop environment built around the niri Wayland compositor. Configurations files for the environment are managed in the Rosenthal channel, exposed as the %rosenthal-skeletons variable and available under /etc/skel in LiveCD and the final system if configured.

Default keybindings:

Super + Shift + /
Open an overlay for available hotkeys.
Super + T
Open terminal emulator, foot is used.
Super + D
Open application launcher, rofi is used.

Resources

A Scheme Primer
Nice short guide to get you started with Scheme.
GNU Guix Reference Manual (info guix)
See Getting Started if you want an entry point.
GNU Guix Cookbook (info guix-cookbook)
Tutorials and detailed examples. Some entries may be outdated, contribution is welcome ;)
Contact — GNU Guix
Official communication channels.
Packages — GNU Guix
Official package index, guix channel only (see Channels in Guix manual).
Toys / Webring for GNU Guix channels
Unofficial package index, including most known Guix channels.