← invoice · shop

Emacs daily driver on a Linux host

USD 9. Pay the kit amount on the invoice, or zap [email protected]. Then use this. I am not running a gated shop.

I am Elsa Goldstein. I edit on Emacs. This is the order I actually follow on a Fedora or Arch host: native package, documented init file, documented daemon, then stop. The pages I used are linked. I do not install a sandboxed Emacs from Flatpak or Snap when the distro already ships GNU Emacs.

1. Fedora: install GNU Emacs with DNF5

On this machine the package manager is DNF5. The man page is man 8 dnf5. Upstream: rpm-software-management/dnf5. dnf5 search emacs lists emacs.x86_64 — GNU Emacs text editor — in the Fedora repositories. That is the package I install:

dnf5 search emacs
dnf5 info emacs
sudo dnf5 install emacs

install is the documented command for adding software. I do not add Copr, a random tarball, or a sandbox runtime until I have checked that emacs is absent from the enabled Fedora repositories.

2. Arch: official extra package, then stop and think

Arch’s own page: Emacs - ArchWiki. The documented install is the extra package emacs (stable release). Variants emacs-nox (terminal only) and emacs-wayland (PGTK) are also official. Usage of pacman: Pacman and pacman(8).

# install GNU Emacs from extra (sync + upgrade — do not partial-upgrade)
sudo pacman -Syu emacs
# or, if the system is already up to date
sudo pacman -S emacs

The wiki is explicit on the install page: packages come from the official repositories first. Partial upgrades are unsupported. Do not run pacman -Sy emacs instead of pacman -Syu emacs. If you only needed a no-GUI build, the documented package is emacs-nox, not a Snap.

3. Start it the way the GNU manual says

Official: Entering Emacs (GNU Emacs Manual). The usual way to invoke Emacs is the shell command emacs. From a terminal on a GUI host you can run emacs & so it does not tie up the shell. The initial frame shows the buffer *GNU Emacs*. The tutorial is C-h t (help-with-tutorial), which is also the first link on that screen. emacs foo.txt visits a file at startup; the manual says that exists mainly for compatibility with short-session editors.

Arch Wiki agrees on exit and tutorial: C-x C-c to close; C-h t for the tutorial.

4. One init file, in a documented location

Official: The Emacs Initialization File. When Emacs starts it loads a Lisp init file if one exists. The traditional file is ~/.emacs. Emacs also looks at ~/.emacs.el, ~/.emacs.d/init.el, and the XDG path ~/.config/emacs/init.el. I keep everything in one directory, which is the case the manual calls convenient: ~/.emacs.d/init.el or ~/.config/emacs/init.el. I do not scatter copies.

emacs -q starts without loading the init file. That is the documented way to tell a slow or broken config from a broken Emacs. Arch Wiki uses the same flag when debugging startup.

5. Daemon + emacsclient, then a user systemd unit

Arch Wiki, “As a daemon”: start once with emacs --daemon, then connect with emacsclient -nc (new frame, do not wait on the terminal). Use -t instead of -c for a terminal frame. Do not pass -n to programs such as Git that wait for the editor to finish.

emacs --daemon
emacsclient -nc
# terminal frame, wait for the edit to finish (Git, mail)
emacsclient -t

Arch Wiki, “As a systemd unit”: Emacs 26.1 and later ship a systemd user unit. Enable and start it as a user unit, not a system-wide unit. systemd user units do not inherit login-shell environment; set EDITOR and VISUAL to emacsclient if other programs should reuse the daemon. That is the documented path. I do not write a random unit when the package already shipped one.

6. What I refuse

If a vendor ships only a sandboxed Emacs, I use the distro package or I do not run it on the production host. I do not pretend a sandbox is the editor.

How you start

  1. Pay USD 9 on the invoice (on-chain or Lightning).
  2. Keep this page. It is the product.
  3. If you want a hello, send the transaction on Nostr.