1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
[[!meta title="rde Emacs introduction"]]
[[!meta copyright="Copyright © 2022 Andrew Tropin"]]
[[!inline pages="internal(2022/info/rde-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# rde Emacs introduction
Andrew Tropin (he/him, IRC: abcdw, <https://trop.in>)
[[!inline pages="internal(2022/info/rde-before)" raw="yes"]]
[rde Emacs](https://git.sr.ht/~abcdw/rde/tree/master/item/rde/features/emacs-xyz.scm)
is a vanilla-flavored distribution of Emacs, which intergates well
with your OS, WM and rest of the environment. It's built on top of
[Guix Home](https://guix.gnu.org/en/blog/2022/keeping-ones-home-tidy/)
project and allows to manage not only elisp packages and
configurations, but other dependencies like operating system packages,
user program configurations in a declarative and reproducible manner.
You don't need to follow complicated installation instructions, apply
workarounds and be afraid of updates: just do it, update rde, throw some
custom elisp code, declare and customize features you need or want to
try in a simple lisp (Scheme) file and you will get it. Don't like the
result? Just rollback to previous generation and EVERYTHING will work
as before. Once you make it to your liking, it will work forever*, even
if you move to a new laptop/workstation.
# Discussion
## Notes
- Thank you. Super cool that you started guix home. (:
## Questions and answers
- Q: Do you use this to have multiple configs running side by side for
live comparison?
- A: Yes, two separate configs. (more capture TBD)
- Q: Are you using Guix System, or Guix on top of another distro? If
System, any tips? I tried Guix System, but found getting started
was very difficult due to lacking WiFi firmware and incomplete
documentation.
- A: Yes he uses Guix system and package manager. RE: WiFi: First
option is to buy a wifi adaptor that doesn't require
proprietary firmware.
- Q: One of the issues I've had managing Emacs packages with Guix is
a conflict between the Guix package ethos (read-only) and the Emacs
package ethos (hackable in real-time). Any suggestions to resolve
this?
- A: There is an interactive/live workflow for editing emacs
configuration, which kinda similiar to usual, but you persist
your changes from time to time and rebuild the configuration to
apply those persisted changes for new emacs instances.
- Q: What is next for rde?
- A: Short term plan is to prepare more documentation, getting
started guide, live CD to explore system. Also would like to
find maintainers to help.
- Q: Do you use emacs without this? If so, for what purposes, and how
does it feel compared to rde?
- A: No, I don't use emacs outside of RDE. There's a way to add
mostly anything in your emacs config into RDE.But doesn't use
it because it isn't reproducible. Can break between machines.
- Q: Are there any plans to push things from rde to guix's main
channel?
- A: Would like to push some things upstream but can't always fit
patches
- Q: How difficult is it to add support for new Emacs packages to
Guix? Have you found that's burdensome vs. package.el or other
in-Emacs package management approaches?
- A: Packaging elisp for guix isn't hard at all, in most cases
it's really easy. Sending patches is a little more involved,
but also not rocket science :)
- Q: Do your reckon RDE is currently opinionated? Or is it a one size
fits all framework?
- A: It's vanilla-flavored and kinda opinionated at the same
time, but everyone free to use whatever parts/features fits
them, also they free to implement or use implemented by others
features, which can fit better for them than original rde's
features.
- Q: How to get into RDE? Is there already documentation/getting
started guide?
- There is an example configuration and link to slightly sparse
manual at <https://git.sr.ht/~abcdw/rde>, you can ask question
#tropin at libera.chat.
- Q: Can you mix RDE with custom emacs init file?
- Yes, you can, but it will add irreproducibility to your setup.
Other discussions from IRC:
- Easy reliable rollbacks is definitely one of the things I love about nix and guix
- Yes! It is great to know that stuff is hard to mess up. This leads to more fun experimenting.
[[!inline pages="internal(2022/info/rde-after)" raw="yes"]]
[[!inline pages="internal(2022/info/rde-nav)" raw="yes"]]
# Related talks
- [Building reproducible Emacs](/2020/talks/08/) - Andrew's previous talk at EmacsConf 2020
[[!sidebar content=""]]
[[!taglink CategoryConfiguration]]
|