1
0
Fork
You've already forked Testament
0
forked from hako/Testament
Personal dotfiles, Guix System literate configuration and LiveCDs
  • Scheme 64%
  • Emacs Lisp 29%
  • CSS 4.3%
  • Makefile 2.7%
Hilton Chain d5f9e3bd53
live-console & live-desktop: Use Guix APIs for package specifications.
* config/live-console.org: Use specification->package etc. from Guix instead
of spec->pkg etc. from Rosenthal.
* config/live-desktop.org: Likewise.
2025年06月28日 03:55:58 +08:00
config live-console & live-desktop: Use Guix APIs for package specifications. 2025年06月28日 03:55:58 +08:00
dist Add LiveCDs. 2025年06月27日 00:49:38 +08:00
files live: examples: Use Guix APIs for package specifications. 2025年06月28日 03:41:44 +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 dorphine: Use home-fish-extension to configure fish. 2025年06月24日 23:49:28 +08:00
.envrc 2025年06月21日. 2025年06月23日 09:12:05 +08:00
.gitignore Add LiveCDs. 2025年06月27日 00:49:38 +08:00
.gitmodules 2025年05月23日. 2025年05月23日 19:14:19 +08:00
.guix-authorizations testament: License compliance with REUSE. 2025年01月20日 13:22:09 +08:00
.sops.yaml maint: Add Makefile. 2025年02月21日 22:47:58 +08:00
channels.scm dorphine: Remove use of personal forks. 2025年06月25日 02:30:20 +08:00
common.scm 2025年06月21日. 2025年06月23日 09:12:05 +08:00
Makefile Makefile: Remove ares target. 2025年06月28日 03:09:37 +08:00
README.org live-console & live-desktop: Add set-keymap script. 2025年06月27日 23:28:59 +08:00

Testament - Personal dot(?)files

This repository contains my dotfiles and Guix System literate configurations.

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.
files/blobs
Likewise but private.

See Makefile for usage.

Guix channels in use:

Systems

dorphine (x86_64-linux, laptop)

/berkeley/Testament/media/branch/trunk/files/plain/assets/dorphine-1.png /berkeley/Testament/media/branch/trunk/files/plain/assets/dorphine-2.png

gokuraku (x86_64-linux, server)

/berkeley/Testament/media/branch/trunk/files/plain/assets/gokuraku-1.png

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.

This LiveCD starts a SSH daemon listening on port 20202.

/berkeley/Testament/media/branch/trunk/files/plain/assets/live-console-1.jpg

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 and exposed as the %rosenthal-skeletons variable.

Default keybindings:

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

/berkeley/Testament/media/branch/trunk/files/plain/assets/live-desktop-1.png /berkeley/Testament/media/branch/trunk/files/plain/assets/live-desktop-2.png

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.