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 0b4652f8ca
.dir-locals.el: Update indentation rules.
* .dir-locals.el (scheme-mode): Update indentation rules.
2025年06月28日 23:00:55 +08:00
config live-console: sshd: Listen on port 22. 2025年06月28日 09:43:57 +08:00
dist Add LiveCDs. 2025年06月27日 00:49:38 +08:00
files assets: Update screenshots. 2025年06月28日 09:16:13 +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 .dir-locals.el: Update indentation rules. 2025年06月28日 23:00:55 +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 README: Mention skeletons location. 2025年06月28日 10:22:46 +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)

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

gokuraku (x86_64-linux, server)

/jsparkes/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.

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 ;)

/jsparkes/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, 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-wayland is used.

/jsparkes/Testament/media/branch/trunk/files/plain/assets/live-desktop-1.png /jsparkes/Testament/media/branch/trunk/files/plain/assets/live-desktop-2.png /jsparkes/Testament/media/branch/trunk/files/plain/assets/live-desktop-3.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.