Skip to content

Personal dotfiles, GNU Guix literate configuration

Notifications You must be signed in to change notification settings

rakino/Testament

Repository files navigation

Testament - Personal dot(?)files

This repository contains my dotfiles and Guix System literate configurations (with Guix Home configured via guix-home-service-type).

I’m also managing Guix channels manually, which makes it easier to maintain a temporary Guix fork and avoids recompiling all Guix modules for trivial updates. See Usage below and take a look at .envrc and Makefile if you are interested in my approach.

Screenshot

files/plain/screenshot.png

Structure

Usage

This section is for demonstration purpose only, as some submodules are private.

Dependencies:

  1. Clone repository and set up direnv, external channels (except guix, which will be compiled later) will be available to system guix command.
    git clone --recursive https://git.boiledscript.com/hako/Testament.git
    cd Testament
    direnv allow
        
  2. Authenticate commits.
    make authenticate
        
  3. Compile Guix and reload direnv, guix command and channel will be replaced to ours.
    make compile-guix
    direnv reload
        
  4. See Makefile for all available phony targets.
  5. In case of ABI incompatibility from updates, remove compiled object files and follow step 3 to compile Guix again.
    make clean
    direnv reload
        

Resources