[s6-frontend] Various suggestions on usability and features

From: Drew DeVault <drew_at_ddevault.org>
Date: Tue, 29 Sep 2026 16:30:53 +0200

A few things that I ran into or thought about while rolling out s6 for a
new distribution I'm working on.

Bundles are not very visible to users after they're set up. It would be
nice if they showed up in s6 set status.

It would be nicer still if dependencies of bundles could be optionally
hidden. For instance, the bundle created with a pipeline is generally
the one that users should be enabling or disabling, if I have
foobar-daemon and foobar-log in a pipeline named foobar you usually
don't want to address -daemon or -log directly. It could be nice to show
just the bundle, and maybe the contents behind a flag.

It would also be nice to have a subcommand for s6 and s6-rc which shows
whatever directories (e.g. scandir) it's configured to use, either at
compile-time or via the nearest s6.conf.

We discussed optional dependencies at some length in #s6. Refer to the
logs around September 27th. I think they're a good idea and would
simplify/solve some problems for packagers.

Also discussed on #s6 was better support for static instantiated
services. Right now I have a bit of a hack, I have the following helper
script:

        #!/bin/execlineb -s1
        ifelse -n { eltest $1 =~ _at_ } {
                fdmove 1 2
                foreground { echo "Error: service" $1 "expects _at_instance" }
                exit 1
        }
        pipeline { echo $1 } cut -d_at_ -f2-

Then I have a base service like so:

        #!/bin/execlineb -s1
        backtick -E tty { /usr/libexec/init/instance $1 }
        backtick -E type { /usr/libexec/init/gettyconf $tty }
        foreground { ttyflags $tty }
        /usr/libexec/getty $type $tty

So I symlink it to a service directory named getty_at_ttyS0 or whatever and
it works. It would be nice if this was more of a first-class feature,
though, and in particular it would be nice to hide the (unusuable on its
own) base service from e.g. s6 set list.

It would also be nice to have something like s6 set diff, which shows
you the difference between the set you're configuring and the committed
set.

That's all for now!

Received on Tue Sep 29 2026 - 16:30:53 CEST

This archive was generated by hypermail 2.4.0 : Tue Sep 29 2026 - 16:31:37 CEST