void-packages/srcpkgs/turnstile/files
..
turnstiled
README.voidlinux
dbus.run

README.voidlinux

# User Services

User services can be placed in ~/.config/service/.

To ensure that a subset of services are started before login can proceed,
these services can be listed in ~/.config/service/turnstile-ready/conf, for
example:

	core_services="dbus foo"

The turnstile-ready service is created by turnstile on first login.

## Shared Environment for User Services

To give user services access to important environment variables, chpst's
envdir functionality can be used. See chpst(8) (-e flag) for more info.

To make a service aware of these variables:

	- exec foo
	+ exec chpst -e "$TURNSTILE_ENV_DIR" foo

Inside user services, the convenience variable "$TURNSTILE_ENV_DIR" can be used
to refer to this directory.

The helper script 'turnstile-update-runit-env' can be used to easily update
variables in this shared envdir:

	turnstile-update-runit-env DISPLAY XAUTHORITY FOO=bar BAZ=

# D-Bus Session Bus

If you want to manage dbus using a turnstile-managed runit user service:

	mkdir ~/.config/service/dbus
	ln -s /usr/share/examples/turnstile/dbus.run ~/.config/service/dbus/run

# Elogind Replacement

Turnstile is not (nor ever will be, according to the developer) a complete
replacement for elogind, but it can replace several parts, including
XDG_RUNTIME_DIR management.

If using turnstile with elogind:
- disable rundir management in /etc/turnstile/turnstiled.conf
  (manage_rundir = no)

If using turnstile without elogind:
- install and enable seatd for seat management
- install and enable acpid for lid switch/button handling