~abcdw/rde

Tools for managing reproducible development environments w/ guix
3 hours ago
3 hours ago

1. rde

Developers and power user friendly GNU/Linux distribution. More info is available at trop.in/rde.

builds.sr.ht status

Disclaimer: The project is in an active development stage.

1.1. Principles

More detailed description can be found in the manual.

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 home

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

Those repositories are not affilated with rde or Guix, they are provided as real-world Guix Home usage examples, but be careful and thoughtful, remember that blindly copying snippets of code from the internet can have a huge security implications on your setup.

  • yoctocell's full-blown configuration with variety of software.
  • krevedkokun's Emacs(Evil)/Wayland(Sway) compact and clean config.
  • Nicolas Graves' dotfiles forked from krevedkokun's.
  • akagi's configurations, home and system services and packages.

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 GNU Bash
Interactive Unix Shell Zsh
Service Manager/Init System GNU Shepherd
Package Manager GNU Guix
Filesystem Btrfs
Multimedia Framework PipeWire
Video Player mpv
Everything Else (: GNU 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: 2022-04-01 Fri 08:33

Validate