home-manager/modules/services
Tad Fisher 3815248786
emacs: Support socket activation via systemd
Add 'services.emacs.socketActivation.enable' for generating an
'emacs.socket' systemd unit.

Emacs since version 26 has supported socket activation, whereby an
external process manager such as systemd listens on a socket and passes
it to the Emacs daemon when the manager launches it. This improves
startup time of the user session and avoids launching the daemon when not
needed, for example when launching the user session via SSH.

This implementation hard-codes the socket path to the default for the
version of 'programs.emacs.finalPackage', because systemd does not
perform shell expansion in the socket unit's 'ListenStream' parameter
and it seems like an advanced use-case to change the socket path. Shell
expansion would be desirable as the socket path usually resides in
directories such as $XDG_RUNTIME_DIR or $TMPDIR.

Tests were added to verify behavior in the following cases:

- Emacs service with socket activation disabled
- Emacs 26 with socket activation enabled
- Emacs 27 with socket activation enabled

PR #1314
2020-06-11 20:39:49 +02:00
..
window-managers sway: add alexarice as codeowner 2020-06-06 21:35:09 +02:00
blueman-applet.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
cbatticon.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
compton.nix picom: add module 2020-03-24 23:50:22 +01:00
dunst.nix dunst: replace deprecated package name 2020-06-06 14:53:41 +02:00
dwm-status.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
emacs.nix emacs: Support socket activation via systemd 2020-06-11 20:39:49 +02:00
flameshot.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
getmail.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
gnome-keyring.nix gnome-keyring: replace deprecated package name 2020-06-06 14:53:43 +02:00
gpg-agent.nix gpg-agent: fix GnuPG by adding pinentry flavor option 2020-01-01 13:26:21 +01:00
grobi.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
hound.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
imapnotify-accounts.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
imapnotify.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
kbfs.nix kbfs: fix systemd service PATH 2018-04-18 19:01:57 +02:00
kdeconnect.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
keepassx.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
keybase.nix keybase: install the keybase package 2018-11-29 00:51:58 +01:00
keynav.nix keynav: use correct ExecStart command 2020-04-23 22:48:01 +02:00
lieer-accounts.nix services.lieer: add module 2020-03-07 15:13:50 +01:00
lieer.nix services.lieer: add module 2020-03-07 15:13:50 +01:00
lorri.nix lorri: make system environment attribute a list 2020-05-24 12:19:39 +02:00
mako.nix mako: add module 2020-04-09 11:21:22 +02:00
mbsync.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
mpd.nix mpd: allow path literal values in options 2019-09-16 21:43:53 +02:00
mpdris2.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
muchsync.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
network-manager-applet.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
nextcloud-client.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
owncloud-client.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
parcellite.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
password-store-sync.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
pasystray.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
picom.nix picom: add module 2020-03-24 23:50:22 +01:00
polybar.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
pulseeffects.nix pulseeffects: add module 2020-04-26 15:50:21 +02:00
random-background.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
redshift.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
rsibreak.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
screen-locker.nix screen-locker: add option enableDetectSleep 2020-04-06 19:41:13 +02:00
spotifyd.nix spotifyd: user -> username 2020-04-23 23:53:03 +02:00
stalonetray.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
status-notifier-watcher.nix status-notifier-watcher: introduce unit start delay 2020-06-10 23:32:44 +02:00
sxhkd.nix sxhkd: add service 2019-09-17 21:42:05 +02:00
syncthing.nix syncthing: install man pages to user profile 2020-03-22 21:15:25 +01:00
taffybar.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
tahoe-lafs.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
taskwarrior-sync.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
udiskie.nix udiskie: fix formatting 2020-02-24 23:07:58 +01:00
unclutter.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
unison.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
xcape.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
xembed-sni-proxy.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
xscreensaver.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
xsuspender.nix Apply nixfmt on many files 2020-02-02 01:07:28 +01:00