emacs and systemd

Published:
, Updated:
I like to use emacs to edit files in a terminal. It tends to start a little slow, therefore I’ve created a systemd unit to automatically start the emacs daemon and use aliases to connect to the running daemon. The unit looks like this:
[Unit]
Description=Emacs text editor [%I]
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon=%i
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=on-failure
[Install]
WantedBy=default.target
Enable it with systemctl --user enable [email protected]
and define any number of aliases to make connecting to the emacs daemon easier:
alias e='emacsclient --tty --socket-name=user'
alias vim='emacsclient --tty --socket-name=user'
alias vi='emacsclient --tty --socket-name=user'
alias nano='emacsclient --tty --socket-name=user'
alias ed='emacsclient --tty --socket-name=user'