¶Updates
Submit your EmacsConf 2023 proposals!
- Probably no streams on July 28, August 4, August 11. Will keep you posted!
¶Crafter Q&A!
Today I’ll be answering your burning questions about topics relevant to our community:
- Emacs
- Emacs Lisp
- Guix
- Guile Scheme
- Linux in general
- … and more!
¶Questions
¶Does EXWM work with Wayland?
No, but someone is working on an EXWM-like window manager for Wayland called ewx
¶eglot or lsp-mode?
I use eglot, but I’ve used lsp-mode.
- Eglot is more minimal and better integrated with Emacs UI, also built-in as of Emacs 29
- lsp-mode is more featureful, more UI, also integrates with dap-mode for debugging
¶Learn Vim first and use Evil or learn “vanilla” Emacs?
- Use Vim and Evil/Emacs if you know you like the Vim style of editing
- Otherwise, try vanilla Emacs bindings and see if you like them or can live with them because your Emacs experience may be easier
¶What do you think about Emacs Application Framework?
I haven’t used it yet, but I can see how it’d be useful. However, I don’t personally see a need for it when most of what I need to do can either be done natively in Emacs or in a standalone web browser.
¶Do you feel that Emacs is slow? Thoughts on Commercial Emacs?
I don’t think Emacs is particularly slow, especially after native-comp got merged. Commercial Emacs is a good idea from a clean-slate problem solving standpoint, but probably won’t be worthwhile for the average to use unless it solves a specific problem you have.
¶Org Roam capture window behavior
It looks like to prevent org-roam-capture
from breaking window configuration, you may have to use advice to hack delete-other-windows
to not delete the windows during an org-capture
(or some other dirty hack)
¶How to reload changed files from a OneDrive folder?
I use global-auto-revert-mode
to automatically revert buffers when the file on disk has changed.
But! Some programs, like OneDrive, might edit files in a way where Emacs can’t detect that the file was changed.
¶Does Guix need something like Nix Flakes?
Yes! It does not exist yet, but someone should write it!
¶Are we headed back to old-school Lisp machines?
Probably not :) But you should check this project out:
Emacs is probably as good as it’s going to get for most people, in my opinion!
¶Mobile access to Org Files
- Organice: https://organice.200ok.ch/
- Orgzly: https://orgzly.com/
- Orgro: https://orgro.org/
I’ve used Termux to run Emacs in terminal mode to have full Org Mode functionality.
There’s also an official Emacs build for Android now, but it’s still a little bit rough.
¶What was my verdict on Meow?
It’s cool! I think it’s interesting to have everything basically be “visual mode” so that you can see exactly the range of text that will be affected by the editing command you use next.
It can be hard to migrate to it from Evil because they do certain things differently.
I really did like the region selection bindings for things like paragraphs, functions, etc. Evil also can do this but I think Meow makes it more obvious that you should use it most of the time.
¶Can you use StumpWM, Wayland, Emacs, and Guix together?
Use Mahogany for a StumpWM-like WM in Wayland: https://github.com/stumpwm/mahogany
This does not seem to be packaged in Guix (yet!) but, this is probably what you would use.
¶What got you into System Crafting, Emacs, Free Software, etc
Linux was the start of everything. Started using Slackware in 1996 or 1997. Using Linux means you’re using GNU!
I didn’t start using Emacs until much later, maybe 2006 briefly, and then in 2013 I started using it much more regularly. Org Mode might have been the thing that brought me in the door, but then learning how customizable it is made me want to stay.
The thing that keeps me in Emacs is the fact that it feels dependable forever. And that’s because it’s two things: extensible with a Lisp, and also Free Software.
¶What’s your opinion on Racket?
It’s cool! It’s nice that it has so many useful libraries built in. It’s great that you can generate standalone executables using raco
.
However, I don’t like the fact that they’re so focused on language-oriented programming. It’s also not really a Scheme, it’s built with Scheme but they have gone their own direction on certain things.
I want to use a Scheme that’s focused on writing practical applications. Guile Scheme is great for practical work, and it’s already being used in awesome projects like GNU Guix!
¶Do you think Guile Emacs is the future of Emacs?
I wish it was! But I think there’s a lot of inertia in making this happen. I don’t think it will ever replace GNU Emacs.
https://www.emacswiki.org/emacs/GuileEmacs https://emacsninja.com/posts/state-of-emacs-lisp-on-guile.html
¶Why do I prefer Qutebrowser or Nyxt to Firefox?
Keyboard-driven navigation, better customizability, easier integration with external programs, more minimal UI, etc. Also, easier to customize with plain text files.
¶How do you do incremental completion in Vertico
Make sure you’re using Orderless: https://github.com/oantolin/orderless
¶Can I watch anime or read manga from Emacs?
Try out these two packages:
¶Any thoughts on Nix vs Guix?
Guix gives me so much more power than Nix because it’s using a real programming language (Scheme), and also it’s using a language that is really effective for creating domain-specific languages.
Guix is incredibly powerful because it’s Scheme, I don’t think I can do the things with Nix that I do with Guix.
¶Do you play games on Guix?
I have, but I don’t really do PC gaming very often.
I install Steam via Flatpak and it works quite well!
There’s also Steam inside of the Nonguix repo which should work fine.
There’s a Guix channel called Guix Gaming Channels with some games packaged for Guix:
¶Is there a way to preview files in the file picker?
Try the consult package, it has live-preview for some selection commands:
¶Does Emacs work well as a terminal emulator?
It’s ok! ansi-term
is probably the best built-in terminal emulator, otherwise try vterm
(can be a little harder to set up due to the native code component).
¶Guix ruins Emacs package management
I disagree! I actually think that managing Emacs packages with Guix makes Emacs a lot more reliable.
¶Does Guix violate the Filesystem Hierarchy Standard?
Yes, but you can replicate it when you need to by using
guix shell container -F
¶You should use Scheme to make your website!
I use Emacs Lisp to make my website!
https://codeberg.org/SystemCrafters/systemcrafters-site/src/branch/master/publish.el
You should also try Haunt for Guile: https://dthompson.us/manuals/haunt/index.html
¶Can I use Guix on a MacBook with NVIDIA chipset?
Probably, if it’s still Intel-based.
Check out the Nonguix repo for proprietary firmware and drivers including NVIDIA:
¶What single piece of advice would you give someone who wants to get into System Crafting?
Install Linux, preferrably something like Ubuntu. Debian might be an option now with the latest release. Linux Mint, elementaryOS, etc.
- OR -
Install and use Emacs and then go from there!