From 5e95d487982b9362b544139b98d1da55fa6ef78c Mon Sep 17 00:00:00 2001 From: PS
Date: Sat, 7 Feb 2026 10:20:30 +0100 Subject: Add doc --- doc/bin/compile-db.html | 98 ++++++ doc/bin/longrun-make.html | 141 +++++++++ doc/bin/oneshot-make.html | 101 +++++++ doc/bin/prepare-svscan.html | 120 ++++++++ doc/bin/system-db.html | 67 +++++ doc/bin/system-ml.html | 96 ++++++ doc/bin/system-rc.html | 63 ++++ doc/bin/system-run.html | 67 +++++ doc/bin/system-shutdown-daemon.html | 123 ++++++++ doc/bin/user-db.html | 82 +++++ doc/bin/user-init.html | 128 ++++++++ doc/bin/user-ml.html | 104 +++++++ doc/bin/user-rc.html | 74 +++++ doc/bin/user-run.html | 78 +++++ doc/bin/user-shutdown.html | 68 +++++ doc/bin/user-tmpfs.html | 104 +++++++ doc/index.html | 413 ++++++++++++++++++++++++++ doc/service/system/goetia-runner.html | 44 +++ doc/service/system/s6-svscan-log-console.html | 50 ++++ doc/service/system/s6-svscan-log.html | 37 +++ doc/service/user/.s6-svscan.html | 48 +++ doc/service/user/goetia-runner.html | 36 +++ doc/service/user/goetia-shutdown.html | 67 +++++ doc/service/user/s6-svscan-log.html | 39 +++ doc/source/system/admin/seatd.html | 42 +++ doc/source/system/bundles/default.html | 37 +++ doc/source/system/bundles/firewall.html | 29 ++ doc/source/system/bundles/mount.html | 48 +++ doc/source/system/bundles/networking.html | 35 +++ doc/source/system/bundles/seat-manager.html | 31 ++ doc/source/system/bundles/system-bus.html | 34 +++ doc/source/system/bundles/udev.html | 36 +++ doc/source/user/bundle/audio.html | 31 ++ doc/source/user/bundle/compositor.html | 33 ++ doc/source/user/bundle/default.html | 39 +++ doc/source/user/bundle/session-bus.html | 34 +++ doc/source/user/other/dbus-daemon.html | 44 +++ doc/source/user/xdg/xdg-runtime-dir.html | 75 +++++ 38 files changed, 2796 insertions(+) create mode 100644 doc/bin/compile-db.html create mode 100644 doc/bin/longrun-make.html create mode 100644 doc/bin/oneshot-make.html create mode 100644 doc/bin/prepare-svscan.html create mode 100644 doc/bin/system-db.html create mode 100644 doc/bin/system-ml.html create mode 100644 doc/bin/system-rc.html create mode 100644 doc/bin/system-run.html create mode 100644 doc/bin/system-shutdown-daemon.html create mode 100644 doc/bin/user-db.html create mode 100644 doc/bin/user-init.html create mode 100644 doc/bin/user-ml.html create mode 100644 doc/bin/user-rc.html create mode 100644 doc/bin/user-run.html create mode 100644 doc/bin/user-shutdown.html create mode 100644 doc/bin/user-tmpfs.html create mode 100644 doc/index.html create mode 100644 doc/service/system/goetia-runner.html create mode 100644 doc/service/system/s6-svscan-log-console.html create mode 100644 doc/service/system/s6-svscan-log.html create mode 100644 doc/service/user/.s6-svscan.html create mode 100644 doc/service/user/goetia-runner.html create mode 100644 doc/service/user/goetia-shutdown.html create mode 100644 doc/service/user/s6-svscan-log.html create mode 100644 doc/source/system/admin/seatd.html create mode 100644 doc/source/system/bundles/default.html create mode 100644 doc/source/system/bundles/firewall.html create mode 100644 doc/source/system/bundles/mount.html create mode 100644 doc/source/system/bundles/networking.html create mode 100644 doc/source/system/bundles/seat-manager.html create mode 100644 doc/source/system/bundles/system-bus.html create mode 100644 doc/source/system/bundles/udev.html create mode 100644 doc/source/user/bundle/audio.html create mode 100644 doc/source/user/bundle/compositor.html create mode 100644 doc/source/user/bundle/default.html create mode 100644 doc/source/user/bundle/session-bus.html create mode 100644 doc/source/user/other/dbus-daemon.html create mode 100644 doc/source/user/xdg/xdg-runtime-dir.html diff --git a/doc/bin/compile-db.html b/doc/bin/compile-db.html new file mode 100644 index 0000000..c0ed957 --- /dev/null +++ b/doc/bin/compile-db.html @@ -0,0 +1,98 @@ + + +
+ + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ compile-db is a helper script for use by other software
+ that compiles a general confdir
+ tries to use the result to update a general
+ livedir.
+
compile-db confdir livedir+
confdir/src/*.
+ confdir/@xyz@_db
+ file with @xyz@ based on the current UNIX time.
+ livedir exists, that is,
+ a goetia based supervision tree is running,
+ compile-db the tries to update the live state at livedir
+ to @xyz@_db using
+ s6-rc-update.
+ confdir/compiled
+ to point to
+ confdir/@xyz@_db
+ and deletes the old database
+ confdir/@abc@_db.
+ confdir/compiled
+ which points to
+ confdir/@abc@_db.
+ Followed by deleting
+ confdir/@xyz@_db.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ longrun-make contains boilerplate code + required to create the + source directory + of a longrun service + based on strings. +
+longrun-make workingdir name type script dependencies+
type can only be one of log | srv.
+ dependencies can only be one of "dependency1 dependency2 ..." | none.
+ workingdir/name-type.
+ workingdir/name-type/type
+ (literal "type") and writes the line longrun to it.
+ workingdir/name-type/notification-fd
+ and writes the line 3 to it.
+ workingdir/name-type/run
+ and writes script to it.
+ type is log and the file
+ workingdir/name-type/consumer-for
+ does not contain the string name:
+ workingdir/name-type/consumer-for
+ using
+ s6-setlock.
+ name-srv to the file
+ workingdir/name-type/consumer-for
+ creating it if it does not exist.
+ workingdir/name-type/pipeline-name,
+ truncating it if it does exist and adds the string name.
+ type is srv:
+ workingdir/name-type/producer-for
+ is created, truncated and the string name-log is added.
+ dependencies is not none:
+ workingdir/name-type/dependencies.d
+ is created.
+ "dependency1 dependency2 ..." in
+ dependencies separated by spaces,
+ a file
+ workingdir/name-type/dependencies.d/dependency
+ is created.
+ + longrun-make is, by means of locking and checking for duplicates, + specifically designed to allow parallel creation of logging + source directories. +
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ oneshot-make contains boilerplate code + required to create the + source directory + of a oneshot service + based on strings. +
+oneshot-make workingdir name upscript downscript dependencies+
dependencies can only be one of "dependency1 dependency2 ..." | none.
+ workingdir/name
+ workingdir/name/type
+ and writes the line oneshot to it.
+ workingdir/name/up
+ and writes upscript to it.
+ workingdir/name/down
+ and writes downscript to it.
+ dependencies is not none:
+ workingdir/name/dependencies.d
+ is created.
+ "dependency1 dependency2 ..." in
+ dependencies separated by spaces,
+ a file
+ workingdir/name/dependencies.d/dependency
+ is created.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ prepare-svscan does generic preparation of the + supervision tree. + It is also used in system-init and + user-init. +
+prepare-svscan workingdir rundir bundle prog...+
/dev/null.
+ 0022.
+ rundir.
+ workingdir/run-image/.
+ to rundir/.
+ rundir/service/s6-svscan-log/fifo.
+ rundir/service/s6-svscan-log/fifo.
+ rundir/s6-rc does not exist,
+ rundir/service using
+ s6-rc-init
+ and starts the bundle bundle using s6-rc.
+ workingdir/env is sourced using
+ s6-env.
+ prog...,
+ which is usually directly or indirectly
+ s6-svscan.
+
+ Once s6-svscan is launched it will start an
+ s6-supervise
+ process on rundir/service/s6-svscan-log which starts
+ s6-log reading
+ from rundir/service/s6-svscan-log/fifo.
+ This in turn triggers the forked background process to continue with its second step.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ system-db compiles the + source directories + of the + system configuration directory + into the compiled format. + This format can then be used by init and + system-rc + to set up and control a + system supervision tree. +
++ system-db is a wrapper around the more general + compile-db + making it target the system supervision tree. +
+system-db+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ system-ml automatically creates logging service + source directories + for longrun services in the + system configuration directory. + To create the logging service source directories, + system-ml uses + longrun-make internally. +
+system-ml+
src/generated-logger subdirectory of the
+ system configuration directory.
+ src subdirecotry of the
+ system configuration directory
+ for longrun services.
+ no-ml.
+ If this file exits, this longrun is skipped in the subsequent logger generation.
+ src/generated-logger/@longrun@-log
+ in the system configuration directory.
+ It does so in parallel for each longrun @longrun@-srv it found.
+
+ The logger services created by this script
+ will drop privileges to
+ @loguser@,
+ which must exist at runtime.
+ (see log directory).
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ system-rc is a thin convenience wrapper around + s6-rc + doing nothing more then pointing it to the right livedir. +
++ Read the page of + s6-rc + to understand what this utility does. +
+system-rc ... see s6-rc ...+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ system-run allows + to hand over the execution of commands to the + system supervision tree. +
+system-run prog...+
prog... is then transferred
+ to and executed by goetia-runner.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ system-shutdown-daemon contains the Kernel independent + part of the shutdown sequence. + It is invoked by the Kernel specifict goetia-shutdown service, + e.g. + goetia-shutdown service for Linux + or + goetia-shutdown service for FreeBSD. + system-shutdown-daemon is a long lived program that waits for instruction by the system-shutdown command + The latter is part of the Kernel specific packages, e.g. + goetia-linux + or + goetia-freebsd. +
+system-shutdown-daemon+
./stage3b,
+ which is by default not executable.
+ If it can not execute ./stage3b,
+ and only in this case,
+ it continues with the following.
+ src subdirectory of the
+ system configuration directory.
+ stage3b, expected to exist in the current working directory
+ is made executable.
+ This file is part of the Kernel secific service directories.
+ (see e.g. goetia-shutdown)
+ log/uncaught-logs
+ subdirectory of the
+ system runtime directory.
+ to the
+ uncaught-logs
+ subdirectory of the
+ system log directory.
+ ./stage3b is executable
+ and executed instead of what is described above.
+ What happens in ./stage3b is Kernel specific,
+ and documented on
+ goetia-shutdown service for Linux,
+ goetia-shutdown service for FreeBSD,
+ etc.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ user-db compiles the + source directories + of the + user configuration directory + into the compiled format. + This format can then be used by init and + user-rc + to set up and control a + user supervision tree. +
++ user-db is a wrapper around the more general + compile-db + making it target the user supervision tree. +
+user-db+
USER environment variable,
+ if it is empty it exits 100.
+ USERTREE environment variable,
+ if it is empty it exits 100.
+ HOME environment variable,
+ if it is empty it exits 100.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ user-init starts a user supervision tree for
+ the user defined in the USER
+ environment variable.
+
user-init+
USER environment variable,
+ if it is empty it exits 100.
+ USERTREE environment variable,
+ if it is empty it exits 100.
+ BUNDLE environment variable,
+ defaulting to default if empty.
+ PATH environment variable,
+ defaulting to
+ /command:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/libexec:/usr/local/libexec
+ if empty.
+ ${USER}/${USERTREE} subdirectory of the
+ runtime directory
+ olready existis, it exits 100.
+ HOME environment variable based on the result of
+ homeof.
+ ${HOME}/.local/bin: to the PATH
+ environment variable.
+ UID, GID and GIDLIST
+ environment variables using
+ s6-envuidgid.
+ prepare-svscan
+ with the proper arguments.
+ s6-svscan
+ on the scandir represented by the
+ ${USER}/${USERTREE}/service
+ subdirectory of the
+ user runtime directory.
+ + More information about user supervision trees + themselves can be found on the + user supervision tree + page. +
+ + diff --git a/doc/bin/user-ml.html b/doc/bin/user-ml.html new file mode 100644 index 0000000..d6d7e2e --- /dev/null +++ b/doc/bin/user-ml.html @@ -0,0 +1,104 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ user-ml automatically creates logging service + source directories + for longrun services of the + user configuration directory. + To create the logging service source directories, + user-ml uses + longrun-make internally. +
+user-ml+
USER environment variable,
+ if it is empty it exits 100.
+ USERTREE environment variable,
+ if it is empty it exits 100.
+ HOME environment variable,
+ if it is empty it exits 100.
+ ${USERTREE}/src/generated-logger subdirectory
+ of the user configuration subdirectory.
+ ${USERTREE}/src subdirectory
+ of the user configuration subdirectory
+ for longrun services.
+ no-ml.
+ If this file exits, this longrun is skipped in the subsequent logger generation.
+ ${USERTREE}/src/generated-logger/@longrun@-log
+ in parallel for each longrun @longrun@-srv it found
+ in the user configuration subdirectory.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ The user-rc program is a thin convenience wrapper around + s6-rc + doing nothing more then pointing it to the right livedir. +
++ Read the page of + s6-rc + to understand what this utility does. +
+user-rc ... see s6-rc ...+
USER environment variable,
+ if it is empty it exits 100.
+ USERTREE environment variable,
+ if it is empty it exits 100.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ The user-run program allows + to hand over the execution of commands to the + user supervision tree. +
+user-run prog...+
USER environment variable,
+ if it is empty it exits 100.
+ USERTREE environment variable,
+ if it is empty it exits 100.
+ prog... is then transferred
+ to and executed by goetia-runner.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ The user-shutdown program is used to tear down + user supervision trees. +
+user-shutdown+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ The user-tmpfs program prepares
+ a user owned tmpfs for
+ the user defined in the USER
+ environment variable.
+ The user owned tmpfs is created at
+ @tmpfsdir@/@usrrundir@/${USER}.
+
user-tmpfs+
USER environment variable,
+ if it is empty it exits 100.
+ USER_TMPFSDIR_SIZE environment variable,
+ defaulting to 64m if undefined.
+ @tmpfsdir@/@usrrundir@/${USER}.
+ USER_TMPFSDIR_SIZE
+ with its root owned bi USER
+ and mode 0755
+ at @tmpfsdir@/@usrrundir@/${USER}.
+ + user-tmpfs is intended to be used in a boot time + system supervision tree + oneshot service to prepare the + user runtime directory + of a user. + For each user who should have a user runtime directory, + there should be a distinct oneshot running user-tmpfs. +
++ Alternatively, user-tmpfs could be run by a login manager + after login, but befor initiating the first + user supervision tree. +
+ + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..fe07e2b --- /dev/null +++ b/doc/index.html @@ -0,0 +1,413 @@ + + + + + + ++ goetia-base contains scripts to manage + system. + and + system supervision trees. + Additionally, it contains kernel independant + service directories + and + source directories + for the system and user supervision tree. +
++ goetia-base is free software. It is available under the + ISC license. +
+git clone git://git.0x53.net/goetia-base+
+ All of the following are + execline + scripts. + Most of these commands are thin wrappers + around tools from + s6 + and + s6-rc. + They do not do much more than supplement the former + with the right paths and default options. + The utility scripts, however, + contain their own logic that is used + in some of the other scripts. +
++ Service directories for early and basic services, + used without + s6-rc. + Service directories in this package are used independent + of the kernel in use. +
++ Following is a list of included + source directories. + Note that some daemons are so modular + and configurable, it would be nonsense + to provide a "stock" source directory. + How to set those up is explained in + an according + tutorial page. +
++ Some services can be provided by multiple different implementations. + Those are abstracted by bundles, + which can be filled with the desired implementation. + For the + system supervision tree + the bundles used and provided by default in goetia are: +
++ Some services can be provided by multiple different implementations. + Those are abstracted by bundles, + which can be filled with the desired implementation. + For the + user supervision tree + the bundles used and provided by default in goetia are: +
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This service allows to hand of execution of a commandline to the + system supervision tree. + It is the "server side" counterpart to + system-run. + To achieve that, + goetia-runner makes use of + s6-ipcserver + and + s6-sudod. +
++ An example would be the + system-rc + command invoking state transitions that might bring down + the user interface + (thus aborting mid-transition, + since the controlling terminal dies). +
+ + diff --git a/doc/service/system/s6-svscan-log-console.html b/doc/service/system/s6-svscan-log-console.html new file mode 100644 index 0000000..eff7b14 --- /dev/null +++ b/doc/service/system/s6-svscan-log-console.html @@ -0,0 +1,50 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This service writes all messages
+ that arrive at the
+ s6-svscan
+ process, as well as the stdout
+ of s6-svscan itself to a directory of the logdir format
+ (see s6-log
+ and
+ logging directory).
+ It writes them to the system/logs/uncaught-logs subdirectory
+ of the runtime directory.
+
+ Additionally, all logs are duplicated to
+ /dev/console.
+
/dev/console
+ must be tha appropriate device node.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This service writes all messages
+ that arrive at the
+ s6-svscan
+ process, as well as the stdout
+ of s6-svscan itself to a directory of the logdir format
+ (see s6-log
+ and
+ logging directory).
+ It writes them to the system/logs/uncaught-logs subdirectory
+ of the runtime directory.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ The .s6-svscan directory contains scripts + that are executed if + s6-svscan + receives a signal or exits. + In this case its main use is to properly shutdown the + user supervision tree + using: +
+finish script.
+ + The .s6-svscan directory is easily overlooked, + do not forget to symlink/copy it! +
+ + diff --git a/doc/service/user/goetia-runner.html b/doc/service/user/goetia-runner.html new file mode 100644 index 0000000..1e6591c --- /dev/null +++ b/doc/service/user/goetia-runner.html @@ -0,0 +1,36 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This service allows to hand of execution of a commandline to the + user supervision tree. + It is the "server side" counterpart to + user-run. + To achieve that, + goetia-runner makes user of + s6-ipcserver + and + s6-sudod. +
+ + diff --git a/doc/service/user/goetia-shutdown.html b/doc/service/user/goetia-shutdown.html new file mode 100644 index 0000000..5652923 --- /dev/null +++ b/doc/service/user/goetia-shutdown.html @@ -0,0 +1,67 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ The user goetia-shutdown service is used to tear down + user supervision trees. + Upon being started it: +
USER environment variable,
+ if it is empty it exits 100.
+ USERTREE environment variable,
+ If it is empty it exits 100.
+ ${USER}/${USERTREE}
+ of the
+ user runtime directory
+ exists. If not, meaning no user supervision tree is running, it exits 0.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This service writes all messages
+ that arrive at the
+ s6-svscan
+ process, as well as the stdout
+ of s6-svscan itself to a directory of the logdir format
+ (see s6-log
+ and
+ logging directory).
+ This is
+ ${XDG_STATE_HOME}/log/uncaught-logs,
+ if ${XDG_STATE_HOME} is unset it defaults to
+ ${HOME}/.local/state/log/uncaught-logs
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ Seatd is a seat manager. + This means that it mediates access to + hardware like a GPU or input devices to the compositor. +
+
+ This service makes the socket have
+ seat group permissions.
+ Thus the group seat must exist
+ and users intending to run a compositor need to
+ be part of that group.
+
+ The service does not change the socket location,
+ by default it usually resides at
+ /run/seatd.sock.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This bundle is started on boot and everything that is + desired to be autostarted should be part of it. + Minimize the amount of services in this bundle. + s6-rc + will automatically start (and stop) all dependencies. + Add only what should be unconditionally there. + An example of this would be a service to mount a storage device + containing photos. No other service will probably depend on + this, since none needs the photos, but the user still needs + this to be mounted. +
+ + diff --git a/doc/source/system/bundles/firewall.html b/doc/source/system/bundles/firewall.html new file mode 100644 index 0000000..ecfe00e --- /dev/null +++ b/doc/source/system/bundles/firewall.html @@ -0,0 +1,29 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ Some services might require a frirewall to be ready + when started, those shall depend on this bundle. +
+ + diff --git a/doc/source/system/bundles/mount.html b/doc/source/system/bundles/mount.html new file mode 100644 index 0000000..c295d49 --- /dev/null +++ b/doc/source/system/bundles/mount.html @@ -0,0 +1,48 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This bundle is by default a declared dependency of many + services provided by goetia. + Most importantly, it is a dependency of all autogenerated + loggers. + It should thus contain the mount services for all drives + that are used for + logging. +
+
+ In most cases, the remount-root
+ source directory
+ should be added to this bundle.
+ This source directory is part of the kernel specific packages,
+ like
+ goetia-linux.
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ Services requiring networking to be set up + will depend on this. +
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ Refer to the + seat and session management + tutorial, to understand the purpose of seat managers. + This bundle abstracts over the choices one has here. +
+ + diff --git a/doc/source/system/bundles/system-bus.html b/doc/source/system/bundles/system-bus.html new file mode 100644 index 0000000..4efd015 --- /dev/null +++ b/doc/source/system/bundles/system-bus.html @@ -0,0 +1,34 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ Some software requires a system-bus + implementing - usually the dbus interface. + The only currently available implementation + of this interface is + dbus-daemon. + The source directory is part of + goetia-base. +
+ + diff --git a/doc/source/system/bundles/udev.html b/doc/source/system/bundles/udev.html new file mode 100644 index 0000000..835f04b --- /dev/null +++ b/doc/source/system/bundles/udev.html @@ -0,0 +1,36 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ Some software depends on userspace device management software + to setup device permissions, symlinks and more. + The corresponding services will depend on this bundle. +
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This bundle abstracts over the different + autio daemon implementations, + so services requiring a running audion daemon + can depend on this. +
+ + 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 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This bundle shall contain the service corresponding to the + main compositing program, e.g. the + Wayland + compositor or + X11. + instance. +
+ + 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 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This bundle is started when the + user supervision tree + is started and everything that is + desired to be autostarted should be part of it. + Minimize the amount of services in this bundle. + s6-rc + 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. +
+ + 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 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ Some software requires a session-bus + - usually implementing the dbus interface. + The only currently available implementation + of this interface is + dbus-daemon. + The source directory is part of + goetia-base. +
+ + 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 @@ + + + + + + +
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This service starts a session
+ dbus-daemon.
+ It is important to set the environment variable
+ DBUS_SESSION_BUS_ADDRESS,
+ so other services depending on dbus-daemon can find it.
+
+ The DBUS_SESSION_BUS_ADDRESS environment variable
+ should be set at
+ ${HOME}/@userconfdir@/@USERTREE@/env/DBUS_SESSION_BUS_ADDRESS,
+ by writing the address into this file
+ (see configuration directory).
+ It is recomended to set
+ ${HOME}/@userconfdir@/@USERTREE@/env/DBUS_SESSION_BUS_ADDRESS,
+ to
+ @tmpusdir@/@usrrundir@/@USER@/@USERTREE@/session-bus
+ (see runtime directory).
+
+ goetia-base
+
+ goetia
+
+ Software
+
+ 0x53.net
+
+ This service dynamically creates the directory
+ specified in the environment variable
+ XDG_RUNTIME_DIR.
+
+ Starting this service creates the directory + and sets the proper permissions, + stopping it deletes it. +
+
+ It is recommended to set
+ XDG_RUNTIME_DIR
+ to the
+ @USER@/@USERTREE@/xdg-runtime-dir
+ subdirectory of the
+ user runtime directory.
+ This allows to follow the
+ XDG Base Directory Specification.
+
+ If more than one
+ user supervision tree
+ per user is used to have multiple
+ sessions
+ with a distinct UI server, audio server, etc.
+ It makes sense for each session to have its own,
+ distinct xdg-runtime-dir,
+ since it is often used for sockets and temporary files
+ of said UI server, audio server, etc.
+ Setting
+ XDG_RUNTIME_DIR
+ as described above, allows for this.
+ Note, however, that this deviates from the
+ XDG Base Directory Specification.
+
+ All user services writing to or reading from
+ XDG_RUNTIME_DIR
+ should depend on this service.
+