aboutsummaryrefslogtreecommitdiffstats
path: root/doc/s6.conf.html
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-09-08 16:12:24 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-09-08 16:12:24 +0000
commit5eefb9aae5e9e88b200ff7fcc445120c5ee2998b (patch)
treeaa0bc83b0b5a86dd9a1aab781f36f2c85c8a6b5c /doc/s6.conf.html
parent125cf07d0b5139476b1f25fa4ba5a0782818eacc (diff)
downloads6-frontend-5eefb9aae5e9e88b200ff7fcc445120c5ee2998b.tar.gz
Improve user service management
- Separate /etc/s6.conf from /etc/s6-user.conf - Have --system|--user handled at the s6 level, not the s6-frontend level - Also have --help rewritten at the s6 level because it's cleaner - On --user, process the config file with sed to import XDG variables - Do not use s6f_user_get_confdirs() anymore (can remove it if we decide to stick with this design), --user now only changes the conf file, and only command-line options such as --scandir can override what is described in the conf file. - Document the current behaviour.
Diffstat (limited to 'doc/s6.conf.html')
-rw-r--r--doc/s6.conf.html47
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/s6.conf.html b/doc/s6.conf.html
index 8120603..9c15615 100644
--- a/doc/s6.conf.html
+++ b/doc/s6.conf.html
@@ -37,6 +37,15 @@ are located).
what the full path to the <em>foobar</em> service directory is.
</p>
+<h3> Location </h3>
+
+<p>
+The global <tt>/etc/s6.conf</tt> path for the configuration variable can be
+overridden by the admin at build time via the <tt>--conffile</tt> configure
+option, and by the user at <a href="s6.html">s6</a> run time via the
+<tt>S6_CONF</tt> environment variable.
+</p>
+
<h2 id="description"> Description </h2>
<p>
@@ -107,5 +116,43 @@ The default is <strong>root</strong> and that is fine, but distributions
may want to set it to an unprivileged user. </dd>
</dl>
+<h2 id="userservices"> User services </h2>
+
+<p>
+ If <a href="s6.html">s6</a> is invoked with the <tt>--user</tt> flag,
+the <tt>/etc/s6-user.conf</tt> file is used instead, with the same
+syntax and the same variables, but additionally, the following
+environment variables, if present, are substituted:
+</p>
+
+<ul>
+ <li> <tt>XDG_RUNTIME_DIR</tt> </li>
+ <li> <tt>XDG_DATA_HOME</tt> </li>
+ <li> <tt>XDG_CONFIG_HOME</tt> </li>
+ <li> <tt>XDG_STATE_HOME</tt> </li>
+ <li> <tt>XDG_CACHE_HOME</tt> </li>
+</ul>
+
+<p>
+ That means that a global <tt>/etc/s6-user.conf</tt> file can for instance declare
+</p>
+
+<pre>
+ scandir=${XDG_RUNTIME_DIR}/service
+</pre>
+
+<p>
+and the correct location for the <tt>scandir</tt> will be obtained, for every user.
+</p>
+
+<h3> Location </h3>
+
+<p>
+The global <tt>/etc/s6-user.conf</tt> path for the configuration variable can be
+overridden by the admin at build time via the <tt>--userconffile</tt> configure
+option, and by the user at <a href="s6.html">s6</a> run time via the
+<tt>S6_USER_CONF</tt> environment variable.
+</p>
+
</body>
</html>