Literate Configuration: A Direct Approach - System Crafters Live!
ฝัง
- เผยแพร่เมื่อ 4 เม.ย. 2024
- In this stream, I'll be making another big change to my configuration: I'm going back to a literate configuration once again!
This time I'll take a different approach from what I did last time and attempt to generate configuration files directly into the $HOME folder without the use of a tool like GNU Stow.
#gnu #emacs #literate #config #orgmode #freesoftware
SUPPORT THE CHANNEL:
👍 Support My Work: systemcrafters.net/how-to-hel...
📰 Subscribe to the Newsletter: systemcrafters.net/newsletter/
👕 Check out the Store: store.systemcrafters.net
📘 Get Your Copy of Mastering Emacs: www.masteringemacs.org/r/syst...
SHOW NOTES:
systemcrafters.net/live-strea...
JOIN THE COMMUNITY:
systemcrafters.net/community/ (Forum and IRC chat!)
fosstodon.org/@daviwil
MY CONFIGURATION:
config.daviwil.com
config.daviwil.com/emacs
config.daviwil.com/systems (Guix)
OTHER SERIES:
- Emacs Essentials: • The Absolute Beginner'...
- Emacs From Scratch: • Emacs From Scratch #1 ...
- Emacs Tips: • Emacs Tips - How to Sh...
- Emacs Desktop Environment: • Emacs Desktop Environm...
- Emacs IDE: • Emacs From Scratch #8 ...
- Emacs Mail: • Streamline Your E-mail...
- Learning Emacs Lisp: • Introduction to Emacs ...
- Craft Your System with GNU Guix: • An Introduction to GNU...
CREDITS:
Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY ccmixter.org/files/tobias_webe... - บันเทิง
Hi David, there is a package called literate-elisp.
It bypasses the tangling step.
You can just load org files as if they are elisp files.
It made my emacs configuration more manageable.
The symbolic mode is first which feild, ug then operation + and then what to add x
So ug+x,a+r will add x to user and group, then all add read.
Hi David! I liked a lot the systemconfig last part. I'm trying to use it and I'm struggling trying to pass variables set in the org file to one src_block that is a shell script to be deployed on my $HOME. I'm using the ':var varname=varvalue' parameter but it seems it doesn't work when tangling the block :(. Any ideas?
Regarding the tangle mode: I just played around with it on my system and it seems that the mode only gets adjusted if the content also changes. Since the shebang you added at the end of the live stream altered the content of the file, the mode was adjusted too. Beforehand I think your content stayed the same and therefore Emacs/Org apparently didn't bother with the file at all (it literately doesn't even touch the file: the timestamp doesn't get updated either (at least on my system)). Maybe this helps :)
Hey Marcel! That's really interesting, thanks for pointing it out! I will try this out tomorrow
You mentioned that one of the reasons on why you moved away from literate configs was that you had to retangle your configuration on every machine manually after every change. But couldn't this simply be averted by a) just version controlling both the literate config and the final generated configuration simultaneously or b) just adding a git hook, that automatically tangles your files after every checkout? (I haven't really looked into git-hooks so far, so I don't know if this is possible or how easy that would be, but this sounds like an easy and sensible solution to me.)
I mentioned the first one in the stream, checking in both the Org file and the generated config files is annoying in it's own way, I did that for a while. Using a post-pull hook for tangling could be interesting, but I like the idea of only tangling out the changes when I'm ready.
Yep. I use a literate config across two systems, managed as a git repository, which includes the tangled config.el file. So long as I tangle any changes made to the literate config before pushing to remote, my other system will not need to retangle.
The links under "My Configuration" are broken. Could those be provided via a different link?
They will be fixed soon. For now, check out github.com/daviwil/dotfiles
A blog ring...how 1995... :)
They're making a comeback!