abcdw/rde

Tools for managing reproducible development environments. Mirror of https://sr.ht/~abcdw/rde/

Scheme

267

3,566 commits

updated May 5, 2026

See the code

README

# -*- mode: org; org-html-head-include-scripts: nil; org-html-stable-ids: t; org-html-head-include-default-style: nil; -*-
#+OPTIONS: toc:nil

* RDE
Developer and power user friendly GNU/Linux distribution based on [[https://guix.gnu.org/][GNU Guix]]
package manager.

More info is available at [[https://trop.in/rde][trop.in/rde]].

#+BEGIN_EXPORT html
<p><a href="https://builds.sr.ht/~abcdw/rde">
<img src="https://builds.sr.ht/~abcdw/rde/commits/master.svg" alt="builds.sr.ht status" />
</a>
<a href="https://www.gnu.org/software/guile/">
<img src="https://luis-felipe.gitlab.io/media/badges/gnu-guile-made.svg" alt="" />
</a></p>
#+END_EXPORT

*Disclaimer:* The rde project is stable and usable, but still under active
development and API is a subject to change.

** Principles
This is a brief list of principles, more detailed description can be found in
the [[https://trop.in/rde/manual#Principles][manual]].
*** 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.
*** 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.

** Usage
Read [[https://trop.in/rde/manual#Getting-Started][Getting Started]] section of the manual, skim through the source code and
enjoy the thing!

** Channel introduction
In case you want to use rde as a channel, there is a channel definition:

#+begin_src scheme
(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)
#+end_src

Add it to ~~/.config/guix/channels.scm~, and call ~guix pull~ or manage it any
other way you want.

** Just a screenshot
A picture to catch your eye)
#+CAPTION: Not that latest rde screenshot
#+NAME:   fig:latest-screenshot
https://cdn.fosstodon.org/media_attachments/files/106/900/674/950/793/851/original/4b17f03528571ca0.png

*** Tools
#+INCLUDE: "doc/rde-tool-list.org"

** Community
There are a few [[https://lists.sr.ht/~abcdw][mailing lists]] you can subscribe and/or post with your
existing email account:
- [[https://lists.sr.ht/~abcdw/rde-announce/][~abcdw/rde-announce@lists.sr.ht]] :: for news and updates.
- [[https://lists.sr.ht/~abcdw/rde-discuss/][~abcdw/rde-discuss@lists.sr.ht]] :: for discussions and questions.
- [[https://lists.sr.ht/~abcdw/rde-devel/][~abcdw/rde-devel@lists.sr.ht]] :: for patches and development related
  discussions.

Join #rde IRC channel on [[https://libera.chat/][libera.chat]].

Check out [[https://trop.in/rde/manual#Community][Community]] section of the [[https://trop.in/rde/manual][manual]].

** Contributing
To propose new features, fixes or ideas send emails, optionally with inline
patches to rde-devel mailing list.  As usual more info is available in
[[https://trop.in/rde/manual#Contributing][Contributing]] section of the [[https://trop.in/rde/manual][manual]].

** Financial Support
You can support project via [[https://opencollective.com/rde][opencollective]].  We gather funding for
internships, infrastructure costs and to pay maintainers for their hard work.
Please consider a recurring donation.  It constantly takes a lot of time and
effort from people to maintain, support and develop this wonderful project and
we would appreciate any help.

** People's rde configurations
Those repositories are not affilated with rde or Guix, they are provided as
real-world examples of people's rde configurations, which you can inspect to
get familiar with its concepts, but be careful and thoughtful, remember that
blindly copying snippets of code from the internet can have a huge security
implications on your setup.  If you think other users might learn from your
configuration and you'd like to share it publicly, let us know via the [[*
Community][community channels]].  For Guix Home example configurations, see [[* People's Guix Home
configurations][People's Guix Home configurations]].

- Andrew Tropin's configuration [[https://git.sr.ht/~abcdw/rde/tree/master/item/examples][part 1]], [[https://github.com/abcdw/nonrde][part 2]].
- Nicolas Graves' [[https://github.com/nicolas-graves/dotfiles][dotfiles]].
- The GNU/Linux+Engstrand system [[https://github.com/engstrand-config/guix-dotfiles][guix-dotfiles]].
- Demis Balbach's [[https://github.com/minikN/dots][dots]].
- Miguel Ángel Moreno's [[https://github.com/migalmoreno/guix-config][guix-config]]
- Benoit J's [[https://git.sr.ht/~benoit/dotfiles/tree/rde/item/src/benoitj][dotfiles]].
- jgart's [[https://git.sr.ht/~whereiseveryone/confetti][confetti]].
- Kabelo M'sobomvu Moiloa's [[https://git.sr.ht/~elevenkb/dotfiles][dotfiles]].

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

*** 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.

- [[https://hg.sr.ht/~yoctocell/guixrc/browse/yoctocell/home][yoctocell]]'s full-blown configuration with variety of software.
- [[https://git.sr.ht/~krevedkokun/dotfiles/tree/master/item/config/home/yggdrasil][krevedkokun]]'s Emacs(Evil)/Wayland(Sway) compact and clean config.
- [[https://github.com/nicolas-graves/dotfiles][Nicolas Graves]]' dotfiles forked from krevedkokun's.
- [[https://git.sr.ht/~akagi/guixrc][akagi]]'s configurations, home and system services and packages.

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

emacs
guile
guix
guix-home
guixhome
rde
scheme
sway
wayland
zsh

Contributors

abcdw

3,196 commits

nicolas-graves

237 commits

minikN

30 commits

jgarte

19 commits

abcdw/rde

Tools for managing reproducible development environments. Mirror of https://sr.ht/~abcdw/rde/

Scheme

267

3,566 commits

updated May 5, 2026

See the code

README

# -*- mode: org; org-html-head-include-scripts: nil; org-html-stable-ids: t; org-html-head-include-default-style: nil; -*-
#+OPTIONS: toc:nil

* RDE
Developer and power user friendly GNU/Linux distribution based on [[https://guix.gnu.org/][GNU Guix]]
package manager.

More info is available at [[https://trop.in/rde][trop.in/rde]].

#+BEGIN_EXPORT html
<p><a href="https://builds.sr.ht/~abcdw/rde">
<img src="https://builds.sr.ht/~abcdw/rde/commits/master.svg" alt="builds.sr.ht status" />
</a>
<a href="https://www.gnu.org/software/guile/">
<img src="https://luis-felipe.gitlab.io/media/badges/gnu-guile-made.svg" alt="" />
</a></p>
#+END_EXPORT

*Disclaimer:* The rde project is stable and usable, but still under active
development and API is a subject to change.

** Principles
This is a brief list of principles, more detailed description can be found in
the [[https://trop.in/rde/manual#Principles][manual]].
*** 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.
*** 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.

** Usage
Read [[https://trop.in/rde/manual#Getting-Started][Getting Started]] section of the manual, skim through the source code and
enjoy the thing!

** Channel introduction
In case you want to use rde as a channel, there is a channel definition:

#+begin_src scheme
(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)
#+end_src

Add it to ~~/.config/guix/channels.scm~, and call ~guix pull~ or manage it any
other way you want.

** Just a screenshot
A picture to catch your eye)
#+CAPTION: Not that latest rde screenshot
#+NAME:   fig:latest-screenshot
https://cdn.fosstodon.org/media_attachments/files/106/900/674/950/793/851/original/4b17f03528571ca0.png

*** Tools
#+INCLUDE: "doc/rde-tool-list.org"

** Community
There are a few [[https://lists.sr.ht/~abcdw][mailing lists]] you can subscribe and/or post with your
existing email account:
- [[https://lists.sr.ht/~abcdw/rde-announce/][~abcdw/rde-announce@lists.sr.ht]] :: for news and updates.
- [[https://lists.sr.ht/~abcdw/rde-discuss/][~abcdw/rde-discuss@lists.sr.ht]] :: for discussions and questions.
- [[https://lists.sr.ht/~abcdw/rde-devel/][~abcdw/rde-devel@lists.sr.ht]] :: for patches and development related
  discussions.

Join #rde IRC channel on [[https://libera.chat/][libera.chat]].

Check out [[https://trop.in/rde/manual#Community][Community]] section of the [[https://trop.in/rde/manual][manual]].

** Contributing
To propose new features, fixes or ideas send emails, optionally with inline
patches to rde-devel mailing list.  As usual more info is available in
[[https://trop.in/rde/manual#Contributing][Contributing]] section of the [[https://trop.in/rde/manual][manual]].

** Financial Support
You can support project via [[https://opencollective.com/rde][opencollective]].  We gather funding for
internships, infrastructure costs and to pay maintainers for their hard work.
Please consider a recurring donation.  It constantly takes a lot of time and
effort from people to maintain, support and develop this wonderful project and
we would appreciate any help.

** People's rde configurations
Those repositories are not affilated with rde or Guix, they are provided as
real-world examples of people's rde configurations, which you can inspect to
get familiar with its concepts, but be careful and thoughtful, remember that
blindly copying snippets of code from the internet can have a huge security
implications on your setup.  If you think other users might learn from your
configuration and you'd like to share it publicly, let us know via the [[*
Community][community channels]].  For Guix Home example configurations, see [[* People's Guix Home
configurations][People's Guix Home configurations]].

- Andrew Tropin's configuration [[https://git.sr.ht/~abcdw/rde/tree/master/item/examples][part 1]], [[https://github.com/abcdw/nonrde][part 2]].
- Nicolas Graves' [[https://github.com/nicolas-graves/dotfiles][dotfiles]].
- The GNU/Linux+Engstrand system [[https://github.com/engstrand-config/guix-dotfiles][guix-dotfiles]].
- Demis Balbach's [[https://github.com/minikN/dots][dots]].
- Miguel Ángel Moreno's [[https://github.com/migalmoreno/guix-config][guix-config]]
- Benoit J's [[https://git.sr.ht/~benoit/dotfiles/tree/rde/item/src/benoitj][dotfiles]].
- jgart's [[https://git.sr.ht/~whereiseveryone/confetti][confetti]].
- Kabelo M'sobomvu Moiloa's [[https://git.sr.ht/~elevenkb/dotfiles][dotfiles]].

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

*** 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.

- [[https://hg.sr.ht/~yoctocell/guixrc/browse/yoctocell/home][yoctocell]]'s full-blown configuration with variety of software.
- [[https://git.sr.ht/~krevedkokun/dotfiles/tree/master/item/config/home/yggdrasil][krevedkokun]]'s Emacs(Evil)/Wayland(Sway) compact and clean config.
- [[https://github.com/nicolas-graves/dotfiles][Nicolas Graves]]' dotfiles forked from krevedkokun's.
- [[https://git.sr.ht/~akagi/guixrc][akagi]]'s configurations, home and system services and packages.

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

emacs
guile
guix
guix-home
guixhome
rde
scheme
sway
wayland
zsh

Contributors

abcdw

3,196 commits

nicolas-graves

237 commits

minikN

30 commits

jgarte

19 commits

Languages

Scheme

74.0%

Tree-sitter Query

23.6%

Emacs Lisp

1.6%