~abcdw/rde

Tools for managing reproducible development environments
rde: base: Add feature-custom-services
rde: emacs: Move olivetti to feature-emacs-monocle
rde: org-roam: Update to v2

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~abcdw/rde
read/write
git@git.sr.ht:~abcdw/rde

You can also use your local clone with git send-email.

1. rde

Set of tools for managing computing environments with GNU Guix. More info is available at trop.in/rde.

Disclaimer: The project is in an active development stage.

Tip: older Nix source code is available under stale/ directory.

1.1. Principles

1.1.1. Main

Ergonomic
Sane keybindings, good contrast, readable fonts.
Reproducible
Setup can be easily replicated.
Hackable
Easy to throw out or modify any part of setup.
Stateless
All state must be explicit and syncable or temporary.

1.1.2. Secondary

Lightweight and battery efficient
wayland, fast native apps.
Offline
most of workflows and apps should work without network.
Attention-friendly
minimal use of notification and other distractive things.

1.2. Usage

rde heavily relies on Guix Home and Guix System, it's able to provide both a home-environment and operating-system records, which can be used by guix home and guix system respectively. It's not ready for wider audience yet, but for very curious people I will say that my current config is here and will write down following commands:

git clone https://git.sr.ht/~abcdw/rde
cd rde
make

Read more about home-environment at Home Configuration.

GNU Guix should be installed before invoking command above.

Also, for now Guix Home is not a part GNU Guix and have to be installed manually. When it will become upstreamed the installation step won't be needed.

1.3. Guix Home

1.3.1. Installation

  1. Option 1

    The primary way to use Guix Home now is to set GUILE_LOAD_PATH to the directory, where the guile code for it is located. ./pre-inst-env script in the root of rde folder is doing exactly that, just prefix any command with it, like:

    ./pre-inst-env guix home --help
    
  2. Option 2

    Another possible option is to add rde repo as a channel, but you still need to run at least on guix home reconfigure with correct GUILE_LOAD_PATH as mentioned above or:

    GUILE_LOAD_PATH=${XDG_CONFIG_HOME:-$HOME/.config}/guix/current/share/guile/site/3.0:$GUILE_LOAD_PATH
    guix home reconfigure ./PATH_TO_FILE_WITH/HOME_ENVIRONMENT.scm
    

    After you installed your first home environment, your shell is properly configured (See Configuring the Shell) and you did relogin or reboot, you should be able to use guix home without setting anything.

1.3.2. People's configurations

  • yoctocell's full-blown configuration with variety of software.
  • krevedkokun's Emacs(Evil)/Wayland(Sway) compact and clean config.

1.4. Channel introduction

In case you want to use rde as a channel, add the following code to your ~/.config/guix/channels.scm, and call guix pull.

(cons*
 (channel
  (name 'rde)
  (url "https://git.sr.ht/~abcdw/rde")
  (introduction
   (make-channel-introduction
    "257cebd587b66e4d865b3537a9a88cccd7107c95"
    (openpgp-fingerprint
     "2841 9AC6 5038 7440 C7E9  2FFA 2208 D209 58C1 DEB0"))))
 %default-channels)

1.5. Just a screenshot

A picture to catch your eye)

123433280-f2028800-d5d3-11eb-8836-51beb2fddc0e.png

Figure 1: Latest rde screenshot

1.5.1. Tools

Purpose Tool
Window Manager Sway
Terminal Alacritty
Login Shell Bash
Interactive Unix Shell Zsh
Everything Else (: Emacs

1.6. Community

There are a few mailing lists you can subscribe and/or post with your existing email account:

~abcdw/rde-announce@lists.sr.ht
for news and updates.
~abcdw/rde-discuss@lists.sr.ht
for discussions and questions.
~abcdw/rde-devel@lists.sr.ht
for patches and development related discussions.

1.7. Contributing

1.7.1. New features, fixes or ideas

Send mails, optionally with inline patches to rde-devel mailing list.

1.7.2. Documentation

For Guix Home documentation for now maintained in forked Guix repository inside doc/guix.texi and deployed to https://guix-home.trop.in/Home-Configuration.html once in a while. Patches to rde-devel is a good option here too.

Author: Andrew Tropin

Created: 2021-06-25 Fri 16:42

Validate