summaryrefslogtreecommitdiffstats
path: root/doc/source/user
diff options
context:
space:
mode:
authorPS <p@0x53.net>2026-02-07 10:20:30 +0100
committerPS <p@0x53.net>2026-02-07 10:20:30 +0100
commit5e95d487982b9362b544139b98d1da55fa6ef78c (patch)
tree1abf6d91f9e6d0b6d0ac7b7d759663f2531eb51b /doc/source/user
parentf7df2f7bb6abbea365cccb1345dcf1a1b7a80797 (diff)
downloadgoetia-base-5e95d487982b9362b544139b98d1da55fa6ef78c.tar.gz
goetia-base-5e95d487982b9362b544139b98d1da55fa6ef78c.tar.bz2
goetia-base-5e95d487982b9362b544139b98d1da55fa6ef78c.zip
Add doc
Diffstat (limited to 'doc/source/user')
-rw-r--r--doc/source/user/bundle/audio.html31
-rw-r--r--doc/source/user/bundle/compositor.html33
-rw-r--r--doc/source/user/bundle/default.html39
-rw-r--r--doc/source/user/bundle/session-bus.html34
-rw-r--r--doc/source/user/other/dbus-daemon.html44
-rw-r--r--doc/source/user/xdg/xdg-runtime-dir.html75
6 files changed, 256 insertions, 0 deletions
diff --git a/doc/source/user/bundle/audio.html b/doc/source/user/bundle/audio.html
new file mode 100644
index 0000000..687926e
--- /dev/null
+++ b/doc/source/user/bundle/audio.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>audio user bundle</title>
+ <meta name="Description" content="User bundle depended upon by services that need an audio server to be up." />
+ <meta name="Keywords" content="goetia s6-rc bundle user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The audio user bundle</h1>
+ <p>
+ This bundle abstracts over the different
+ autio daemon implementations,
+ so services requiring a running audion daemon
+ can depend on this.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/bundle/compositor.html b/doc/source/user/bundle/compositor.html
new file mode 100644
index 0000000..9d10e89
--- /dev/null
+++ b/doc/source/user/bundle/compositor.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>compositor user bundle</title>
+ <meta name="Description" content="User bundle depended upon by services that need a wayland compositor to be up." />
+ <meta name="Keywords" content="goetia s6-rc bundle user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The compositor user bundle</h1>
+ <p>
+ This bundle shall contain the service corresponding to the
+ main compositing program, e.g. the
+ <a href="https://wayland.freedesktop.org/">Wayland</a>
+ compositor or
+ <a href="https://www.x.org/releases/X11R7.7/doc/index.html">X11</a>.
+ instance.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/bundle/default.html b/doc/source/user/bundle/default.html
new file mode 100644
index 0000000..2192a15
--- /dev/null
+++ b/doc/source/user/bundle/default.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>default user bundle</title>
+ <meta name="Description" content="User bundle started upon starting the user supervision tree." />
+ <meta name="Keywords" content="goetia s6-rc bundle user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The default user bundle</h1>
+ <p>
+ This bundle is started when the
+ <a href="//0x53.net/software/goetia/supervisiontree.html#user">user supervision tree</a>
+ is started and everything that is
+ desired to be autostarted should be part of it.
+ Minimize the amount of services in this bundle.
+ <a href="https://skarnet.org/software/s6-rc">s6-rc</a>
+ will automatically start (and stop) all dependencies.
+ Add only what should be unconditionally there.
+ An example of this would be a service
+ starting a wallpaper daemon, no other service
+ will probably depend on this but the user
+ wants the wallpaper to be there.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/bundle/session-bus.html b/doc/source/user/bundle/session-bus.html
new file mode 100644
index 0000000..8984b80
--- /dev/null
+++ b/doc/source/user/bundle/session-bus.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>session-bus user bundle</title>
+ <meta name="Description" content="User bundle that is depended upon by services that need a session-bus to be up." />
+ <meta name="Keywords" content="goetia s6-rc bundle bus session-bus dbus user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The session-bus user bundle</h1>
+ <p>
+ Some software requires a session-bus
+ - usually implementing the dbus interface.
+ The only currently available implementation
+ of this interface is
+ <a href="https://www.freedesktop.org/wiki/Software/dbus/">dbus-daemon</a>.
+ The source directory is part of
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/other/dbus-daemon.html b/doc/source/user/other/dbus-daemon.html
new file mode 100644
index 0000000..f5290c8
--- /dev/null
+++ b/doc/source/user/other/dbus-daemon.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>dbus-daemon</title>
+ <meta name="Description" content="User longrun to start the dbus session-bus" />
+ <meta name="Keywords" content="goetia s6-rc bundle bus session-bus dbus user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The dbus-daemon service</h1>
+ <p>
+ This service starts a session
+ <a href="https://gitlab.freedesktop.org/dbus/dbus">dbus-daemon</a>.
+ It is important to set the environment variable
+ <code>DBUS_SESSION_BUS_ADDRESS</code>,
+ so other services depending on dbus-daemon can find it.
+ </p>
+ <p>
+ The <code>DBUS_SESSION_BUS_ADDRESS</code> environment variable
+ should be set at
+ <code>${HOME}/<var>@userconfdir@</var>/<var>@USERTREE@</var>/env/DBUS_SESSION_BUS_ADDRESS</code>,
+ by writing the address into this file
+ (see <a href="//0x53.net/software/goetia/confdir.html">configuration directory</a>).
+ It is recomended to set
+ <code>${HOME}/<var>@userconfdir@</var>/<var>@USERTREE@</var>/env/DBUS_SESSION_BUS_ADDRESS</code>,
+ to
+ <code><var>@tmpusdir@</var>/<var>@usrrundir@</var>/<var>@USER@</var>/<var>@USERTREE@</var>/session-bus</code>
+ (see <a href="//0x53.net/software/goetia/rundir.html">runtime directory</a>).
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/xdg/xdg-runtime-dir.html b/doc/source/user/xdg/xdg-runtime-dir.html
new file mode 100644
index 0000000..3b17d8b
--- /dev/null
+++ b/doc/source/user/xdg/xdg-runtime-dir.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>xdg-runtime-dir</title>
+ <meta name="Description" content="User oneshot to create and remove the XDG_RUNTIME_DIR." />
+ <meta name="Keywords" content="goetia s6-rc bundle xdg runtime directory user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The xdg-runtime-dir service</h1>
+ <p>
+ This service dynamically creates the directory
+ specified in the environment variable
+ <code>XDG_RUNTIME_DIR</code>.
+ </p>
+ <p>
+ Starting this service creates the directory
+ and sets the proper permissions,
+ stopping it deletes it.
+ </p>
+ <p>
+ It is recommended to set
+ <code>XDG_RUNTIME_DIR</code>
+ to the
+ <code><var>@USER@</var>/<var>@USERTREE@</var>/xdg-runtime-dir</code>
+ subdirectory of the
+ <a href="//0x53.net/software/goetia/rundir.html#user">user runtime directory</a>.
+ This allows to follow the
+ <a href="https://specifications.freedesktop.org/basedir-spec/latest/">XDG Base Directory Specification</a>.
+ </p>
+ <p>
+ If more than one
+ <a href="//0x53.net/software/goetia/supervisiontree.html#user">user supervision tree</a>
+ <em>per user</em> is used to have multiple
+ <a href="//0x53.net/software/goetia/tutorials/ui/seatsession.html">sessions</a>
+ with a distinct UI server, audio server, etc.
+ It makes sense for each session to have its own,
+ distinct <code>xdg-runtime-dir</code>,
+ since it is often used for sockets and temporary files
+ of said UI server, audio server, etc.
+ Setting
+ <code>XDG_RUNTIME_DIR</code>
+ as described above, allows for this.
+ Note, however, that this deviates from the
+ <a href="https://specifications.freedesktop.org/basedir-spec/latest/">XDG Base Directory Specification</a>.
+ </p>
+ <p>
+ All user services writing to or reading from
+ <code>XDG_RUNTIME_DIR</code>
+ should depend on this service.
+ </p>
+ <h2>See also</h2>
+ <ul>
+ <li>
+ <a href="//0x53.net/software/goetia/tutorials/ui/seatsession.html">seat and session management</a>
+ </li>
+ <li>
+ <a href="https://specifications.freedesktop.org/basedir-spec/latest/">XDG Base Directory Specification</a>.
+ </li>
+ </ul>
+ </body>
+</html>