Re: s6-rc-repo and initializing compiled databases

From: kurth4cker <kurth4cker_at_gmail.com>
Date: Fri, 24 Apr 2026 21:04:48 +0300

On Fri, Apr 24, 2026 at 02:35:31PM -0300, Guillermo wrote:
> Middle level: The s6-rc-repo-* commands. If you use these directly,
> they can take care of running s6-rc-compile and s6-rc-update for you.
> You need s6-rc-0.6.0.0 to get them, but not s6-frontend.
I probably looking for a middle level of s6-rc-init.

> First observation: the definitions in your service store don't have a
> 'dependencies.d' directory, so you are not really handling
> dependencies between services yet. You are using one convenience
> feature of s6-rc, though: service bundles (with 'river-bundle').
Yes I am starting with most basic things. For examble, probably
beansprout should be essential. I'm just trying to setup first.

> So, unless there is a better way to do it I haven't thought of, you
> either need two repositories, or, as you did it, one repository with
> two sets, and, if using s6-frontend to manage the repository, two
> different (in non-default places for "user services", so you need the
> S6_FRONTEND_CONF environment variable) configuration files. Because
> you at least need two different values of the 'livedir' variable when
> using 's6' commands. Either that, or one single configuration file but
> an explicit -l (--livedir) option for the command when you need to
> override the configured value of 'livedir'.
If I understand correctly, I can't use s6-frontend in this situation. I
was thinking about defining different sets for different kind of
environments and use them whenever environment is needed. Different X11
window managers, wayland compositors, a specific dev environment.. I'm
not quite sure.

> what was your motivation for setting up two
> different s6-rc "instances" for your services? Or, rephrasing the
> question differently, what is so special about tmux, compared to
> beansprout, foot and gammastep? Or is tmux not a "user service" really
> (but you are grouping it with those in the same scan directory
> anyway)?
tmux will be started at user login. It is not river session specific.
beansprout, gammastep and foot are all depend on $WAYLAND_DISPLAY which
is determined and set by river at startup. Currently river starts a
specific s6-svscan tree whenever it starts. So environment is passed to
all tree and this programs.


> 2) Starting what has to be started when you log in and the computer
> starts River. You need some scripting for this, yes. This means:
>
> 2a) Creating the needed scan directory / directories in $XDG_RUNTIME_DIR.
> 2b) Starting the corresponding s6-svscan processes.
river's configuration script handles these two.

> 2c) Running s6-rc-init for each needed live state directory when
> s6-svscan is ready, and running at least one 's6-rc start' command per
> livedir to bring the necessary services up (exactly one command if the
> database has conveniently defined service bundles).
Probably I only need to add this. I'm confused about s6-rc-init only.
Since it does not have a wrapper at middle level.
Received on Fri Apr 24 2026 - 20:04:48 CEST

This archive was generated by hypermail 2.4.0 : Fri Apr 24 2026 - 20:05:27 CEST