~abcdw/rde

Tools for managing reproducible development environments w/ guix

54a2ae9 rde: Use forked shell-profile service type.

~abcdw pushed to ~abcdw/rde git

7 days ago

7f9ab1f rde: Use forked shell module.

~abcdw pushed to ~abcdw/rde git

11 days ago

1. rde

Set of tools for managing computing environments with GNU Guix. Also, rde contains additional home services for Guix Home and packages for 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 wide audience yet, but for very curious people: my current config is here and I use following commands to apply it:

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

Read more about home-environment at Home Configuration.

GNU Guix and git should be installed before invoking commands above.

The alternative and more apropriate way to use rde will be described later.

1.3. Guix Home

Guix Home is a part of GNU Guix now, no additional installation steps are required.

1.3.1. People's Guix Home 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)

4b17f03528571ca0.png

Figure 1: Latest rde screenshot

1.5.1. Tools

Purpose Tool
Window Manager Sway
Terminal Alacritty
Login Shell Bash
Interactive Unix Shell Zsh
Service Manager/Init Shepherd
Filesystem Btrfs
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 maintained in guix repo.

Author: Andrew Tropin

Created: 2021-10-07 Thu 05:41

Validate