aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorPS <p@0x53.net>2026-02-01 12:02:03 +0100
committerPS <p@0x53.net>2026-02-01 12:02:03 +0100
commit980c5408489a3a3a56e49c3873f1bce6a0155cad (patch)
tree91df5fa62e7eca03d04b8ed114b20b337b99a556 /src/lib
downloadgoetia-base-980c5408489a3a3a56e49c3873f1bce6a0155cad.tar.gz
goetia-base-980c5408489a3a3a56e49c3873f1bce6a0155cad.tar.bz2
goetia-base-980c5408489a3a3a56e49c3873f1bce6a0155cad.zip
version 0.2.0.0
Diffstat (limited to 'src/lib')
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/SIGINT5
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/SIGPWR5
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/SIGQUIT2
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/SIGTERM2
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/SIGUSR15
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/SIGUSR25
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/SIGWINCH2
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/crash10
-rwxr-xr-xsrc/lib/service/system/.s6-svscan/finish9
-rw-r--r--src/lib/service/system/goetia-runner/notification-fd1
-rwxr-xr-xsrc/lib/service/system/goetia-runner/run10
-rw-r--r--src/lib/service/system/s6-svscan-log-console/notification-fd1
-rwxr-xr-xsrc/lib/service/system/s6-svscan-log-console/run16
-rw-r--r--src/lib/service/system/s6-svscan-log/notification-fd1
-rwxr-xr-xsrc/lib/service/system/s6-svscan-log/run15
-rwxr-xr-xsrc/lib/service/user/.s6-svscan/SIGTERM5
-rw-r--r--src/lib/service/user/goetia-runner/notification-fd1
-rwxr-xr-xsrc/lib/service/user/goetia-runner/run10
-rw-r--r--src/lib/service/user/s6-svscan-log/notification-fd1
-rwxr-xr-xsrc/lib/service/user/s6-svscan-log/run17
-rw-r--r--src/lib/source/system/admin/greetd-srv/dependencies.d/mount-run0
-rw-r--r--src/lib/source/system/admin/greetd-srv/dependencies.d/seat-manager0
-rw-r--r--src/lib/source/system/admin/greetd-srv/dependencies.d/udev0
-rw-r--r--src/lib/source/system/admin/greetd-srv/producer-for1
-rw-r--r--src/lib/source/system/admin/greetd-srv/run8
-rw-r--r--src/lib/source/system/admin/greetd-srv/type1
-rw-r--r--src/lib/source/system/admin/seatd-srv/dependencies.d/mount-dev0
-rw-r--r--src/lib/source/system/admin/seatd-srv/dependencies.d/mount-run0
-rw-r--r--src/lib/source/system/admin/seatd-srv/notification-fd1
-rw-r--r--src/lib/source/system/admin/seatd-srv/producer-for1
-rw-r--r--src/lib/source/system/admin/seatd-srv/run13
-rw-r--r--src/lib/source/system/admin/seatd-srv/type1
-rw-r--r--src/lib/source/system/bundle/default/type1
-rw-r--r--src/lib/source/system/bundle/firewall/type1
-rw-r--r--src/lib/source/system/bundle/mount/type1
-rw-r--r--src/lib/source/system/bundle/networking/type1
-rw-r--r--src/lib/source/system/bundle/seat-manager/type1
-rw-r--r--src/lib/source/system/bundle/system-bus/type1
-rw-r--r--src/lib/source/system/bundle/udev/type1
-rw-r--r--src/lib/source/system/cron/dcron-srv/producer-for1
-rw-r--r--src/lib/source/system/cron/dcron-srv/run13
-rw-r--r--src/lib/source/system/cron/dcron-srv/type1
-rw-r--r--src/lib/source/system/db/mariadbd-srv/producer-for1
-rw-r--r--src/lib/source/system/db/mariadbd-srv/run8
-rw-r--r--src/lib/source/system/db/mariadbd-srv/type1
-rw-r--r--src/lib/source/system/db/mysqld-srv/producer-for1
-rw-r--r--src/lib/source/system/db/mysqld-srv/run8
-rw-r--r--src/lib/source/system/db/mysqld-srv/type1
-rw-r--r--src/lib/source/system/net/dhcpcd-srv/dependencies.d/udev0
-rw-r--r--src/lib/source/system/net/dhcpcd-srv/producer-for1
-rw-r--r--src/lib/source/system/net/dhcpcd-srv/run9
-rw-r--r--src/lib/source/system/net/dhcpcd-srv/type1
-rw-r--r--src/lib/source/system/net/wpa_supplicant-srv/dependencies.d/system-bus0
-rw-r--r--src/lib/source/system/net/wpa_supplicant-srv/producer-for1
-rw-r--r--src/lib/source/system/net/wpa_supplicant-srv/run10
-rw-r--r--src/lib/source/system/net/wpa_supplicant-srv/type1
-rw-r--r--src/lib/source/system/ntp/chronyd-srv/dependencies.d/networking0
-rw-r--r--src/lib/source/system/ntp/chronyd-srv/producer-for1
-rw-r--r--src/lib/source/system/ntp/chronyd-srv/run12
-rw-r--r--src/lib/source/system/ntp/chronyd-srv/type1
-rw-r--r--src/lib/source/system/other/cupsd-srv/producer-for1
-rw-r--r--src/lib/source/system/other/cupsd-srv/run11
-rw-r--r--src/lib/source/system/other/cupsd-srv/type1
-rw-r--r--src/lib/source/system/other/dbus-daemon-srv/notification-fd1
-rw-r--r--src/lib/source/system/other/dbus-daemon-srv/producer-for1
-rw-r--r--src/lib/source/system/other/dbus-daemon-srv/run15
-rw-r--r--src/lib/source/system/other/dbus-daemon-srv/type1
-rw-r--r--src/lib/source/system/other/sshd-srv/dependencies.d/networking0
-rw-r--r--src/lib/source/system/other/sshd-srv/producer-for1
-rw-r--r--src/lib/source/system/other/sshd-srv/run17
-rw-r--r--src/lib/source/system/other/sshd-srv/type1
-rw-r--r--src/lib/source/system/web/gate-srv/dependencies.d/udev0
-rw-r--r--src/lib/source/system/web/gate-srv/producer-for1
-rw-r--r--src/lib/source/system/web/gate-srv/run9
-rw-r--r--src/lib/source/system/web/gate-srv/type1
-rw-r--r--src/lib/source/system/web/nginx-srv/producer-for1
-rw-r--r--src/lib/source/system/web/nginx-srv/run9
-rw-r--r--src/lib/source/system/web/nginx-srv/type1
-rw-r--r--src/lib/source/system/web/radicale-srv/dependencies.d/mount0
-rw-r--r--src/lib/source/system/web/radicale-srv/producer-for1
-rw-r--r--src/lib/source/system/web/radicale-srv/run10
-rw-r--r--src/lib/source/system/web/radicale-srv/type1
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire0
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir0
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-pulse-srv/producer-for1
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-pulse-srv/run10
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-pulse-srv/type1
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir0
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-srv/notification-fd1
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-srv/producer-for1
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-srv/run10
-rw-r--r--src/lib/source/user/audio-daemon/pipewire-srv/type1
-rw-r--r--src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire0
-rw-r--r--src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/audio-daemon/wireplumber-srv/producer-for1
-rw-r--r--src/lib/source/user/audio-daemon/wireplumber-srv/run8
-rw-r--r--src/lib/source/user/audio-daemon/wireplumber-srv/type1
-rw-r--r--src/lib/source/user/bundle/audio/type1
-rw-r--r--src/lib/source/user/bundle/compositor/type1
-rw-r--r--src/lib/source/user/bundle/default/type1
-rw-r--r--src/lib/source/user/bundle/session-bus/type1
-rw-r--r--src/lib/source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/clipboard-manager/wl-clip-persist-srv/producer-for1
-rw-r--r--src/lib/source/user/clipboard-manager/wl-clip-persist-srv/run9
-rw-r--r--src/lib/source/user/clipboard-manager/wl-clip-persist-srv/type1
-rw-r--r--src/lib/source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir0
-rw-r--r--src/lib/source/user/compositor/Hyprland-srv/finish8
-rw-r--r--src/lib/source/user/compositor/Hyprland-srv/producer-for1
-rw-r--r--src/lib/source/user/compositor/Hyprland-srv/run8
-rw-r--r--src/lib/source/user/compositor/Hyprland-srv/type1
-rw-r--r--src/lib/source/user/desktop-widget/waybar-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/desktop-widget/waybar-srv/notification-fd1
-rw-r--r--src/lib/source/user/desktop-widget/waybar-srv/producer-for1
-rw-r--r--src/lib/source/user/desktop-widget/waybar-srv/run8
-rw-r--r--src/lib/source/user/desktop-widget/waybar-srv/type1
-rw-r--r--src/lib/source/user/desktop-widget/yambar-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/desktop-widget/yambar-srv/notification-fd1
-rw-r--r--src/lib/source/user/desktop-widget/yambar-srv/producer-for1
-rw-r--r--src/lib/source/user/desktop-widget/yambar-srv/run10
-rw-r--r--src/lib/source/user/desktop-widget/yambar-srv/type1
-rw-r--r--src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/notification-daemon/dunst-srv/notification-fd1
-rw-r--r--src/lib/source/user/notification-daemon/dunst-srv/producer-for1
-rw-r--r--src/lib/source/user/notification-daemon/dunst-srv/run8
-rw-r--r--src/lib/source/user/notification-daemon/dunst-srv/type1
-rw-r--r--src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/notification-daemon/fnott-srv/notification-fd1
-rw-r--r--src/lib/source/user/notification-daemon/fnott-srv/producer-for1
-rw-r--r--src/lib/source/user/notification-daemon/fnott-srv/run10
-rw-r--r--src/lib/source/user/notification-daemon/fnott-srv/type1
-rw-r--r--src/lib/source/user/notification-daemon/mako-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/notification-daemon/mako-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/notification-daemon/mako-srv/notification-fd1
-rw-r--r--src/lib/source/user/notification-daemon/mako-srv/producer-for1
-rw-r--r--src/lib/source/user/notification-daemon/mako-srv/run8
-rw-r--r--src/lib/source/user/notification-daemon/mako-srv/type1
-rw-r--r--src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/notification-daemon/swaync-srv/notification-fd1
-rw-r--r--src/lib/source/user/notification-daemon/swaync-srv/producer-for1
-rw-r--r--src/lib/source/user/notification-daemon/swaync-srv/run8
-rw-r--r--src/lib/source/user/notification-daemon/swaync-srv/type1
-rw-r--r--src/lib/source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/other/at-spi-bus-launcher-srv/producer-for1
-rw-r--r--src/lib/source/user/other/at-spi-bus-launcher-srv/run8
-rw-r--r--src/lib/source/user/other/at-spi-bus-launcher-srv/type1
-rw-r--r--src/lib/source/user/other/at-spi2-registryd-srv/producer-for1
-rw-r--r--src/lib/source/user/other/at-spi2-registryd-srv/run8
-rw-r--r--src/lib/source/user/other/at-spi2-registryd-srv/type1
-rw-r--r--src/lib/source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir0
-rw-r--r--src/lib/source/user/other/dbus-daemon-srv/notification-fd1
-rw-r--r--src/lib/source/user/other/dbus-daemon-srv/producer-for1
-rw-r--r--src/lib/source/user/other/dbus-daemon-srv/run16
-rw-r--r--src/lib/source/user/other/dbus-daemon-srv/type1
-rw-r--r--src/lib/source/user/other/dconf-service-srv/producer-for1
-rw-r--r--src/lib/source/user/other/dconf-service-srv/run8
-rw-r--r--src/lib/source/user/other/dconf-service-srv/type1
-rw-r--r--src/lib/source/user/other/foot-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/other/foot-srv/notification-fd1
-rw-r--r--src/lib/source/user/other/foot-srv/producer-for1
-rw-r--r--src/lib/source/user/other/foot-srv/run11
-rw-r--r--src/lib/source/user/other/foot-srv/type1
-rw-r--r--src/lib/source/user/other/mpd-srv/dependencies.d/audio0
-rw-r--r--src/lib/source/user/other/mpd-srv/producer-for1
-rw-r--r--src/lib/source/user/other/mpd-srv/run10
-rw-r--r--src/lib/source/user/other/mpd-srv/type1
-rw-r--r--src/lib/source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/wallpaper-daemon/hyprpaper-srv/producer-for1
-rw-r--r--src/lib/source/user/wallpaper-daemon/hyprpaper-srv/run8
-rw-r--r--src/lib/source/user/wallpaper-daemon/hyprpaper-srv/type1
-rw-r--r--src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for1
-rw-r--r--src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/run8
-rw-r--r--src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/type1
-rw-r--r--src/lib/source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor0
-rw-r--r--src/lib/source/user/xdg/xdg-desktop-portal-srv/producer-for1
-rw-r--r--src/lib/source/user/xdg/xdg-desktop-portal-srv/run8
-rw-r--r--src/lib/source/user/xdg/xdg-desktop-portal-srv/type1
-rw-r--r--src/lib/source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus0
-rw-r--r--src/lib/source/user/xdg/xdg-document-portal-srv/producer-for1
-rw-r--r--src/lib/source/user/xdg/xdg-document-portal-srv/run8
-rw-r--r--src/lib/source/user/xdg/xdg-document-portal-srv/type1
-rw-r--r--src/lib/source/user/xdg/xdg-permission-store-srv/producer-for1
-rw-r--r--src/lib/source/user/xdg/xdg-permission-store-srv/run8
-rw-r--r--src/lib/source/user/xdg/xdg-permission-store-srv/type1
-rw-r--r--src/lib/source/user/xdg/xdg-runtime-dir/down10
-rw-r--r--src/lib/source/user/xdg/xdg-runtime-dir/type1
-rw-r--r--src/lib/source/user/xdg/xdg-runtime-dir/up10
192 files changed, 596 insertions, 0 deletions
diff --git a/src/lib/service/system/.s6-svscan/SIGINT b/src/lib/service/system/.s6-svscan/SIGINT
new file mode 100755
index 0000000..7b00dd5
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/SIGINT
@@ -0,0 +1,5 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+system-shutdown -r
diff --git a/src/lib/service/system/.s6-svscan/SIGPWR b/src/lib/service/system/.s6-svscan/SIGPWR
new file mode 100755
index 0000000..b7e4956
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/SIGPWR
@@ -0,0 +1,5 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+system-shutdown -p
diff --git a/src/lib/service/system/.s6-svscan/SIGQUIT b/src/lib/service/system/.s6-svscan/SIGQUIT
new file mode 100755
index 0000000..4d6fd2f
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/SIGQUIT
@@ -0,0 +1,2 @@
+#!@shebangdir@/execlineb -P
+
diff --git a/src/lib/service/system/.s6-svscan/SIGTERM b/src/lib/service/system/.s6-svscan/SIGTERM
new file mode 100755
index 0000000..4d6fd2f
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/SIGTERM
@@ -0,0 +1,2 @@
+#!@shebangdir@/execlineb -P
+
diff --git a/src/lib/service/system/.s6-svscan/SIGUSR1 b/src/lib/service/system/.s6-svscan/SIGUSR1
new file mode 100755
index 0000000..b7e4956
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/SIGUSR1
@@ -0,0 +1,5 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+system-shutdown -p
diff --git a/src/lib/service/system/.s6-svscan/SIGUSR2 b/src/lib/service/system/.s6-svscan/SIGUSR2
new file mode 100755
index 0000000..cf21071
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/SIGUSR2
@@ -0,0 +1,5 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+system-shutdown -h
diff --git a/src/lib/service/system/.s6-svscan/SIGWINCH b/src/lib/service/system/.s6-svscan/SIGWINCH
new file mode 100755
index 0000000..4d6fd2f
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/SIGWINCH
@@ -0,0 +1,2 @@
+#!@shebangdir@/execlineb -P
+
diff --git a/src/lib/service/system/.s6-svscan/crash b/src/lib/service/system/.s6-svscan/crash
new file mode 100755
index 0000000..9fa8bd4
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/crash
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+redirfd -w 2 /dev/console
+fdmove -c 1 2
+
+foreground { echo "s6-svscan crashed. Rebooting." }
+
+linux-powertool -r
diff --git a/src/lib/service/system/.s6-svscan/finish b/src/lib/service/system/.s6-svscan/finish
new file mode 100755
index 0000000..fa3654c
--- /dev/null
+++ b/src/lib/service/system/.s6-svscan/finish
@@ -0,0 +1,9 @@
+#!@shebangdir@/execlineb -P
+
+
+redirfd -w 2 /dev/console
+fdmove -c 1 2
+
+foreground { echo "s6-svscan exited. Rebooting." }
+
+linux-powertool -r
diff --git a/src/lib/service/system/goetia-runner/notification-fd b/src/lib/service/system/goetia-runner/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/service/system/goetia-runner/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/service/system/goetia-runner/run b/src/lib/service/system/goetia-runner/run
new file mode 100755
index 0000000..faf8623
--- /dev/null
+++ b/src/lib/service/system/goetia-runner/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+fdmove 1 3
+
+s6-ipcserver -1 -a 0700 -c 1 -- s
+
+s6-sudod -dt30000 --
diff --git a/src/lib/service/system/s6-svscan-log-console/notification-fd b/src/lib/service/system/s6-svscan-log-console/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/service/system/s6-svscan-log-console/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/service/system/s6-svscan-log-console/run b/src/lib/service/system/s6-svscan-log-console/run
new file mode 100755
index 0000000..63d32ba
--- /dev/null
+++ b/src/lib/service/system/s6-svscan-log-console/run
@@ -0,0 +1,16 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 1 2
+redirfd -a 1 /dev/console
+
+if { mkdir -p -m750 -- @tmpfsdir@/@sysrundir@/log/uncaught-logs }
+# fifo is created in prepare-svscan
+if { chown -R @loguser@:@loguser@ @tmpfsdir@/@sysrundir@/log fifo }
+
+s6-setuidgid @loguser@
+
+redirfd -rnb 0 fifo
+
+s6-log -bpd3 -- 1 @logconfig@ @tmpfsdir@/@sysrundir@/log/uncaught-logs
diff --git a/src/lib/service/system/s6-svscan-log/notification-fd b/src/lib/service/system/s6-svscan-log/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/service/system/s6-svscan-log/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/service/system/s6-svscan-log/run b/src/lib/service/system/s6-svscan-log/run
new file mode 100755
index 0000000..e8c4022
--- /dev/null
+++ b/src/lib/service/system/s6-svscan-log/run
@@ -0,0 +1,15 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 1 2
+
+if { mkdir -p -m750 -- @tmpfsdir@/@sysrundir@/log/uncaught-logs }
+# fifo is created in prepare-svscan
+if { chown -R @loguser@:@loguser@ @tmpfsdir@/@sysrundir@/log fifo }
+
+s6-setuidgid @loguser@
+
+redirfd -rnb 0 fifo
+
+s6-log -bpd3 -- @logconfig@ @tmpfsdir@/@sysrundir@/log/uncaught-logs
diff --git a/src/lib/service/user/.s6-svscan/SIGTERM b/src/lib/service/user/.s6-svscan/SIGTERM
new file mode 100755
index 0000000..2098c8c
--- /dev/null
+++ b/src/lib/service/user/.s6-svscan/SIGTERM
@@ -0,0 +1,5 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+user-shutdown
diff --git a/src/lib/service/user/goetia-runner/notification-fd b/src/lib/service/user/goetia-runner/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/service/user/goetia-runner/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/service/user/goetia-runner/run b/src/lib/service/user/goetia-runner/run
new file mode 100755
index 0000000..abbc6c0
--- /dev/null
+++ b/src/lib/service/user/goetia-runner/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+fdmove 1 3
+
+s6-ipcserver -1 -a 0700 -c 1 -- s
+
+s6-sudod -d -t30000 --
diff --git a/src/lib/service/user/s6-svscan-log/notification-fd b/src/lib/service/user/s6-svscan-log/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/service/user/s6-svscan-log/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/service/user/s6-svscan-log/run b/src/lib/service/user/s6-svscan-log/run
new file mode 100755
index 0000000..2c40369
--- /dev/null
+++ b/src/lib/service/user/s6-svscan-log/run
@@ -0,0 +1,17 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 1 2
+
+multisubstitute {
+ importas -Si USER
+ importas -Si HOME
+ importas -Si USERTREE
+}
+
+if { mkdir -p -m 700 -- ${HOME}/@usrlogdir@/${USERTREE}/uncaught-logs }
+
+redirfd -rnb 0 fifo
+
+s6-log -bpd3 -- @logconfig@ ${HOME}/@usrlogdir@/${USERTREE}/uncaught-logs
diff --git a/src/lib/source/system/admin/greetd-srv/dependencies.d/mount-run b/src/lib/source/system/admin/greetd-srv/dependencies.d/mount-run
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/admin/greetd-srv/dependencies.d/mount-run
diff --git a/src/lib/source/system/admin/greetd-srv/dependencies.d/seat-manager b/src/lib/source/system/admin/greetd-srv/dependencies.d/seat-manager
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/admin/greetd-srv/dependencies.d/seat-manager
diff --git a/src/lib/source/system/admin/greetd-srv/dependencies.d/udev b/src/lib/source/system/admin/greetd-srv/dependencies.d/udev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/admin/greetd-srv/dependencies.d/udev
diff --git a/src/lib/source/system/admin/greetd-srv/producer-for b/src/lib/source/system/admin/greetd-srv/producer-for
new file mode 100644
index 0000000..2c128e2
--- /dev/null
+++ b/src/lib/source/system/admin/greetd-srv/producer-for
@@ -0,0 +1 @@
+greetd-log
diff --git a/src/lib/source/system/admin/greetd-srv/run b/src/lib/source/system/admin/greetd-srv/run
new file mode 100644
index 0000000..e5411fc
--- /dev/null
+++ b/src/lib/source/system/admin/greetd-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://sr.ht/~kennylevinsen/greetd/
+
+fdmove -c 2 1
+
+greetd
diff --git a/src/lib/source/system/admin/greetd-srv/type b/src/lib/source/system/admin/greetd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/admin/greetd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/admin/seatd-srv/dependencies.d/mount-dev b/src/lib/source/system/admin/seatd-srv/dependencies.d/mount-dev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/admin/seatd-srv/dependencies.d/mount-dev
diff --git a/src/lib/source/system/admin/seatd-srv/dependencies.d/mount-run b/src/lib/source/system/admin/seatd-srv/dependencies.d/mount-run
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/admin/seatd-srv/dependencies.d/mount-run
diff --git a/src/lib/source/system/admin/seatd-srv/notification-fd b/src/lib/source/system/admin/seatd-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/system/admin/seatd-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/system/admin/seatd-srv/producer-for b/src/lib/source/system/admin/seatd-srv/producer-for
new file mode 100644
index 0000000..c2c15c5
--- /dev/null
+++ b/src/lib/source/system/admin/seatd-srv/producer-for
@@ -0,0 +1 @@
+seatd-log
diff --git a/src/lib/source/system/admin/seatd-srv/run b/src/lib/source/system/admin/seatd-srv/run
new file mode 100644
index 0000000..a1101bf
--- /dev/null
+++ b/src/lib/source/system/admin/seatd-srv/run
@@ -0,0 +1,13 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://sr.ht/~kennylevinsen/seatd/
+
+fdmove -c 2 1
+
+if { s6-svperms -g video -E video . }
+
+seatd
+ -n3
+ -u root
+ -g seat
diff --git a/src/lib/source/system/admin/seatd-srv/type b/src/lib/source/system/admin/seatd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/admin/seatd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/bundle/default/type b/src/lib/source/system/bundle/default/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/system/bundle/default/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/system/bundle/firewall/type b/src/lib/source/system/bundle/firewall/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/system/bundle/firewall/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/system/bundle/mount/type b/src/lib/source/system/bundle/mount/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/system/bundle/mount/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/system/bundle/networking/type b/src/lib/source/system/bundle/networking/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/system/bundle/networking/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/system/bundle/seat-manager/type b/src/lib/source/system/bundle/seat-manager/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/system/bundle/seat-manager/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/system/bundle/system-bus/type b/src/lib/source/system/bundle/system-bus/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/system/bundle/system-bus/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/system/bundle/udev/type b/src/lib/source/system/bundle/udev/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/system/bundle/udev/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/system/cron/dcron-srv/producer-for b/src/lib/source/system/cron/dcron-srv/producer-for
new file mode 100644
index 0000000..742632d
--- /dev/null
+++ b/src/lib/source/system/cron/dcron-srv/producer-for
@@ -0,0 +1 @@
+dcron-log
diff --git a/src/lib/source/system/cron/dcron-srv/run b/src/lib/source/system/cron/dcron-srv/run
new file mode 100644
index 0000000..cd8101d
--- /dev/null
+++ b/src/lib/source/system/cron/dcron-srv/run
@@ -0,0 +1,13 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# http://www.jimpryor.net/linux/dcron.html
+
+# Will only work with the new fork (version 4.6 or newer)
+# https://github.com/ptchinster/dcron
+# See issue https://github.com/dubiousjim/dcron/issues/13
+
+fdmove -c 2 1
+
+crond
+ -f
diff --git a/src/lib/source/system/cron/dcron-srv/type b/src/lib/source/system/cron/dcron-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/cron/dcron-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/db/mariadbd-srv/producer-for b/src/lib/source/system/db/mariadbd-srv/producer-for
new file mode 100644
index 0000000..4e3f057
--- /dev/null
+++ b/src/lib/source/system/db/mariadbd-srv/producer-for
@@ -0,0 +1 @@
+mariadbd-log
diff --git a/src/lib/source/system/db/mariadbd-srv/run b/src/lib/source/system/db/mariadbd-srv/run
new file mode 100644
index 0000000..25408cf
--- /dev/null
+++ b/src/lib/source/system/db/mariadbd-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://mariadb.org/
+
+fdmove -c 2 1
+
+mariadbd
diff --git a/src/lib/source/system/db/mariadbd-srv/type b/src/lib/source/system/db/mariadbd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/db/mariadbd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/db/mysqld-srv/producer-for b/src/lib/source/system/db/mysqld-srv/producer-for
new file mode 100644
index 0000000..031e008
--- /dev/null
+++ b/src/lib/source/system/db/mysqld-srv/producer-for
@@ -0,0 +1 @@
+mysqld-log
diff --git a/src/lib/source/system/db/mysqld-srv/run b/src/lib/source/system/db/mysqld-srv/run
new file mode 100644
index 0000000..b3fe24f
--- /dev/null
+++ b/src/lib/source/system/db/mysqld-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://www.mysql.com/
+
+fdmove -c 2 1
+
+mysqld
diff --git a/src/lib/source/system/db/mysqld-srv/type b/src/lib/source/system/db/mysqld-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/db/mysqld-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/net/dhcpcd-srv/dependencies.d/udev b/src/lib/source/system/net/dhcpcd-srv/dependencies.d/udev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/net/dhcpcd-srv/dependencies.d/udev
diff --git a/src/lib/source/system/net/dhcpcd-srv/producer-for b/src/lib/source/system/net/dhcpcd-srv/producer-for
new file mode 100644
index 0000000..a8b3dd1
--- /dev/null
+++ b/src/lib/source/system/net/dhcpcd-srv/producer-for
@@ -0,0 +1 @@
+dhcpcd-log
diff --git a/src/lib/source/system/net/dhcpcd-srv/run b/src/lib/source/system/net/dhcpcd-srv/run
new file mode 100644
index 0000000..1da5b0c
--- /dev/null
+++ b/src/lib/source/system/net/dhcpcd-srv/run
@@ -0,0 +1,9 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://roy.marples.name/projects/dhcpcd
+
+fdmove -c 2 1
+
+dhcpcd
+ -B
diff --git a/src/lib/source/system/net/dhcpcd-srv/type b/src/lib/source/system/net/dhcpcd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/net/dhcpcd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/net/wpa_supplicant-srv/dependencies.d/system-bus b/src/lib/source/system/net/wpa_supplicant-srv/dependencies.d/system-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/net/wpa_supplicant-srv/dependencies.d/system-bus
diff --git a/src/lib/source/system/net/wpa_supplicant-srv/producer-for b/src/lib/source/system/net/wpa_supplicant-srv/producer-for
new file mode 100644
index 0000000..17413d8
--- /dev/null
+++ b/src/lib/source/system/net/wpa_supplicant-srv/producer-for
@@ -0,0 +1 @@
+wpa_supplicant-log
diff --git a/src/lib/source/system/net/wpa_supplicant-srv/run b/src/lib/source/system/net/wpa_supplicant-srv/run
new file mode 100644
index 0000000..5585590
--- /dev/null
+++ b/src/lib/source/system/net/wpa_supplicant-srv/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://w1.fi/wpa_supplicant/
+
+fdmove -c 2 1
+
+wpa_supplicant
+ -c /etc/wpa_supplicant/wpa_supplicant.conf
+ -g /run/wpa_supplicant
diff --git a/src/lib/source/system/net/wpa_supplicant-srv/type b/src/lib/source/system/net/wpa_supplicant-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/net/wpa_supplicant-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/ntp/chronyd-srv/dependencies.d/networking b/src/lib/source/system/ntp/chronyd-srv/dependencies.d/networking
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/ntp/chronyd-srv/dependencies.d/networking
diff --git a/src/lib/source/system/ntp/chronyd-srv/producer-for b/src/lib/source/system/ntp/chronyd-srv/producer-for
new file mode 100644
index 0000000..d1c93e7
--- /dev/null
+++ b/src/lib/source/system/ntp/chronyd-srv/producer-for
@@ -0,0 +1 @@
+chronyd-log
diff --git a/src/lib/source/system/ntp/chronyd-srv/run b/src/lib/source/system/ntp/chronyd-srv/run
new file mode 100644
index 0000000..5991339
--- /dev/null
+++ b/src/lib/source/system/ntp/chronyd-srv/run
@@ -0,0 +1,12 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://chrony-project.org/
+
+fdmove -c 2 1
+
+chronyd
+ -d
+ -u ntp
+ -f /etc/chrony/chrony.conf
+ -F 2
diff --git a/src/lib/source/system/ntp/chronyd-srv/type b/src/lib/source/system/ntp/chronyd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/ntp/chronyd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/other/cupsd-srv/producer-for b/src/lib/source/system/other/cupsd-srv/producer-for
new file mode 100644
index 0000000..7a53450
--- /dev/null
+++ b/src/lib/source/system/other/cupsd-srv/producer-for
@@ -0,0 +1 @@
+cupsd-log
diff --git a/src/lib/source/system/other/cupsd-srv/run b/src/lib/source/system/other/cupsd-srv/run
new file mode 100644
index 0000000..f9d84cd
--- /dev/null
+++ b/src/lib/source/system/other/cupsd-srv/run
@@ -0,0 +1,11 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://www.cups.org/
+
+fdmove -c 2 1
+
+cupsd
+ -f
+ -c /etc/cups/cupsd.conf
+ -s /etc/cups/cups-files.conf
diff --git a/src/lib/source/system/other/cupsd-srv/type b/src/lib/source/system/other/cupsd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/other/cupsd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/other/dbus-daemon-srv/notification-fd b/src/lib/source/system/other/dbus-daemon-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/system/other/dbus-daemon-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/system/other/dbus-daemon-srv/producer-for b/src/lib/source/system/other/dbus-daemon-srv/producer-for
new file mode 100644
index 0000000..f967dcb
--- /dev/null
+++ b/src/lib/source/system/other/dbus-daemon-srv/producer-for
@@ -0,0 +1 @@
+dbus-daemon-log
diff --git a/src/lib/source/system/other/dbus-daemon-srv/run b/src/lib/source/system/other/dbus-daemon-srv/run
new file mode 100644
index 0000000..73c44b6
--- /dev/null
+++ b/src/lib/source/system/other/dbus-daemon-srv/run
@@ -0,0 +1,15 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://www.freedesktop.org/wiki/Software/dbus/
+
+fdmove -c 2 1
+
+foreground { dbus-uuidgen --ensure=/etc/machine-id }
+foreground { install -m755 -g 81 -o 81 -d /run/dbus }
+
+dbus-daemon
+ --system
+ --nofork
+ --nopidfile
+ --print-pid=3
diff --git a/src/lib/source/system/other/dbus-daemon-srv/type b/src/lib/source/system/other/dbus-daemon-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/other/dbus-daemon-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/other/sshd-srv/dependencies.d/networking b/src/lib/source/system/other/sshd-srv/dependencies.d/networking
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/other/sshd-srv/dependencies.d/networking
diff --git a/src/lib/source/system/other/sshd-srv/producer-for b/src/lib/source/system/other/sshd-srv/producer-for
new file mode 100644
index 0000000..b8ef8c5
--- /dev/null
+++ b/src/lib/source/system/other/sshd-srv/producer-for
@@ -0,0 +1 @@
+sshd-log
diff --git a/src/lib/source/system/other/sshd-srv/run b/src/lib/source/system/other/sshd-srv/run
new file mode 100644
index 0000000..6282b83
--- /dev/null
+++ b/src/lib/source/system/other/sshd-srv/run
@@ -0,0 +1,17 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://www.openssh.com/
+
+fdmove -c 2 1
+
+foreground { /bin/ssh-keygen -A }
+
+ifelse -n { /bin/sshd -t }
+{
+ exit 125
+}
+
+/bin/sshd
+ -D
+ -e
diff --git a/src/lib/source/system/other/sshd-srv/type b/src/lib/source/system/other/sshd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/other/sshd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/web/gate-srv/dependencies.d/udev b/src/lib/source/system/web/gate-srv/dependencies.d/udev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/web/gate-srv/dependencies.d/udev
diff --git a/src/lib/source/system/web/gate-srv/producer-for b/src/lib/source/system/web/gate-srv/producer-for
new file mode 100644
index 0000000..7679182
--- /dev/null
+++ b/src/lib/source/system/web/gate-srv/producer-for
@@ -0,0 +1 @@
+gate-log
diff --git a/src/lib/source/system/web/gate-srv/run b/src/lib/source/system/web/gate-srv/run
new file mode 100644
index 0000000..af410c2
--- /dev/null
+++ b/src/lib/source/system/web/gate-srv/run
@@ -0,0 +1,9 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://gate.minekube.com/
+
+fdmove -c 2 1
+
+gate
+ -c /etc/gate.yml
diff --git a/src/lib/source/system/web/gate-srv/type b/src/lib/source/system/web/gate-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/web/gate-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/web/nginx-srv/producer-for b/src/lib/source/system/web/nginx-srv/producer-for
new file mode 100644
index 0000000..307d740
--- /dev/null
+++ b/src/lib/source/system/web/nginx-srv/producer-for
@@ -0,0 +1 @@
+nginx-log
diff --git a/src/lib/source/system/web/nginx-srv/run b/src/lib/source/system/web/nginx-srv/run
new file mode 100644
index 0000000..6336aa7
--- /dev/null
+++ b/src/lib/source/system/web/nginx-srv/run
@@ -0,0 +1,9 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://nginx.org/
+
+fdmove -c 2 1
+
+nginx
+ -g "daemon off;error_log stderr info;user nginx;"
diff --git a/src/lib/source/system/web/nginx-srv/type b/src/lib/source/system/web/nginx-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/web/nginx-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/web/radicale-srv/dependencies.d/mount b/src/lib/source/system/web/radicale-srv/dependencies.d/mount
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/web/radicale-srv/dependencies.d/mount
diff --git a/src/lib/source/system/web/radicale-srv/producer-for b/src/lib/source/system/web/radicale-srv/producer-for
new file mode 100644
index 0000000..ed237cc
--- /dev/null
+++ b/src/lib/source/system/web/radicale-srv/producer-for
@@ -0,0 +1 @@
+radicale-log
diff --git a/src/lib/source/system/web/radicale-srv/run b/src/lib/source/system/web/radicale-srv/run
new file mode 100644
index 0000000..f2005d5
--- /dev/null
+++ b/src/lib/source/system/web/radicale-srv/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://radicale.org/v3.html
+
+fdmove -c 2 1
+
+s6-setuidgid radicale
+
+radicale
diff --git a/src/lib/source/system/web/radicale-srv/type b/src/lib/source/system/web/radicale-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/web/radicale-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire
diff --git a/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir
diff --git a/src/lib/source/user/audio-daemon/pipewire-pulse-srv/producer-for b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/producer-for
new file mode 100644
index 0000000..d7dcdf1
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/producer-for
@@ -0,0 +1 @@
+pipewire-pulse-log
diff --git a/src/lib/source/user/audio-daemon/pipewire-pulse-srv/run b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/run
new file mode 100644
index 0000000..c8dec99
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://www.pipewire.org/
+
+fdmove -c 2 1
+
+export PIPEWIRE_PULSE_NOTIFICATION_FD 3
+
+pipewire-pulse
diff --git a/src/lib/source/user/audio-daemon/pipewire-pulse-srv/type b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-pulse-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus b/src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir b/src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir
diff --git a/src/lib/source/user/audio-daemon/pipewire-srv/notification-fd b/src/lib/source/user/audio-daemon/pipewire-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/audio-daemon/pipewire-srv/producer-for b/src/lib/source/user/audio-daemon/pipewire-srv/producer-for
new file mode 100644
index 0000000..ea63659
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-srv/producer-for
@@ -0,0 +1 @@
+pipewire-log
diff --git a/src/lib/source/user/audio-daemon/pipewire-srv/run b/src/lib/source/user/audio-daemon/pipewire-srv/run
new file mode 100644
index 0000000..c461475
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-srv/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://www.pipewire.org/
+
+fdmove -c 2 1
+
+export PIPEWIRE_NOTIFICATION_FD 3
+
+pipewire
diff --git a/src/lib/source/user/audio-daemon/pipewire-srv/type b/src/lib/source/user/audio-daemon/pipewire-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/pipewire-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire b/src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire
diff --git a/src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus b/src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/audio-daemon/wireplumber-srv/producer-for b/src/lib/source/user/audio-daemon/wireplumber-srv/producer-for
new file mode 100644
index 0000000..e9cd359
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/wireplumber-srv/producer-for
@@ -0,0 +1 @@
+wireplumber-log
diff --git a/src/lib/source/user/audio-daemon/wireplumber-srv/run b/src/lib/source/user/audio-daemon/wireplumber-srv/run
new file mode 100644
index 0000000..dfeca2b
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/wireplumber-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://pipewire.pages.freedesktop.org/wireplumber/
+
+fdmove -c 2 1
+
+wireplumber
diff --git a/src/lib/source/user/audio-daemon/wireplumber-srv/type b/src/lib/source/user/audio-daemon/wireplumber-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/audio-daemon/wireplumber-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/bundle/audio/type b/src/lib/source/user/bundle/audio/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/user/bundle/audio/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/user/bundle/compositor/type b/src/lib/source/user/bundle/compositor/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/user/bundle/compositor/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/user/bundle/default/type b/src/lib/source/user/bundle/default/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/user/bundle/default/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/user/bundle/session-bus/type b/src/lib/source/user/bundle/session-bus/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/src/lib/source/user/bundle/session-bus/type
@@ -0,0 +1 @@
+bundle
diff --git a/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor b/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/producer-for b/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/producer-for
new file mode 100644
index 0000000..fd3c6ac
--- /dev/null
+++ b/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/producer-for
@@ -0,0 +1 @@
+wl-clip-persist-log
diff --git a/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/run b/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/run
new file mode 100644
index 0000000..ef86496
--- /dev/null
+++ b/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/run
@@ -0,0 +1,9 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://github.com/Linus789/wl-clip-persist
+
+fdmove -c 2 1
+
+wl-clip-persist
+ --clipboard both
diff --git a/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/type b/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/clipboard-manager/wl-clip-persist-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir b/src/lib/source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir
diff --git a/src/lib/source/user/compositor/Hyprland-srv/finish b/src/lib/source/user/compositor/Hyprland-srv/finish
new file mode 100644
index 0000000..f0a7d51
--- /dev/null
+++ b/src/lib/source/user/compositor/Hyprland-srv/finish
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://hyprland.org/
+
+background { user-rc stop Hyprland }
+
+exit 125
diff --git a/src/lib/source/user/compositor/Hyprland-srv/producer-for b/src/lib/source/user/compositor/Hyprland-srv/producer-for
new file mode 100644
index 0000000..ed2fbff
--- /dev/null
+++ b/src/lib/source/user/compositor/Hyprland-srv/producer-for
@@ -0,0 +1 @@
+Hyprland-log
diff --git a/src/lib/source/user/compositor/Hyprland-srv/run b/src/lib/source/user/compositor/Hyprland-srv/run
new file mode 100644
index 0000000..eb20b5e
--- /dev/null
+++ b/src/lib/source/user/compositor/Hyprland-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://hyprland.org/
+
+fdmove -c 2 1
+
+Hyprland
diff --git a/src/lib/source/user/compositor/Hyprland-srv/type b/src/lib/source/user/compositor/Hyprland-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/compositor/Hyprland-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/desktop-widget/waybar-srv/dependencies.d/compositor b/src/lib/source/user/desktop-widget/waybar-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/waybar-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/desktop-widget/waybar-srv/notification-fd b/src/lib/source/user/desktop-widget/waybar-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/waybar-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/desktop-widget/waybar-srv/producer-for b/src/lib/source/user/desktop-widget/waybar-srv/producer-for
new file mode 100644
index 0000000..24b4d63
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/waybar-srv/producer-for
@@ -0,0 +1 @@
+waybar-log
diff --git a/src/lib/source/user/desktop-widget/waybar-srv/run b/src/lib/source/user/desktop-widget/waybar-srv/run
new file mode 100644
index 0000000..603a400
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/waybar-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://github.com/Alexays/Waybar
+
+fdmove -c 2 1
+
+waybar
diff --git a/src/lib/source/user/desktop-widget/waybar-srv/type b/src/lib/source/user/desktop-widget/waybar-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/waybar-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/desktop-widget/yambar-srv/dependencies.d/compositor b/src/lib/source/user/desktop-widget/yambar-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/yambar-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/desktop-widget/yambar-srv/notification-fd b/src/lib/source/user/desktop-widget/yambar-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/yambar-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/desktop-widget/yambar-srv/producer-for b/src/lib/source/user/desktop-widget/yambar-srv/producer-for
new file mode 100644
index 0000000..34f9cee
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/yambar-srv/producer-for
@@ -0,0 +1 @@
+yambar-log
diff --git a/src/lib/source/user/desktop-widget/yambar-srv/run b/src/lib/source/user/desktop-widget/yambar-srv/run
new file mode 100644
index 0000000..a788f80
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/yambar-srv/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://codeberg.org/dnkl/yambar
+
+fdmove -c 2 1
+
+yambar
+ -s
+ -p3
diff --git a/src/lib/source/user/desktop-widget/yambar-srv/type b/src/lib/source/user/desktop-widget/yambar-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/desktop-widget/yambar-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/compositor b/src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/session-bus b/src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/notification-daemon/dunst-srv/notification-fd b/src/lib/source/user/notification-daemon/dunst-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/dunst-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/notification-daemon/dunst-srv/producer-for b/src/lib/source/user/notification-daemon/dunst-srv/producer-for
new file mode 100644
index 0000000..a55f49b
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/dunst-srv/producer-for
@@ -0,0 +1 @@
+dunst-log
diff --git a/src/lib/source/user/notification-daemon/dunst-srv/run b/src/lib/source/user/notification-daemon/dunst-srv/run
new file mode 100644
index 0000000..cad04b2
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/dunst-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://dunst-project.org/
+
+fdmove -c 2 1
+
+dunst
diff --git a/src/lib/source/user/notification-daemon/dunst-srv/type b/src/lib/source/user/notification-daemon/dunst-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/dunst-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/compositor b/src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/session-bus b/src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/notification-daemon/fnott-srv/notification-fd b/src/lib/source/user/notification-daemon/fnott-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/fnott-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/notification-daemon/fnott-srv/producer-for b/src/lib/source/user/notification-daemon/fnott-srv/producer-for
new file mode 100644
index 0000000..71dd61e
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/fnott-srv/producer-for
@@ -0,0 +1 @@
+fnott-log
diff --git a/src/lib/source/user/notification-daemon/fnott-srv/run b/src/lib/source/user/notification-daemon/fnott-srv/run
new file mode 100644
index 0000000..271f061
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/fnott-srv/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://codeberg.org/dnkl/fnott
+
+fdmove -c 2 1
+
+fnott
+ -s
+ -p3
diff --git a/src/lib/source/user/notification-daemon/fnott-srv/type b/src/lib/source/user/notification-daemon/fnott-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/fnott-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/notification-daemon/mako-srv/dependencies.d/compositor b/src/lib/source/user/notification-daemon/mako-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/mako-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/notification-daemon/mako-srv/dependencies.d/session-bus b/src/lib/source/user/notification-daemon/mako-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/mako-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/notification-daemon/mako-srv/notification-fd b/src/lib/source/user/notification-daemon/mako-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/mako-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/notification-daemon/mako-srv/producer-for b/src/lib/source/user/notification-daemon/mako-srv/producer-for
new file mode 100644
index 0000000..9b15e90
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/mako-srv/producer-for
@@ -0,0 +1 @@
+mako-log
diff --git a/src/lib/source/user/notification-daemon/mako-srv/run b/src/lib/source/user/notification-daemon/mako-srv/run
new file mode 100644
index 0000000..d7a8269
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/mako-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://github.com/emersion/mako
+
+fdmove -c 2 1
+
+mako
diff --git a/src/lib/source/user/notification-daemon/mako-srv/type b/src/lib/source/user/notification-daemon/mako-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/mako-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/compositor b/src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/session-bus b/src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/notification-daemon/swaync-srv/notification-fd b/src/lib/source/user/notification-daemon/swaync-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/swaync-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/notification-daemon/swaync-srv/producer-for b/src/lib/source/user/notification-daemon/swaync-srv/producer-for
new file mode 100644
index 0000000..7ab5ae4
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/swaync-srv/producer-for
@@ -0,0 +1 @@
+swaync-log
diff --git a/src/lib/source/user/notification-daemon/swaync-srv/run b/src/lib/source/user/notification-daemon/swaync-srv/run
new file mode 100644
index 0000000..c5bfbe9
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/swaync-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://github.com/ErikReider/SwayNotificationCenter
+
+fdmove -c 2 1
+
+swaync
diff --git a/src/lib/source/user/notification-daemon/swaync-srv/type b/src/lib/source/user/notification-daemon/swaync-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/notification-daemon/swaync-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus b/src/lib/source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/other/at-spi-bus-launcher-srv/producer-for b/src/lib/source/user/other/at-spi-bus-launcher-srv/producer-for
new file mode 100644
index 0000000..ac90fc5
--- /dev/null
+++ b/src/lib/source/user/other/at-spi-bus-launcher-srv/producer-for
@@ -0,0 +1 @@
+at-spi-bus-launcher-log
diff --git a/src/lib/source/user/other/at-spi-bus-launcher-srv/run b/src/lib/source/user/other/at-spi-bus-launcher-srv/run
new file mode 100644
index 0000000..57f4b9c
--- /dev/null
+++ b/src/lib/source/user/other/at-spi-bus-launcher-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/main/bus/README.md
+
+fdmove -c 2 1
+
+at-spi-bus-launcher
diff --git a/src/lib/source/user/other/at-spi-bus-launcher-srv/type b/src/lib/source/user/other/at-spi-bus-launcher-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/other/at-spi-bus-launcher-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/other/at-spi2-registryd-srv/producer-for b/src/lib/source/user/other/at-spi2-registryd-srv/producer-for
new file mode 100644
index 0000000..dbdc009
--- /dev/null
+++ b/src/lib/source/user/other/at-spi2-registryd-srv/producer-for
@@ -0,0 +1 @@
+at-spi2-registryd-log
diff --git a/src/lib/source/user/other/at-spi2-registryd-srv/run b/src/lib/source/user/other/at-spi2-registryd-srv/run
new file mode 100644
index 0000000..7a30a71
--- /dev/null
+++ b/src/lib/source/user/other/at-spi2-registryd-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://gitlab.gnome.org/GNOME/at-spi2-core
+
+fdmove -c 2 1
+
+at-spi2-registryd
diff --git a/src/lib/source/user/other/at-spi2-registryd-srv/type b/src/lib/source/user/other/at-spi2-registryd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/other/at-spi2-registryd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir b/src/lib/source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir
diff --git a/src/lib/source/user/other/dbus-daemon-srv/notification-fd b/src/lib/source/user/other/dbus-daemon-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/other/dbus-daemon-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/other/dbus-daemon-srv/producer-for b/src/lib/source/user/other/dbus-daemon-srv/producer-for
new file mode 100644
index 0000000..f967dcb
--- /dev/null
+++ b/src/lib/source/user/other/dbus-daemon-srv/producer-for
@@ -0,0 +1 @@
+dbus-daemon-log
diff --git a/src/lib/source/user/other/dbus-daemon-srv/run b/src/lib/source/user/other/dbus-daemon-srv/run
new file mode 100644
index 0000000..df3d801
--- /dev/null
+++ b/src/lib/source/user/other/dbus-daemon-srv/run
@@ -0,0 +1,16 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://www.freedesktop.org/wiki/Software/dbus/
+
+fdmove -c 2 1
+
+importas -Si DBUS_SESSION_BUS_ADDRESS
+
+dbus-daemon
+ --session
+ --nofork
+ --nopidfile
+ --nosyslog
+ --address=${DBUS_SESSION_BUS_ADDRESS}
+ --print-pid=3
diff --git a/src/lib/source/user/other/dbus-daemon-srv/type b/src/lib/source/user/other/dbus-daemon-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/other/dbus-daemon-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/other/dconf-service-srv/producer-for b/src/lib/source/user/other/dconf-service-srv/producer-for
new file mode 100644
index 0000000..6afcfa9
--- /dev/null
+++ b/src/lib/source/user/other/dconf-service-srv/producer-for
@@ -0,0 +1 @@
+dconf-service-log
diff --git a/src/lib/source/user/other/dconf-service-srv/run b/src/lib/source/user/other/dconf-service-srv/run
new file mode 100644
index 0000000..a3a106d
--- /dev/null
+++ b/src/lib/source/user/other/dconf-service-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://gitlab.gnome.org/GNOME/dconf/
+
+fdmove -c 2 1
+
+dconf-service
diff --git a/src/lib/source/user/other/dconf-service-srv/type b/src/lib/source/user/other/dconf-service-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/other/dconf-service-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/other/foot-srv/dependencies.d/compositor b/src/lib/source/user/other/foot-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/other/foot-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/other/foot-srv/notification-fd b/src/lib/source/user/other/foot-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/user/other/foot-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/user/other/foot-srv/producer-for b/src/lib/source/user/other/foot-srv/producer-for
new file mode 100644
index 0000000..7830a7f
--- /dev/null
+++ b/src/lib/source/user/other/foot-srv/producer-for
@@ -0,0 +1 @@
+foot-log
diff --git a/src/lib/source/user/other/foot-srv/run b/src/lib/source/user/other/foot-srv/run
new file mode 100644
index 0000000..83f3193
--- /dev/null
+++ b/src/lib/source/user/other/foot-srv/run
@@ -0,0 +1,11 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://codeberg.org/dnkl/foot
+
+fdmove -c 2 1
+
+foot
+ -S
+ -s
+ -p3
diff --git a/src/lib/source/user/other/foot-srv/type b/src/lib/source/user/other/foot-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/other/foot-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/other/mpd-srv/dependencies.d/audio b/src/lib/source/user/other/mpd-srv/dependencies.d/audio
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/other/mpd-srv/dependencies.d/audio
diff --git a/src/lib/source/user/other/mpd-srv/producer-for b/src/lib/source/user/other/mpd-srv/producer-for
new file mode 100644
index 0000000..a7aaae5
--- /dev/null
+++ b/src/lib/source/user/other/mpd-srv/producer-for
@@ -0,0 +1 @@
+mpd-log
diff --git a/src/lib/source/user/other/mpd-srv/run b/src/lib/source/user/other/mpd-srv/run
new file mode 100644
index 0000000..299a956
--- /dev/null
+++ b/src/lib/source/user/other/mpd-srv/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://www.musicpd.org/
+
+fdmove -c 2 1
+
+mpd
+ --no-daemon
+ --stderr
diff --git a/src/lib/source/user/other/mpd-srv/type b/src/lib/source/user/other/mpd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/other/mpd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor b/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/producer-for b/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/producer-for
new file mode 100644
index 0000000..7cf9215
--- /dev/null
+++ b/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/producer-for
@@ -0,0 +1 @@
+hyprpaper-log
diff --git a/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/run b/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/run
new file mode 100644
index 0000000..9362ce5
--- /dev/null
+++ b/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://github.com/hyprwm/hyprpaper
+
+fdmove -c 2 1
+
+hyprpaper
diff --git a/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/type b/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/wallpaper-daemon/hyprpaper-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor b/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for b/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for
new file mode 100644
index 0000000..e9d5da6
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for
@@ -0,0 +1 @@
+xdg-desktop-portal-hyprland-log
diff --git a/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/run b/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/run
new file mode 100644
index 0000000..0bb465c
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://wiki.hyprland.org/Hypr-Ecosystem/xdg-desktop-portal-hyprland/
+
+fdmove -c 2 1
+
+xdg-desktop-portal-hyprland
diff --git a/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/type b/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor b/src/lib/source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor
diff --git a/src/lib/source/user/xdg/xdg-desktop-portal-srv/producer-for b/src/lib/source/user/xdg/xdg-desktop-portal-srv/producer-for
new file mode 100644
index 0000000..67fad61
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-desktop-portal-srv/producer-for
@@ -0,0 +1 @@
+xdg-desktop-portal-log
diff --git a/src/lib/source/user/xdg/xdg-desktop-portal-srv/run b/src/lib/source/user/xdg/xdg-desktop-portal-srv/run
new file mode 100644
index 0000000..39ddd02
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-desktop-portal-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://github.com/flatpak/xdg-desktop-portal
+
+fdmove -c 2 1
+
+xdg-desktop-portal
diff --git a/src/lib/source/user/xdg/xdg-desktop-portal-srv/type b/src/lib/source/user/xdg/xdg-desktop-portal-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-desktop-portal-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus b/src/lib/source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus
diff --git a/src/lib/source/user/xdg/xdg-document-portal-srv/producer-for b/src/lib/source/user/xdg/xdg-document-portal-srv/producer-for
new file mode 100644
index 0000000..a16df5d
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-document-portal-srv/producer-for
@@ -0,0 +1 @@
+xdg-document-portal-log
diff --git a/src/lib/source/user/xdg/xdg-document-portal-srv/run b/src/lib/source/user/xdg/xdg-document-portal-srv/run
new file mode 100644
index 0000000..60196c5
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-document-portal-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://github.com/flatpak/xdg-desktop-portal
+
+fdmove -c 2 1
+
+xdg-document-portal
diff --git a/src/lib/source/user/xdg/xdg-document-portal-srv/type b/src/lib/source/user/xdg/xdg-document-portal-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-document-portal-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/xdg/xdg-permission-store-srv/producer-for b/src/lib/source/user/xdg/xdg-permission-store-srv/producer-for
new file mode 100644
index 0000000..62ad397
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-permission-store-srv/producer-for
@@ -0,0 +1 @@
+xdg-permission-store-log
diff --git a/src/lib/source/user/xdg/xdg-permission-store-srv/run b/src/lib/source/user/xdg/xdg-permission-store-srv/run
new file mode 100644
index 0000000..2175f63
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-permission-store-srv/run
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://github.com/flatpak/xdg-desktop-portal
+
+fdmove -c 2 1
+
+xdg-permission-store
diff --git a/src/lib/source/user/xdg/xdg-permission-store-srv/type b/src/lib/source/user/xdg/xdg-permission-store-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-permission-store-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/user/xdg/xdg-runtime-dir/down b/src/lib/source/user/xdg/xdg-runtime-dir/down
new file mode 100644
index 0000000..6a12661
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-runtime-dir/down
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://specifications.freedesktop.org/basedir-spec/latest/
+
+fdmove -c 2 1
+
+importas -Si XDG_RUNTIME_DIR
+
+rm -Rf ${XDG_RUNTIME_DIR}
diff --git a/src/lib/source/user/xdg/xdg-runtime-dir/type b/src/lib/source/user/xdg/xdg-runtime-dir/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-runtime-dir/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/user/xdg/xdg-runtime-dir/up b/src/lib/source/user/xdg/xdg-runtime-dir/up
new file mode 100644
index 0000000..518e994
--- /dev/null
+++ b/src/lib/source/user/xdg/xdg-runtime-dir/up
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://specifications.freedesktop.org/basedir-spec/latest/
+
+fdmove -c 2 1
+
+importas -Si XDG_RUNTIME_DIR
+
+if { mkdir -p -m700 -- ${XDG_RUNTIME_DIR} }