From 980c5408489a3a3a56e49c3873f1bce6a0155cad Mon Sep 17 00:00:00 2001
From: PS
Date: Sun, 1 Feb 2026 12:02:03 +0100
Subject: version 0.2.0.0
---
AUTHORS | 10 +
CONTRIBUTING | 5 +
COPYING | 13 +
DCO | 37 ++
INSTALL | 83 ++++
Makefile | 87 ++++
NEWS | 6 +
configure | 196 +++++++++
package/deps.mak | 420 +++++++++++++++++++
package/extras.mak | 21 +
package/info | 4 +
package/modes | 35 ++
package/targets.mak | 446 +++++++++++++++++++++
src/bin/compile-db | 27 ++
src/bin/longrun-make | 36 ++
src/bin/oneshot-make | 22 +
src/bin/prepare-svscan | 37 ++
src/bin/system-db | 7 +
src/bin/system-ml | 31 ++
src/bin/system-rc | 5 +
src/bin/system-run | 6 +
src/bin/system-shutdown-daemon | 31 ++
src/bin/user-db | 13 +
src/bin/user-init | 26 ++
src/bin/user-ml | 33 ++
src/bin/user-rc | 11 +
src/bin/user-run | 12 +
src/bin/user-shutdown | 23 ++
src/bin/user-tmpfs | 17 +
src/lib/service/system/.s6-svscan/SIGINT | 5 +
src/lib/service/system/.s6-svscan/SIGPWR | 5 +
src/lib/service/system/.s6-svscan/SIGQUIT | 2 +
src/lib/service/system/.s6-svscan/SIGTERM | 2 +
src/lib/service/system/.s6-svscan/SIGUSR1 | 5 +
src/lib/service/system/.s6-svscan/SIGUSR2 | 5 +
src/lib/service/system/.s6-svscan/SIGWINCH | 2 +
src/lib/service/system/.s6-svscan/crash | 10 +
src/lib/service/system/.s6-svscan/finish | 9 +
.../service/system/goetia-runner/notification-fd | 1 +
src/lib/service/system/goetia-runner/run | 10 +
.../system/s6-svscan-log-console/notification-fd | 1 +
src/lib/service/system/s6-svscan-log-console/run | 16 +
.../service/system/s6-svscan-log/notification-fd | 1 +
src/lib/service/system/s6-svscan-log/run | 15 +
src/lib/service/user/.s6-svscan/SIGTERM | 5 +
src/lib/service/user/goetia-runner/notification-fd | 1 +
src/lib/service/user/goetia-runner/run | 10 +
src/lib/service/user/s6-svscan-log/notification-fd | 1 +
src/lib/service/user/s6-svscan-log/run | 17 +
.../admin/greetd-srv/dependencies.d/mount-run | 0
.../admin/greetd-srv/dependencies.d/seat-manager | 0
.../system/admin/greetd-srv/dependencies.d/udev | 0
.../source/system/admin/greetd-srv/producer-for | 1 +
src/lib/source/system/admin/greetd-srv/run | 8 +
src/lib/source/system/admin/greetd-srv/type | 1 +
.../admin/seatd-srv/dependencies.d/mount-dev | 0
.../admin/seatd-srv/dependencies.d/mount-run | 0
.../source/system/admin/seatd-srv/notification-fd | 1 +
src/lib/source/system/admin/seatd-srv/producer-for | 1 +
src/lib/source/system/admin/seatd-srv/run | 13 +
src/lib/source/system/admin/seatd-srv/type | 1 +
src/lib/source/system/bundle/default/type | 1 +
src/lib/source/system/bundle/firewall/type | 1 +
src/lib/source/system/bundle/mount/type | 1 +
src/lib/source/system/bundle/networking/type | 1 +
src/lib/source/system/bundle/seat-manager/type | 1 +
src/lib/source/system/bundle/system-bus/type | 1 +
src/lib/source/system/bundle/udev/type | 1 +
src/lib/source/system/cron/dcron-srv/producer-for | 1 +
src/lib/source/system/cron/dcron-srv/run | 13 +
src/lib/source/system/cron/dcron-srv/type | 1 +
src/lib/source/system/db/mariadbd-srv/producer-for | 1 +
src/lib/source/system/db/mariadbd-srv/run | 8 +
src/lib/source/system/db/mariadbd-srv/type | 1 +
src/lib/source/system/db/mysqld-srv/producer-for | 1 +
src/lib/source/system/db/mysqld-srv/run | 8 +
src/lib/source/system/db/mysqld-srv/type | 1 +
.../system/net/dhcpcd-srv/dependencies.d/udev | 0
src/lib/source/system/net/dhcpcd-srv/producer-for | 1 +
src/lib/source/system/net/dhcpcd-srv/run | 9 +
src/lib/source/system/net/dhcpcd-srv/type | 1 +
.../wpa_supplicant-srv/dependencies.d/system-bus | 0
.../system/net/wpa_supplicant-srv/producer-for | 1 +
src/lib/source/system/net/wpa_supplicant-srv/run | 10 +
src/lib/source/system/net/wpa_supplicant-srv/type | 1 +
.../ntp/chronyd-srv/dependencies.d/networking | 0
src/lib/source/system/ntp/chronyd-srv/producer-for | 1 +
src/lib/source/system/ntp/chronyd-srv/run | 12 +
src/lib/source/system/ntp/chronyd-srv/type | 1 +
src/lib/source/system/other/cupsd-srv/producer-for | 1 +
src/lib/source/system/other/cupsd-srv/run | 11 +
src/lib/source/system/other/cupsd-srv/type | 1 +
.../system/other/dbus-daemon-srv/notification-fd | 1 +
.../system/other/dbus-daemon-srv/producer-for | 1 +
src/lib/source/system/other/dbus-daemon-srv/run | 15 +
src/lib/source/system/other/dbus-daemon-srv/type | 1 +
.../other/sshd-srv/dependencies.d/networking | 0
src/lib/source/system/other/sshd-srv/producer-for | 1 +
src/lib/source/system/other/sshd-srv/run | 17 +
src/lib/source/system/other/sshd-srv/type | 1 +
.../source/system/web/gate-srv/dependencies.d/udev | 0
src/lib/source/system/web/gate-srv/producer-for | 1 +
src/lib/source/system/web/gate-srv/run | 9 +
src/lib/source/system/web/gate-srv/type | 1 +
src/lib/source/system/web/nginx-srv/producer-for | 1 +
src/lib/source/system/web/nginx-srv/run | 9 +
src/lib/source/system/web/nginx-srv/type | 1 +
.../system/web/radicale-srv/dependencies.d/mount | 0
.../source/system/web/radicale-srv/producer-for | 1 +
src/lib/source/system/web/radicale-srv/run | 10 +
src/lib/source/system/web/radicale-srv/type | 1 +
.../pipewire-pulse-srv/dependencies.d/pipewire | 0
.../pipewire-pulse-srv/dependencies.d/session-bus | 0
.../dependencies.d/xdg-runtime-dir | 0
.../audio-daemon/pipewire-pulse-srv/producer-for | 1 +
.../user/audio-daemon/pipewire-pulse-srv/run | 10 +
.../user/audio-daemon/pipewire-pulse-srv/type | 1 +
.../pipewire-srv/dependencies.d/session-bus | 0
.../pipewire-srv/dependencies.d/xdg-runtime-dir | 0
.../user/audio-daemon/pipewire-srv/notification-fd | 1 +
.../user/audio-daemon/pipewire-srv/producer-for | 1 +
src/lib/source/user/audio-daemon/pipewire-srv/run | 10 +
src/lib/source/user/audio-daemon/pipewire-srv/type | 1 +
.../wireplumber-srv/dependencies.d/pipewire | 0
.../wireplumber-srv/dependencies.d/session-bus | 0
.../user/audio-daemon/wireplumber-srv/producer-for | 1 +
.../source/user/audio-daemon/wireplumber-srv/run | 8 +
.../source/user/audio-daemon/wireplumber-srv/type | 1 +
src/lib/source/user/bundle/audio/type | 1 +
src/lib/source/user/bundle/compositor/type | 1 +
src/lib/source/user/bundle/default/type | 1 +
src/lib/source/user/bundle/session-bus/type | 1 +
.../wl-clip-persist-srv/dependencies.d/compositor | 0
.../wl-clip-persist-srv/producer-for | 1 +
.../user/clipboard-manager/wl-clip-persist-srv/run | 9 +
.../clipboard-manager/wl-clip-persist-srv/type | 1 +
.../Hyprland-srv/dependencies.d/xdg-runtime-dir | 0
src/lib/source/user/compositor/Hyprland-srv/finish | 8 +
.../user/compositor/Hyprland-srv/producer-for | 1 +
src/lib/source/user/compositor/Hyprland-srv/run | 8 +
src/lib/source/user/compositor/Hyprland-srv/type | 1 +
.../waybar-srv/dependencies.d/compositor | 0
.../user/desktop-widget/waybar-srv/notification-fd | 1 +
.../user/desktop-widget/waybar-srv/producer-for | 1 +
src/lib/source/user/desktop-widget/waybar-srv/run | 8 +
src/lib/source/user/desktop-widget/waybar-srv/type | 1 +
.../yambar-srv/dependencies.d/compositor | 0
.../user/desktop-widget/yambar-srv/notification-fd | 1 +
.../user/desktop-widget/yambar-srv/producer-for | 1 +
src/lib/source/user/desktop-widget/yambar-srv/run | 10 +
src/lib/source/user/desktop-widget/yambar-srv/type | 1 +
.../dunst-srv/dependencies.d/compositor | 0
.../dunst-srv/dependencies.d/session-bus | 0
.../notification-daemon/dunst-srv/notification-fd | 1 +
.../notification-daemon/dunst-srv/producer-for | 1 +
.../source/user/notification-daemon/dunst-srv/run | 8 +
.../source/user/notification-daemon/dunst-srv/type | 1 +
.../fnott-srv/dependencies.d/compositor | 0
.../fnott-srv/dependencies.d/session-bus | 0
.../notification-daemon/fnott-srv/notification-fd | 1 +
.../notification-daemon/fnott-srv/producer-for | 1 +
.../source/user/notification-daemon/fnott-srv/run | 10 +
.../source/user/notification-daemon/fnott-srv/type | 1 +
.../mako-srv/dependencies.d/compositor | 0
.../mako-srv/dependencies.d/session-bus | 0
.../notification-daemon/mako-srv/notification-fd | 1 +
.../user/notification-daemon/mako-srv/producer-for | 1 +
.../source/user/notification-daemon/mako-srv/run | 8 +
.../source/user/notification-daemon/mako-srv/type | 1 +
.../swaync-srv/dependencies.d/compositor | 0
.../swaync-srv/dependencies.d/session-bus | 0
.../notification-daemon/swaync-srv/notification-fd | 1 +
.../notification-daemon/swaync-srv/producer-for | 1 +
.../source/user/notification-daemon/swaync-srv/run | 8 +
.../user/notification-daemon/swaync-srv/type | 1 +
.../dependencies.d/session-bus | 0
.../other/at-spi-bus-launcher-srv/producer-for | 1 +
.../source/user/other/at-spi-bus-launcher-srv/run | 8 +
.../source/user/other/at-spi-bus-launcher-srv/type | 1 +
.../user/other/at-spi2-registryd-srv/producer-for | 1 +
.../source/user/other/at-spi2-registryd-srv/run | 8 +
.../source/user/other/at-spi2-registryd-srv/type | 1 +
.../dbus-daemon-srv/dependencies.d/xdg-runtime-dir | 0
.../user/other/dbus-daemon-srv/notification-fd | 1 +
.../source/user/other/dbus-daemon-srv/producer-for | 1 +
src/lib/source/user/other/dbus-daemon-srv/run | 16 +
src/lib/source/user/other/dbus-daemon-srv/type | 1 +
.../user/other/dconf-service-srv/producer-for | 1 +
src/lib/source/user/other/dconf-service-srv/run | 8 +
src/lib/source/user/other/dconf-service-srv/type | 1 +
.../user/other/foot-srv/dependencies.d/compositor | 0
src/lib/source/user/other/foot-srv/notification-fd | 1 +
src/lib/source/user/other/foot-srv/producer-for | 1 +
src/lib/source/user/other/foot-srv/run | 11 +
src/lib/source/user/other/foot-srv/type | 1 +
.../source/user/other/mpd-srv/dependencies.d/audio | 0
src/lib/source/user/other/mpd-srv/producer-for | 1 +
src/lib/source/user/other/mpd-srv/run | 10 +
src/lib/source/user/other/mpd-srv/type | 1 +
.../hyprpaper-srv/dependencies.d/compositor | 0
.../wallpaper-daemon/hyprpaper-srv/producer-for | 1 +
.../source/user/wallpaper-daemon/hyprpaper-srv/run | 8 +
.../user/wallpaper-daemon/hyprpaper-srv/type | 1 +
.../dependencies.d/compositor | 0
.../xdg-desktop-portal-hyprland-srv/producer-for | 1 +
.../user/xdg/xdg-desktop-portal-hyprland-srv/run | 8 +
.../user/xdg/xdg-desktop-portal-hyprland-srv/type | 1 +
.../dependencies.d/compositor | 0
.../user/xdg/xdg-desktop-portal-srv/producer-for | 1 +
src/lib/source/user/xdg/xdg-desktop-portal-srv/run | 8 +
.../source/user/xdg/xdg-desktop-portal-srv/type | 1 +
.../dependencies.d/session-bus | 0
.../user/xdg/xdg-document-portal-srv/producer-for | 1 +
.../source/user/xdg/xdg-document-portal-srv/run | 8 +
.../source/user/xdg/xdg-document-portal-srv/type | 1 +
.../user/xdg/xdg-permission-store-srv/producer-for | 1 +
.../source/user/xdg/xdg-permission-store-srv/run | 8 +
.../source/user/xdg/xdg-permission-store-srv/type | 1 +
src/lib/source/user/xdg/xdg-runtime-dir/down | 10 +
src/lib/source/user/xdg/xdg-runtime-dir/type | 1 +
src/lib/source/user/xdg/xdg-runtime-dir/up | 10 +
tools/gen-deps.sh | 35 ++
tools/gen-targets.sh | 56 +++
tools/install.sh | 69 ++++
224 files changed, 2456 insertions(+)
create mode 100644 AUTHORS
create mode 100644 CONTRIBUTING
create mode 100644 COPYING
create mode 100644 DCO
create mode 100644 INSTALL
create mode 100644 Makefile
create mode 100644 NEWS
create mode 100755 configure
create mode 100644 package/deps.mak
create mode 100644 package/extras.mak
create mode 100644 package/info
create mode 100644 package/modes
create mode 100644 package/targets.mak
create mode 100755 src/bin/compile-db
create mode 100755 src/bin/longrun-make
create mode 100755 src/bin/oneshot-make
create mode 100755 src/bin/prepare-svscan
create mode 100755 src/bin/system-db
create mode 100755 src/bin/system-ml
create mode 100755 src/bin/system-rc
create mode 100755 src/bin/system-run
create mode 100755 src/bin/system-shutdown-daemon
create mode 100755 src/bin/user-db
create mode 100755 src/bin/user-init
create mode 100755 src/bin/user-ml
create mode 100755 src/bin/user-rc
create mode 100755 src/bin/user-run
create mode 100755 src/bin/user-shutdown
create mode 100755 src/bin/user-tmpfs
create mode 100755 src/lib/service/system/.s6-svscan/SIGINT
create mode 100755 src/lib/service/system/.s6-svscan/SIGPWR
create mode 100755 src/lib/service/system/.s6-svscan/SIGQUIT
create mode 100755 src/lib/service/system/.s6-svscan/SIGTERM
create mode 100755 src/lib/service/system/.s6-svscan/SIGUSR1
create mode 100755 src/lib/service/system/.s6-svscan/SIGUSR2
create mode 100755 src/lib/service/system/.s6-svscan/SIGWINCH
create mode 100755 src/lib/service/system/.s6-svscan/crash
create mode 100755 src/lib/service/system/.s6-svscan/finish
create mode 100644 src/lib/service/system/goetia-runner/notification-fd
create mode 100755 src/lib/service/system/goetia-runner/run
create mode 100644 src/lib/service/system/s6-svscan-log-console/notification-fd
create mode 100755 src/lib/service/system/s6-svscan-log-console/run
create mode 100644 src/lib/service/system/s6-svscan-log/notification-fd
create mode 100755 src/lib/service/system/s6-svscan-log/run
create mode 100755 src/lib/service/user/.s6-svscan/SIGTERM
create mode 100644 src/lib/service/user/goetia-runner/notification-fd
create mode 100755 src/lib/service/user/goetia-runner/run
create mode 100644 src/lib/service/user/s6-svscan-log/notification-fd
create mode 100755 src/lib/service/user/s6-svscan-log/run
create mode 100644 src/lib/source/system/admin/greetd-srv/dependencies.d/mount-run
create mode 100644 src/lib/source/system/admin/greetd-srv/dependencies.d/seat-manager
create mode 100644 src/lib/source/system/admin/greetd-srv/dependencies.d/udev
create mode 100644 src/lib/source/system/admin/greetd-srv/producer-for
create mode 100644 src/lib/source/system/admin/greetd-srv/run
create mode 100644 src/lib/source/system/admin/greetd-srv/type
create mode 100644 src/lib/source/system/admin/seatd-srv/dependencies.d/mount-dev
create mode 100644 src/lib/source/system/admin/seatd-srv/dependencies.d/mount-run
create mode 100644 src/lib/source/system/admin/seatd-srv/notification-fd
create mode 100644 src/lib/source/system/admin/seatd-srv/producer-for
create mode 100644 src/lib/source/system/admin/seatd-srv/run
create mode 100644 src/lib/source/system/admin/seatd-srv/type
create mode 100644 src/lib/source/system/bundle/default/type
create mode 100644 src/lib/source/system/bundle/firewall/type
create mode 100644 src/lib/source/system/bundle/mount/type
create mode 100644 src/lib/source/system/bundle/networking/type
create mode 100644 src/lib/source/system/bundle/seat-manager/type
create mode 100644 src/lib/source/system/bundle/system-bus/type
create mode 100644 src/lib/source/system/bundle/udev/type
create mode 100644 src/lib/source/system/cron/dcron-srv/producer-for
create mode 100644 src/lib/source/system/cron/dcron-srv/run
create mode 100644 src/lib/source/system/cron/dcron-srv/type
create mode 100644 src/lib/source/system/db/mariadbd-srv/producer-for
create mode 100644 src/lib/source/system/db/mariadbd-srv/run
create mode 100644 src/lib/source/system/db/mariadbd-srv/type
create mode 100644 src/lib/source/system/db/mysqld-srv/producer-for
create mode 100644 src/lib/source/system/db/mysqld-srv/run
create mode 100644 src/lib/source/system/db/mysqld-srv/type
create mode 100644 src/lib/source/system/net/dhcpcd-srv/dependencies.d/udev
create mode 100644 src/lib/source/system/net/dhcpcd-srv/producer-for
create mode 100644 src/lib/source/system/net/dhcpcd-srv/run
create mode 100644 src/lib/source/system/net/dhcpcd-srv/type
create mode 100644 src/lib/source/system/net/wpa_supplicant-srv/dependencies.d/system-bus
create mode 100644 src/lib/source/system/net/wpa_supplicant-srv/producer-for
create mode 100644 src/lib/source/system/net/wpa_supplicant-srv/run
create mode 100644 src/lib/source/system/net/wpa_supplicant-srv/type
create mode 100644 src/lib/source/system/ntp/chronyd-srv/dependencies.d/networking
create mode 100644 src/lib/source/system/ntp/chronyd-srv/producer-for
create mode 100644 src/lib/source/system/ntp/chronyd-srv/run
create mode 100644 src/lib/source/system/ntp/chronyd-srv/type
create mode 100644 src/lib/source/system/other/cupsd-srv/producer-for
create mode 100644 src/lib/source/system/other/cupsd-srv/run
create mode 100644 src/lib/source/system/other/cupsd-srv/type
create mode 100644 src/lib/source/system/other/dbus-daemon-srv/notification-fd
create mode 100644 src/lib/source/system/other/dbus-daemon-srv/producer-for
create mode 100644 src/lib/source/system/other/dbus-daemon-srv/run
create mode 100644 src/lib/source/system/other/dbus-daemon-srv/type
create mode 100644 src/lib/source/system/other/sshd-srv/dependencies.d/networking
create mode 100644 src/lib/source/system/other/sshd-srv/producer-for
create mode 100644 src/lib/source/system/other/sshd-srv/run
create mode 100644 src/lib/source/system/other/sshd-srv/type
create mode 100644 src/lib/source/system/web/gate-srv/dependencies.d/udev
create mode 100644 src/lib/source/system/web/gate-srv/producer-for
create mode 100644 src/lib/source/system/web/gate-srv/run
create mode 100644 src/lib/source/system/web/gate-srv/type
create mode 100644 src/lib/source/system/web/nginx-srv/producer-for
create mode 100644 src/lib/source/system/web/nginx-srv/run
create mode 100644 src/lib/source/system/web/nginx-srv/type
create mode 100644 src/lib/source/system/web/radicale-srv/dependencies.d/mount
create mode 100644 src/lib/source/system/web/radicale-srv/producer-for
create mode 100644 src/lib/source/system/web/radicale-srv/run
create mode 100644 src/lib/source/system/web/radicale-srv/type
create mode 100644 src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire
create mode 100644 src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir
create mode 100644 src/lib/source/user/audio-daemon/pipewire-pulse-srv/producer-for
create mode 100644 src/lib/source/user/audio-daemon/pipewire-pulse-srv/run
create mode 100644 src/lib/source/user/audio-daemon/pipewire-pulse-srv/type
create mode 100644 src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir
create mode 100644 src/lib/source/user/audio-daemon/pipewire-srv/notification-fd
create mode 100644 src/lib/source/user/audio-daemon/pipewire-srv/producer-for
create mode 100644 src/lib/source/user/audio-daemon/pipewire-srv/run
create mode 100644 src/lib/source/user/audio-daemon/pipewire-srv/type
create mode 100644 src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire
create mode 100644 src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/audio-daemon/wireplumber-srv/producer-for
create mode 100644 src/lib/source/user/audio-daemon/wireplumber-srv/run
create mode 100644 src/lib/source/user/audio-daemon/wireplumber-srv/type
create mode 100644 src/lib/source/user/bundle/audio/type
create mode 100644 src/lib/source/user/bundle/compositor/type
create mode 100644 src/lib/source/user/bundle/default/type
create mode 100644 src/lib/source/user/bundle/session-bus/type
create mode 100644 src/lib/source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/clipboard-manager/wl-clip-persist-srv/producer-for
create mode 100644 src/lib/source/user/clipboard-manager/wl-clip-persist-srv/run
create mode 100644 src/lib/source/user/clipboard-manager/wl-clip-persist-srv/type
create mode 100644 src/lib/source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir
create mode 100644 src/lib/source/user/compositor/Hyprland-srv/finish
create mode 100644 src/lib/source/user/compositor/Hyprland-srv/producer-for
create mode 100644 src/lib/source/user/compositor/Hyprland-srv/run
create mode 100644 src/lib/source/user/compositor/Hyprland-srv/type
create mode 100644 src/lib/source/user/desktop-widget/waybar-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/desktop-widget/waybar-srv/notification-fd
create mode 100644 src/lib/source/user/desktop-widget/waybar-srv/producer-for
create mode 100644 src/lib/source/user/desktop-widget/waybar-srv/run
create mode 100644 src/lib/source/user/desktop-widget/waybar-srv/type
create mode 100644 src/lib/source/user/desktop-widget/yambar-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/desktop-widget/yambar-srv/notification-fd
create mode 100644 src/lib/source/user/desktop-widget/yambar-srv/producer-for
create mode 100644 src/lib/source/user/desktop-widget/yambar-srv/run
create mode 100644 src/lib/source/user/desktop-widget/yambar-srv/type
create mode 100644 src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/notification-daemon/dunst-srv/notification-fd
create mode 100644 src/lib/source/user/notification-daemon/dunst-srv/producer-for
create mode 100644 src/lib/source/user/notification-daemon/dunst-srv/run
create mode 100644 src/lib/source/user/notification-daemon/dunst-srv/type
create mode 100644 src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/notification-daemon/fnott-srv/notification-fd
create mode 100644 src/lib/source/user/notification-daemon/fnott-srv/producer-for
create mode 100644 src/lib/source/user/notification-daemon/fnott-srv/run
create mode 100644 src/lib/source/user/notification-daemon/fnott-srv/type
create mode 100644 src/lib/source/user/notification-daemon/mako-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/notification-daemon/mako-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/notification-daemon/mako-srv/notification-fd
create mode 100644 src/lib/source/user/notification-daemon/mako-srv/producer-for
create mode 100644 src/lib/source/user/notification-daemon/mako-srv/run
create mode 100644 src/lib/source/user/notification-daemon/mako-srv/type
create mode 100644 src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/notification-daemon/swaync-srv/notification-fd
create mode 100644 src/lib/source/user/notification-daemon/swaync-srv/producer-for
create mode 100644 src/lib/source/user/notification-daemon/swaync-srv/run
create mode 100644 src/lib/source/user/notification-daemon/swaync-srv/type
create mode 100644 src/lib/source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/other/at-spi-bus-launcher-srv/producer-for
create mode 100644 src/lib/source/user/other/at-spi-bus-launcher-srv/run
create mode 100644 src/lib/source/user/other/at-spi-bus-launcher-srv/type
create mode 100644 src/lib/source/user/other/at-spi2-registryd-srv/producer-for
create mode 100644 src/lib/source/user/other/at-spi2-registryd-srv/run
create mode 100644 src/lib/source/user/other/at-spi2-registryd-srv/type
create mode 100644 src/lib/source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir
create mode 100644 src/lib/source/user/other/dbus-daemon-srv/notification-fd
create mode 100644 src/lib/source/user/other/dbus-daemon-srv/producer-for
create mode 100644 src/lib/source/user/other/dbus-daemon-srv/run
create mode 100644 src/lib/source/user/other/dbus-daemon-srv/type
create mode 100644 src/lib/source/user/other/dconf-service-srv/producer-for
create mode 100644 src/lib/source/user/other/dconf-service-srv/run
create mode 100644 src/lib/source/user/other/dconf-service-srv/type
create mode 100644 src/lib/source/user/other/foot-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/other/foot-srv/notification-fd
create mode 100644 src/lib/source/user/other/foot-srv/producer-for
create mode 100644 src/lib/source/user/other/foot-srv/run
create mode 100644 src/lib/source/user/other/foot-srv/type
create mode 100644 src/lib/source/user/other/mpd-srv/dependencies.d/audio
create mode 100644 src/lib/source/user/other/mpd-srv/producer-for
create mode 100644 src/lib/source/user/other/mpd-srv/run
create mode 100644 src/lib/source/user/other/mpd-srv/type
create mode 100644 src/lib/source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/wallpaper-daemon/hyprpaper-srv/producer-for
create mode 100644 src/lib/source/user/wallpaper-daemon/hyprpaper-srv/run
create mode 100644 src/lib/source/user/wallpaper-daemon/hyprpaper-srv/type
create mode 100644 src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for
create mode 100644 src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/run
create mode 100644 src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/type
create mode 100644 src/lib/source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor
create mode 100644 src/lib/source/user/xdg/xdg-desktop-portal-srv/producer-for
create mode 100644 src/lib/source/user/xdg/xdg-desktop-portal-srv/run
create mode 100644 src/lib/source/user/xdg/xdg-desktop-portal-srv/type
create mode 100644 src/lib/source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus
create mode 100644 src/lib/source/user/xdg/xdg-document-portal-srv/producer-for
create mode 100644 src/lib/source/user/xdg/xdg-document-portal-srv/run
create mode 100644 src/lib/source/user/xdg/xdg-document-portal-srv/type
create mode 100644 src/lib/source/user/xdg/xdg-permission-store-srv/producer-for
create mode 100644 src/lib/source/user/xdg/xdg-permission-store-srv/run
create mode 100644 src/lib/source/user/xdg/xdg-permission-store-srv/type
create mode 100644 src/lib/source/user/xdg/xdg-runtime-dir/down
create mode 100644 src/lib/source/user/xdg/xdg-runtime-dir/type
create mode 100644 src/lib/source/user/xdg/xdg-runtime-dir/up
create mode 100755 tools/gen-deps.sh
create mode 100755 tools/gen-targets.sh
create mode 100755 tools/install.sh
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..1d835d3
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,10 @@
+Main author:
+ Paul Sopka
+
+Contributors:
+
+Thanks to:
+ Laurent Bercot
+ Dan J. Bernstein
+ Paul Jarc
+ Jonathan de Boyne Pollard
diff --git a/CONTRIBUTING b/CONTRIBUTING
new file mode 100644
index 0000000..6279422
--- /dev/null
+++ b/CONTRIBUTING
@@ -0,0 +1,5 @@
+ Please add a Signed-Off-By: line at the end of your commit,
+which certifies that you have the right and authority to pass
+it on as an open-source patch, as explicited in the Developer's
+Certificate of Origin available in this project's DCO file,
+or at https://developercertificate.org/
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..2dec60d
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,13 @@
+Copyright (c) 2024-2025 Paul Sopka
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/DCO b/DCO
new file mode 100644
index 0000000..8201f99
--- /dev/null
+++ b/DCO
@@ -0,0 +1,37 @@
+Developer Certificate of Origin
+Version 1.1
+
+Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
+1 Letterman Drive
+Suite D4700
+San Francisco, CA, 94129
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+
+Developer's Certificate of Origin 1.1
+
+By making a contribution to this project, I certify that:
+
+(a) The contribution was created in whole or in part by me and I
+ have the right to submit it under the open source license
+ indicated in the file; or
+
+(b) The contribution is based upon previous work that, to the best
+ of my knowledge, is covered under an appropriate open source
+ license and I have the right under that license to submit that
+ work with modifications, whether created in whole or in part
+ by me, under the same open source license (unless I am
+ permitted to submit under a different license), as indicated
+ in the file; or
+
+(c) The contribution was provided directly to me by some other
+ person who certified (a), (b) or (c) and I have not modified
+ it.
+
+(d) I understand and agree that this project and the contribution
+ are public and that a record of the contribution (including all
+ personal information I submit with it, including my sign-off) is
+ maintained indefinitely and may be redistributed consistent with
+ this project or the open source license(s) involved.
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..19c0276
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,83 @@
+Build Instructions
+------------------
+
+* Requirements
+ ------------
+
+ - A POSIX-compliant set of utils
+ - A set of OS specific utils
+ - s6 https://skarnet.org/software/s6/
+ - s6-rc https://skarnet.org/software/s6-rc/
+ - execline https://skarnet.org/software/execline/
+
+ This software will run on any operating system that implements
+POSIX.1-2008, available at:
+ https://pubs.opengroup.org/onlinepubs/9699919799/
+
+
+* Standard usage
+ --------------
+
+ ./configure && make && sudo make install
+
+ will work for most users.
+
+
+* Customization
+ -------------
+
+ You can customize paths via flags given to configure.
+ See ./configure --help for a list of all available configure options.
+
+* Make variables
+ --------------
+
+ You can invoke make with a few variables for more configuration.
+
+ INSTALL can be overridden on the make command line. This is
+an even bigger hammer than running ./configure with environment
+variables, so it is advised to only do this when it is the only way of
+obtaining the behaviour you want.
+
+ DESTDIR can be given on the "make install" command line in order to
+install to a staging directory.
+
+* The slashpackage convention
+ ---------------------------
+
+ The slashpackage convention (http://cr.yp.to/slashpackage.html)
+is a package installation scheme that provides a few guarantees
+over other conventions such as the FHS, for instance fixed
+absolute pathnames. skarnet.org packages support it: use the
+--enable-slashpackage option to configure, or
+--enable-slashpackage=DIR for a prefixed DIR/package tree.
+This option will activate slashpackage support during the build
+and set slashpackage-compatible installation directories.
+If $package_home is the home of the package, defined as
+DIR/package/$category/$package-$version with the variables
+read from the package/info file, then:
+
+ --bindir is set to $package_home/command
+ --sbindir is also set to $package_home/command (slashpackage
+differentiates root-only binaries by their Unix rights, not their
+location in the filesystem)
+ --libdir is set to $package_home/
+
+ --prefix is pretty much ignored when you use --enable-slashpackage.
+You should probably not use both --enable-slashpackage and --prefix.
+
+ When using slashpackage, two additional Makefile targets are
+available after "make install":
+ - "make update" changes the default version of the software to the
+freshly installed one. (This is useful when you have several installed
+versions of the same software, which slashpackage supports.)
+ - "make global-links" adds links from /command and /library.so to the
+default version of the binaries and shared libraries.
+
+
+* Out-of-tree builds
+ ------------------
+
+ This package does not support out-of-tree builds. It
+is small, so it does not cost much to duplicate the entire
+source tree if parallel builds are needed.
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0e68c25
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,87 @@
+#
+# This makefile requires make compliant with POSIX Issue 8.
+# It also reliably works with modern GNU make.
+# Do not make changes here.
+# Use the included .mak files.
+#
+
+.POSIX:
+
+IT = conferror
+
+-include config.mak
+
+it: $(IT)
+
+conferror:
+ @echo "Please use ./configure first." ; exit 1
+
+ALL_EXTRAS ::=
+INSTALL_EXTRAS ::=
+
+-include package/extras.mak
+
+include package/targets.mak
+include package/deps.mak
+
+INSTALL ::= ./tools/install.sh
+
+all: $(ALL_BINS) $(ALL_LIBS) $(ALL_EXTRAS)
+
+clean:
+ @exec rm -rf -- $(ALL_BINS) service source bundle etc
+
+distclean: clean
+ @exec rm -f -- config.mak
+
+tgz: distclean
+ @. package/info && \
+ rm -rf /tmp/$$package-$$version && \
+ cp -a . /tmp/$$package-$$version && \
+ cd /tmp && \
+ tar -zpcv --owner=0 --group=0 --numeric-owner --exclude=.git* -f /tmp/$$package-$$version.tar.gz $$package-$$version && \
+ exec rm -rf /tmp/$$package-$$version
+
+install: $(INSTALL_BINS) $(INSTALL_LIBS) $(INSTALL_EXTRAS)
+
+$(ALL_BINS) $(ALL_LIBS):
+ @test -z $$(dirname "$@") || mkdir -p -- $$(dirname "$@")
+ exec sed \
+ -e 's/@syslogdir@/$(syslogdir)/g' \
+ -e 's/@usrlogdir@/$(usrlogdir)/g' \
+ -e 's/@logdep@/$(logdep)/g' \
+ -e 's/@logconfig@/$(logconfig)/g' \
+ -e 's/@loguser@/$(loguser)/g' \
+ -e 's/@sysconfdir@/$(sysconfdir)/g' \
+ -e 's/@usrconfdir@/$(usrconfdir)/g' \
+ -e 's/@tmpfsdir@/$(tmpfsdir)/g' \
+ -e 's/@sysrundir@/$(sysrundir)/g' \
+ -e 's/@usrrundir@/$(usrrundir)/g' \
+ -e 's/@timeout@/$(timeout)/g' \
+ -e 's/@shebangdir@/$(shebangdir)/g' \
+ -- $^ > $@
+
+$(INSTALL_BINS) $(INSTALL_LIBS):
+ exec $(INSTALL) -D -m 644 $^ $@
+ grep -F -- $^ - < package/modes | { read name mode owner && \
+ if [ x$${mode} != x ] ; then chmod $${mode} $@ ; fi && \
+ if [ x$${owner} != x ] ; then chown -- $${owner} $@ ; fi ; } || exit 0
+
+
+$(DESTDIR)$(exthome):
+ exec $(INSTALL) -D -l $(package)-$(version) $@
+
+$(SLASHCOMMAND_BINS):
+ exec $(INSTALL) -D -l $(exthome)/command/$$(basename $@) $@
+
+update: $(DESTDIR)$(exthome)
+global-links: $(SLASHCOMMAND_BINS)
+
+uninstall:
+ exec rm -f $(INSTALL_BINS) $(SLASHCOMMAND_BINS)
+ exec rm -Rf $(libdir)
+
+.PHONY: \
+ it all clean distclean tgz update global-links \
+ install uninstall \
+ $(DESTDIR)$(exthome) $(SLASHCOMMAND_BINS)
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..843464f
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,6 @@
+Changelog for goetia-base.
+
+In 0.0.0.1
+----------
+
+ - Initial release
diff --git a/configure b/configure
new file mode 100755
index 0000000..5facfc0
--- /dev/null
+++ b/configure
@@ -0,0 +1,196 @@
+#!/bin/sh
+
+cd `dirname "$0"`
+. package/info
+
+usage () {
+cat </dev/null 2>&1 && { echo "$1" ; return 0 ; }
+$1
+EOF
+ echo "$1" | sed -e "s/'/'\\\\''/g" -e "1s/^/'/" -e "\$s/\$/'/" -e "s#^'\([-[:alnum:]_,./:]*\)=\(.*\)\$#\1='\2#" -e "s|\*/|* /|g"
+}
+
+fail () {
+ echo "$*"
+ exit 1
+}
+
+fnmatch () {
+ eval "case \"\$2\" in $1) return 0 ;; *) return 1 ;; esac"
+}
+
+stripdir () {
+ while eval "fnmatch '*/' \"\${$1}\"" ; do
+ eval "$1=\${$1%/}"
+ done
+}
+
+escapeslash () {
+ echo "$1" | sed -e 's/\//\\\//g'
+}
+
+# Actual script
+
+prefix=
+exec_prefix='$prefix'
+bindir='$exec_prefix/bin'
+libdir='$prefix/lib/$package'
+
+shebangdir='$prefix/bin'
+
+syslogdir='$prefix/var/log/goetia'
+usrlogdir='.local/state/log'
+
+logconfig='n3 T'
+loguser='logger'
+logdep='mount'
+
+sysconfdir='$prefix/etc/goetia/system'
+usrconfdir='.config/goetia'
+
+tmpfsdir='$prefix/run'
+sysrundir='system'
+usrrundir='user'
+
+timeout=60000
+
+slashpackage=false
+sproot=
+home=
+exthome=
+build=
+
+for arg ; do
+ case "$arg" in
+ --help) usage ;;
+ --prefix=*) prefix=${arg#*=} ;;
+ --exec-prefix=*) exec_prefix=${arg#*=} ;;
+ --bindir=*) bindir=${arg#*=} ;;
+ --libdir=*) libdir=${arg#*=} ;;
+ --shebangdir=*) shebangdir=${arg#*=} ;;
+ --syslogdir=*) syslogdir=${arg#*=} ;;
+ --usrlogdir=*) usrlogdir=${arg#*=} ;;
+ --logconfig=*) logconfig=${arg#*=} ;;
+ --loguser=*) loguser=${arg#*=} ;;
+ --logdep=*) logdep=${arg#*=} ;;
+ --sysconfdir=*) sysconfdir=${arg#*=} ;;
+ --usrconfdir=*) usrconfdir=${arg#*=} ;;
+ --tmpfsdir=*) tmpfsdir=${arg#*=} ;;
+ --sysrundir=*) sysrundir=${arg#*=} ;;
+ --usrrundir=*) usrrundir=${arg#*=} ;;
+ --timeout=*) timeout=${arg#*=} ;;
+ --enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;;
+ --enable-slashpackage) sproot= ; slashpackage=true ;;
+ --disable-slashpackage) sproot= ; installtype=fhs ;;
+ --enable-*|--disable-*|--with-*|--without-*|--*dir=*) ;;
+ -* ) echo "$0: unknown option $arg" ;;
+ *=*) eval "${arg%%=*}=\${arg#*=}" ;;
+ *) target=$arg ;;
+ esac
+done
+
+# Expand installation directories
+stripdir prefix
+for i in exec_prefix bindir libdir shebangdir syslogdir usrlogdir sysconfdir usrconfdir tmpfsdir sysrundir usrrundir sproot ; do
+ eval tmp=\${$i}
+ eval $i=$tmp
+ stripdir $i
+done
+
+# Set slashpackage values
+if $slashpackage ; then
+ home=${sproot}/package/${category}/${package}-${version}
+ exthome=${sproot}/package/${category}/${package}
+ extbinprefix=${exthome}/command
+ bindir=${home}/command
+ libdir=${home}
+fi
+
+echo "Creating config.mak..."
+cmdline=$(quote "$0")
+for i ; do cmdline="$cmdline $(quote "$i")" ; done
+exec 3>&1 1>config.mak
+cat << EOF
+# This file was generated by:
+# $cmdline
+# Any changes made here will be lost if configure is re-run.
+
+IT ::= all
+
+package ::= $package
+prefix ::= $prefix
+exec_prefix ::= $exec_prefix
+bindir ::= $bindir
+libdir ::= $libdir
+shebangdir ::= $(escapeslash "$shebangdir")
+syslogdir ::= $(escapeslash "$syslogdir")
+usrlogdir ::= $(escapeslash "$usrlogdir")
+logconfig ::= $(escapeslash "$logconfig")
+loguser ::= $(escapeslash "$loguser")
+logdep ::= $(escapeslash "$logdep")
+sysconfdir ::= $(escapeslash "$sysconfdir")
+usrconfdir ::= $(escapeslash "$usrconfdir")
+tmpfsdir ::= $(escapeslash "$tmpfsdir")
+sysrundir ::= $(escapeslash "$sysrundir")
+usrrundir ::= $(escapeslash "$usrrundir")
+timeout ::= $timeout
+slashpackage ::= $slashpackage
+sproot ::= $sproot
+version ::= $version
+home ::= $home
+exthome ::= $exthome
+EOF
+
+exec 1>&3 3>&-
+echo " ... done."
diff --git a/package/deps.mak b/package/deps.mak
new file mode 100644
index 0000000..255ecdc
--- /dev/null
+++ b/package/deps.mak
@@ -0,0 +1,420 @@
+#
+# This file has been generated by tools/gen-deps.sh
+#
+
+compile-db: src/bin/compile-db
+$(DESTDIR)$(bindir)/compile-db: compile-db
+longrun-make: src/bin/longrun-make
+$(DESTDIR)$(bindir)/longrun-make: longrun-make
+oneshot-make: src/bin/oneshot-make
+$(DESTDIR)$(bindir)/oneshot-make: oneshot-make
+prepare-svscan: src/bin/prepare-svscan
+$(DESTDIR)$(bindir)/prepare-svscan: prepare-svscan
+system-db: src/bin/system-db
+$(DESTDIR)$(bindir)/system-db: system-db
+system-ml: src/bin/system-ml
+$(DESTDIR)$(bindir)/system-ml: system-ml
+system-rc: src/bin/system-rc
+$(DESTDIR)$(bindir)/system-rc: system-rc
+system-run: src/bin/system-run
+$(DESTDIR)$(bindir)/system-run: system-run
+system-shutdown-daemon: src/bin/system-shutdown-daemon
+$(DESTDIR)$(bindir)/system-shutdown-daemon: system-shutdown-daemon
+user-db: src/bin/user-db
+$(DESTDIR)$(bindir)/user-db: user-db
+user-init: src/bin/user-init
+$(DESTDIR)$(bindir)/user-init: user-init
+user-ml: src/bin/user-ml
+$(DESTDIR)$(bindir)/user-ml: user-ml
+user-rc: src/bin/user-rc
+$(DESTDIR)$(bindir)/user-rc: user-rc
+user-run: src/bin/user-run
+$(DESTDIR)$(bindir)/user-run: user-run
+user-shutdown: src/bin/user-shutdown
+$(DESTDIR)$(bindir)/user-shutdown: user-shutdown
+user-tmpfs: src/bin/user-tmpfs
+$(DESTDIR)$(bindir)/user-tmpfs: user-tmpfs
+service/system/s6-svscan-log/run: src/lib/service/system/s6-svscan-log/run
+$(DESTDIR)$(libdir)/service/system/s6-svscan-log/run: service/system/s6-svscan-log/run
+service/system/s6-svscan-log/notification-fd: src/lib/service/system/s6-svscan-log/notification-fd
+$(DESTDIR)$(libdir)/service/system/s6-svscan-log/notification-fd: service/system/s6-svscan-log/notification-fd
+service/system/.s6-svscan/crash: src/lib/service/system/.s6-svscan/crash
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/crash: service/system/.s6-svscan/crash
+service/system/.s6-svscan/SIGUSR1: src/lib/service/system/.s6-svscan/SIGUSR1
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGUSR1: service/system/.s6-svscan/SIGUSR1
+service/system/.s6-svscan/finish: src/lib/service/system/.s6-svscan/finish
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/finish: service/system/.s6-svscan/finish
+service/system/.s6-svscan/SIGQUIT: src/lib/service/system/.s6-svscan/SIGQUIT
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGQUIT: service/system/.s6-svscan/SIGQUIT
+service/system/.s6-svscan/SIGINT: src/lib/service/system/.s6-svscan/SIGINT
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGINT: service/system/.s6-svscan/SIGINT
+service/system/.s6-svscan/SIGUSR2: src/lib/service/system/.s6-svscan/SIGUSR2
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGUSR2: service/system/.s6-svscan/SIGUSR2
+service/system/.s6-svscan/SIGWINCH: src/lib/service/system/.s6-svscan/SIGWINCH
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGWINCH: service/system/.s6-svscan/SIGWINCH
+service/system/.s6-svscan/SIGTERM: src/lib/service/system/.s6-svscan/SIGTERM
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGTERM: service/system/.s6-svscan/SIGTERM
+service/system/.s6-svscan/SIGPWR: src/lib/service/system/.s6-svscan/SIGPWR
+$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGPWR: service/system/.s6-svscan/SIGPWR
+service/system/s6-svscan-log-console/run: src/lib/service/system/s6-svscan-log-console/run
+$(DESTDIR)$(libdir)/service/system/s6-svscan-log-console/run: service/system/s6-svscan-log-console/run
+service/system/s6-svscan-log-console/notification-fd: src/lib/service/system/s6-svscan-log-console/notification-fd
+$(DESTDIR)$(libdir)/service/system/s6-svscan-log-console/notification-fd: service/system/s6-svscan-log-console/notification-fd
+service/system/goetia-runner/run: src/lib/service/system/goetia-runner/run
+$(DESTDIR)$(libdir)/service/system/goetia-runner/run: service/system/goetia-runner/run
+service/system/goetia-runner/notification-fd: src/lib/service/system/goetia-runner/notification-fd
+$(DESTDIR)$(libdir)/service/system/goetia-runner/notification-fd: service/system/goetia-runner/notification-fd
+service/user/s6-svscan-log/run: src/lib/service/user/s6-svscan-log/run
+$(DESTDIR)$(libdir)/service/user/s6-svscan-log/run: service/user/s6-svscan-log/run
+service/user/s6-svscan-log/notification-fd: src/lib/service/user/s6-svscan-log/notification-fd
+$(DESTDIR)$(libdir)/service/user/s6-svscan-log/notification-fd: service/user/s6-svscan-log/notification-fd
+service/user/.s6-svscan/SIGTERM: src/lib/service/user/.s6-svscan/SIGTERM
+$(DESTDIR)$(libdir)/service/user/.s6-svscan/SIGTERM: service/user/.s6-svscan/SIGTERM
+service/user/goetia-runner/run: src/lib/service/user/goetia-runner/run
+$(DESTDIR)$(libdir)/service/user/goetia-runner/run: service/user/goetia-runner/run
+service/user/goetia-runner/notification-fd: src/lib/service/user/goetia-runner/notification-fd
+$(DESTDIR)$(libdir)/service/user/goetia-runner/notification-fd: service/user/goetia-runner/notification-fd
+source/system/other/dbus-daemon-srv/run: src/lib/source/system/other/dbus-daemon-srv/run
+$(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/run: source/system/other/dbus-daemon-srv/run
+source/system/other/dbus-daemon-srv/type: src/lib/source/system/other/dbus-daemon-srv/type
+$(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/type: source/system/other/dbus-daemon-srv/type
+source/system/other/dbus-daemon-srv/notification-fd: src/lib/source/system/other/dbus-daemon-srv/notification-fd
+$(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/notification-fd: source/system/other/dbus-daemon-srv/notification-fd
+source/system/other/dbus-daemon-srv/producer-for: src/lib/source/system/other/dbus-daemon-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/producer-for: source/system/other/dbus-daemon-srv/producer-for
+source/system/other/sshd-srv/run: src/lib/source/system/other/sshd-srv/run
+$(DESTDIR)$(libdir)/source/system/other/sshd-srv/run: source/system/other/sshd-srv/run
+source/system/other/sshd-srv/type: src/lib/source/system/other/sshd-srv/type
+$(DESTDIR)$(libdir)/source/system/other/sshd-srv/type: source/system/other/sshd-srv/type
+source/system/other/sshd-srv/dependencies.d/networking: src/lib/source/system/other/sshd-srv/dependencies.d/networking
+$(DESTDIR)$(libdir)/source/system/other/sshd-srv/dependencies.d/networking: source/system/other/sshd-srv/dependencies.d/networking
+source/system/other/sshd-srv/producer-for: src/lib/source/system/other/sshd-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/other/sshd-srv/producer-for: source/system/other/sshd-srv/producer-for
+source/system/other/cupsd-srv/run: src/lib/source/system/other/cupsd-srv/run
+$(DESTDIR)$(libdir)/source/system/other/cupsd-srv/run: source/system/other/cupsd-srv/run
+source/system/other/cupsd-srv/type: src/lib/source/system/other/cupsd-srv/type
+$(DESTDIR)$(libdir)/source/system/other/cupsd-srv/type: source/system/other/cupsd-srv/type
+source/system/other/cupsd-srv/producer-for: src/lib/source/system/other/cupsd-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/other/cupsd-srv/producer-for: source/system/other/cupsd-srv/producer-for
+source/system/admin/seatd-srv/run: src/lib/source/system/admin/seatd-srv/run
+$(DESTDIR)$(libdir)/source/system/admin/seatd-srv/run: source/system/admin/seatd-srv/run
+source/system/admin/seatd-srv/type: src/lib/source/system/admin/seatd-srv/type
+$(DESTDIR)$(libdir)/source/system/admin/seatd-srv/type: source/system/admin/seatd-srv/type
+source/system/admin/seatd-srv/notification-fd: src/lib/source/system/admin/seatd-srv/notification-fd
+$(DESTDIR)$(libdir)/source/system/admin/seatd-srv/notification-fd: source/system/admin/seatd-srv/notification-fd
+source/system/admin/seatd-srv/dependencies.d/mount-dev: src/lib/source/system/admin/seatd-srv/dependencies.d/mount-dev
+$(DESTDIR)$(libdir)/source/system/admin/seatd-srv/dependencies.d/mount-dev: source/system/admin/seatd-srv/dependencies.d/mount-dev
+source/system/admin/seatd-srv/dependencies.d/mount-run: src/lib/source/system/admin/seatd-srv/dependencies.d/mount-run
+$(DESTDIR)$(libdir)/source/system/admin/seatd-srv/dependencies.d/mount-run: source/system/admin/seatd-srv/dependencies.d/mount-run
+source/system/admin/seatd-srv/producer-for: src/lib/source/system/admin/seatd-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/admin/seatd-srv/producer-for: source/system/admin/seatd-srv/producer-for
+source/system/admin/greetd-srv/run: src/lib/source/system/admin/greetd-srv/run
+$(DESTDIR)$(libdir)/source/system/admin/greetd-srv/run: source/system/admin/greetd-srv/run
+source/system/admin/greetd-srv/type: src/lib/source/system/admin/greetd-srv/type
+$(DESTDIR)$(libdir)/source/system/admin/greetd-srv/type: source/system/admin/greetd-srv/type
+source/system/admin/greetd-srv/dependencies.d/mount-run: src/lib/source/system/admin/greetd-srv/dependencies.d/mount-run
+$(DESTDIR)$(libdir)/source/system/admin/greetd-srv/dependencies.d/mount-run: source/system/admin/greetd-srv/dependencies.d/mount-run
+source/system/admin/greetd-srv/dependencies.d/udev: src/lib/source/system/admin/greetd-srv/dependencies.d/udev
+$(DESTDIR)$(libdir)/source/system/admin/greetd-srv/dependencies.d/udev: source/system/admin/greetd-srv/dependencies.d/udev
+source/system/admin/greetd-srv/dependencies.d/seat-manager: src/lib/source/system/admin/greetd-srv/dependencies.d/seat-manager
+$(DESTDIR)$(libdir)/source/system/admin/greetd-srv/dependencies.d/seat-manager: source/system/admin/greetd-srv/dependencies.d/seat-manager
+source/system/admin/greetd-srv/producer-for: src/lib/source/system/admin/greetd-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/admin/greetd-srv/producer-for: source/system/admin/greetd-srv/producer-for
+source/system/cron/dcron-srv/run: src/lib/source/system/cron/dcron-srv/run
+$(DESTDIR)$(libdir)/source/system/cron/dcron-srv/run: source/system/cron/dcron-srv/run
+source/system/cron/dcron-srv/type: src/lib/source/system/cron/dcron-srv/type
+$(DESTDIR)$(libdir)/source/system/cron/dcron-srv/type: source/system/cron/dcron-srv/type
+source/system/cron/dcron-srv/producer-for: src/lib/source/system/cron/dcron-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/cron/dcron-srv/producer-for: source/system/cron/dcron-srv/producer-for
+source/system/ntp/chronyd-srv/run: src/lib/source/system/ntp/chronyd-srv/run
+$(DESTDIR)$(libdir)/source/system/ntp/chronyd-srv/run: source/system/ntp/chronyd-srv/run
+source/system/ntp/chronyd-srv/type: src/lib/source/system/ntp/chronyd-srv/type
+$(DESTDIR)$(libdir)/source/system/ntp/chronyd-srv/type: source/system/ntp/chronyd-srv/type
+source/system/ntp/chronyd-srv/dependencies.d/networking: src/lib/source/system/ntp/chronyd-srv/dependencies.d/networking
+$(DESTDIR)$(libdir)/source/system/ntp/chronyd-srv/dependencies.d/networking: source/system/ntp/chronyd-srv/dependencies.d/networking
+source/system/ntp/chronyd-srv/producer-for: src/lib/source/system/ntp/chronyd-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/ntp/chronyd-srv/producer-for: source/system/ntp/chronyd-srv/producer-for
+source/system/db/mariadbd-srv/run: src/lib/source/system/db/mariadbd-srv/run
+$(DESTDIR)$(libdir)/source/system/db/mariadbd-srv/run: source/system/db/mariadbd-srv/run
+source/system/db/mariadbd-srv/type: src/lib/source/system/db/mariadbd-srv/type
+$(DESTDIR)$(libdir)/source/system/db/mariadbd-srv/type: source/system/db/mariadbd-srv/type
+source/system/db/mariadbd-srv/producer-for: src/lib/source/system/db/mariadbd-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/db/mariadbd-srv/producer-for: source/system/db/mariadbd-srv/producer-for
+source/system/db/mysqld-srv/run: src/lib/source/system/db/mysqld-srv/run
+$(DESTDIR)$(libdir)/source/system/db/mysqld-srv/run: source/system/db/mysqld-srv/run
+source/system/db/mysqld-srv/type: src/lib/source/system/db/mysqld-srv/type
+$(DESTDIR)$(libdir)/source/system/db/mysqld-srv/type: source/system/db/mysqld-srv/type
+source/system/db/mysqld-srv/producer-for: src/lib/source/system/db/mysqld-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/db/mysqld-srv/producer-for: source/system/db/mysqld-srv/producer-for
+source/system/bundle/networking/type: src/lib/source/system/bundle/networking/type
+$(DESTDIR)$(libdir)/source/system/bundle/networking/type: source/system/bundle/networking/type
+source/system/bundle/system-bus/type: src/lib/source/system/bundle/system-bus/type
+$(DESTDIR)$(libdir)/source/system/bundle/system-bus/type: source/system/bundle/system-bus/type
+source/system/bundle/udev/type: src/lib/source/system/bundle/udev/type
+$(DESTDIR)$(libdir)/source/system/bundle/udev/type: source/system/bundle/udev/type
+source/system/bundle/firewall/type: src/lib/source/system/bundle/firewall/type
+$(DESTDIR)$(libdir)/source/system/bundle/firewall/type: source/system/bundle/firewall/type
+source/system/bundle/seat-manager/type: src/lib/source/system/bundle/seat-manager/type
+$(DESTDIR)$(libdir)/source/system/bundle/seat-manager/type: source/system/bundle/seat-manager/type
+source/system/bundle/default/type: src/lib/source/system/bundle/default/type
+$(DESTDIR)$(libdir)/source/system/bundle/default/type: source/system/bundle/default/type
+source/system/bundle/mount/type: src/lib/source/system/bundle/mount/type
+$(DESTDIR)$(libdir)/source/system/bundle/mount/type: source/system/bundle/mount/type
+source/system/net/wpa_supplicant-srv/run: src/lib/source/system/net/wpa_supplicant-srv/run
+$(DESTDIR)$(libdir)/source/system/net/wpa_supplicant-srv/run: source/system/net/wpa_supplicant-srv/run
+source/system/net/wpa_supplicant-srv/type: src/lib/source/system/net/wpa_supplicant-srv/type
+$(DESTDIR)$(libdir)/source/system/net/wpa_supplicant-srv/type: source/system/net/wpa_supplicant-srv/type
+source/system/net/wpa_supplicant-srv/dependencies.d/system-bus: src/lib/source/system/net/wpa_supplicant-srv/dependencies.d/system-bus
+$(DESTDIR)$(libdir)/source/system/net/wpa_supplicant-srv/dependencies.d/system-bus: source/system/net/wpa_supplicant-srv/dependencies.d/system-bus
+source/system/net/wpa_supplicant-srv/producer-for: src/lib/source/system/net/wpa_supplicant-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/net/wpa_supplicant-srv/producer-for: source/system/net/wpa_supplicant-srv/producer-for
+source/system/net/dhcpcd-srv/run: src/lib/source/system/net/dhcpcd-srv/run
+$(DESTDIR)$(libdir)/source/system/net/dhcpcd-srv/run: source/system/net/dhcpcd-srv/run
+source/system/net/dhcpcd-srv/type: src/lib/source/system/net/dhcpcd-srv/type
+$(DESTDIR)$(libdir)/source/system/net/dhcpcd-srv/type: source/system/net/dhcpcd-srv/type
+source/system/net/dhcpcd-srv/dependencies.d/udev: src/lib/source/system/net/dhcpcd-srv/dependencies.d/udev
+$(DESTDIR)$(libdir)/source/system/net/dhcpcd-srv/dependencies.d/udev: source/system/net/dhcpcd-srv/dependencies.d/udev
+source/system/net/dhcpcd-srv/producer-for: src/lib/source/system/net/dhcpcd-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/net/dhcpcd-srv/producer-for: source/system/net/dhcpcd-srv/producer-for
+source/system/web/gate-srv/run: src/lib/source/system/web/gate-srv/run
+$(DESTDIR)$(libdir)/source/system/web/gate-srv/run: source/system/web/gate-srv/run
+source/system/web/gate-srv/type: src/lib/source/system/web/gate-srv/type
+$(DESTDIR)$(libdir)/source/system/web/gate-srv/type: source/system/web/gate-srv/type
+source/system/web/gate-srv/dependencies.d/udev: src/lib/source/system/web/gate-srv/dependencies.d/udev
+$(DESTDIR)$(libdir)/source/system/web/gate-srv/dependencies.d/udev: source/system/web/gate-srv/dependencies.d/udev
+source/system/web/gate-srv/producer-for: src/lib/source/system/web/gate-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/web/gate-srv/producer-for: source/system/web/gate-srv/producer-for
+source/system/web/nginx-srv/run: src/lib/source/system/web/nginx-srv/run
+$(DESTDIR)$(libdir)/source/system/web/nginx-srv/run: source/system/web/nginx-srv/run
+source/system/web/nginx-srv/type: src/lib/source/system/web/nginx-srv/type
+$(DESTDIR)$(libdir)/source/system/web/nginx-srv/type: source/system/web/nginx-srv/type
+source/system/web/nginx-srv/producer-for: src/lib/source/system/web/nginx-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/web/nginx-srv/producer-for: source/system/web/nginx-srv/producer-for
+source/system/web/radicale-srv/run: src/lib/source/system/web/radicale-srv/run
+$(DESTDIR)$(libdir)/source/system/web/radicale-srv/run: source/system/web/radicale-srv/run
+source/system/web/radicale-srv/type: src/lib/source/system/web/radicale-srv/type
+$(DESTDIR)$(libdir)/source/system/web/radicale-srv/type: source/system/web/radicale-srv/type
+source/system/web/radicale-srv/dependencies.d/mount: src/lib/source/system/web/radicale-srv/dependencies.d/mount
+$(DESTDIR)$(libdir)/source/system/web/radicale-srv/dependencies.d/mount: source/system/web/radicale-srv/dependencies.d/mount
+source/system/web/radicale-srv/producer-for: src/lib/source/system/web/radicale-srv/producer-for
+$(DESTDIR)$(libdir)/source/system/web/radicale-srv/producer-for: source/system/web/radicale-srv/producer-for
+source/user/audio-daemon/pipewire-pulse-srv/run: src/lib/source/user/audio-daemon/pipewire-pulse-srv/run
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/run: source/user/audio-daemon/pipewire-pulse-srv/run
+source/user/audio-daemon/pipewire-pulse-srv/type: src/lib/source/user/audio-daemon/pipewire-pulse-srv/type
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/type: source/user/audio-daemon/pipewire-pulse-srv/type
+source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire: src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire: source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire
+source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir: src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir: source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir
+source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus: src/lib/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus: source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus
+source/user/audio-daemon/pipewire-pulse-srv/producer-for: src/lib/source/user/audio-daemon/pipewire-pulse-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/producer-for: source/user/audio-daemon/pipewire-pulse-srv/producer-for
+source/user/audio-daemon/pipewire-srv/run: src/lib/source/user/audio-daemon/pipewire-srv/run
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/run: source/user/audio-daemon/pipewire-srv/run
+source/user/audio-daemon/pipewire-srv/type: src/lib/source/user/audio-daemon/pipewire-srv/type
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/type: source/user/audio-daemon/pipewire-srv/type
+source/user/audio-daemon/pipewire-srv/notification-fd: src/lib/source/user/audio-daemon/pipewire-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/notification-fd: source/user/audio-daemon/pipewire-srv/notification-fd
+source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir: src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir: source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir
+source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus: src/lib/source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus: source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus
+source/user/audio-daemon/pipewire-srv/producer-for: src/lib/source/user/audio-daemon/pipewire-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/producer-for: source/user/audio-daemon/pipewire-srv/producer-for
+source/user/audio-daemon/wireplumber-srv/run: src/lib/source/user/audio-daemon/wireplumber-srv/run
+$(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/run: source/user/audio-daemon/wireplumber-srv/run
+source/user/audio-daemon/wireplumber-srv/type: src/lib/source/user/audio-daemon/wireplumber-srv/type
+$(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/type: source/user/audio-daemon/wireplumber-srv/type
+source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire: src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire
+$(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire: source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire
+source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus: src/lib/source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus: source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus
+source/user/audio-daemon/wireplumber-srv/producer-for: src/lib/source/user/audio-daemon/wireplumber-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/producer-for: source/user/audio-daemon/wireplumber-srv/producer-for
+source/user/xdg/xdg-document-portal-srv/run: src/lib/source/user/xdg/xdg-document-portal-srv/run
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-document-portal-srv/run: source/user/xdg/xdg-document-portal-srv/run
+source/user/xdg/xdg-document-portal-srv/type: src/lib/source/user/xdg/xdg-document-portal-srv/type
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-document-portal-srv/type: source/user/xdg/xdg-document-portal-srv/type
+source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus: src/lib/source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus: source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus
+source/user/xdg/xdg-document-portal-srv/producer-for: src/lib/source/user/xdg/xdg-document-portal-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-document-portal-srv/producer-for: source/user/xdg/xdg-document-portal-srv/producer-for
+source/user/xdg/xdg-desktop-portal-hyprland-srv/run: src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/run
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-hyprland-srv/run: source/user/xdg/xdg-desktop-portal-hyprland-srv/run
+source/user/xdg/xdg-desktop-portal-hyprland-srv/type: src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/type
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-hyprland-srv/type: source/user/xdg/xdg-desktop-portal-hyprland-srv/type
+source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor: src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor: source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor
+source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for: src/lib/source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for: source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for
+source/user/xdg/xdg-runtime-dir/up: src/lib/source/user/xdg/xdg-runtime-dir/up
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-runtime-dir/up: source/user/xdg/xdg-runtime-dir/up
+source/user/xdg/xdg-runtime-dir/type: src/lib/source/user/xdg/xdg-runtime-dir/type
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-runtime-dir/type: source/user/xdg/xdg-runtime-dir/type
+source/user/xdg/xdg-runtime-dir/down: src/lib/source/user/xdg/xdg-runtime-dir/down
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-runtime-dir/down: source/user/xdg/xdg-runtime-dir/down
+source/user/xdg/xdg-permission-store-srv/run: src/lib/source/user/xdg/xdg-permission-store-srv/run
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-permission-store-srv/run: source/user/xdg/xdg-permission-store-srv/run
+source/user/xdg/xdg-permission-store-srv/type: src/lib/source/user/xdg/xdg-permission-store-srv/type
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-permission-store-srv/type: source/user/xdg/xdg-permission-store-srv/type
+source/user/xdg/xdg-permission-store-srv/producer-for: src/lib/source/user/xdg/xdg-permission-store-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-permission-store-srv/producer-for: source/user/xdg/xdg-permission-store-srv/producer-for
+source/user/xdg/xdg-desktop-portal-srv/run: src/lib/source/user/xdg/xdg-desktop-portal-srv/run
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-srv/run: source/user/xdg/xdg-desktop-portal-srv/run
+source/user/xdg/xdg-desktop-portal-srv/type: src/lib/source/user/xdg/xdg-desktop-portal-srv/type
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-srv/type: source/user/xdg/xdg-desktop-portal-srv/type
+source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor: src/lib/source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor: source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor
+source/user/xdg/xdg-desktop-portal-srv/producer-for: src/lib/source/user/xdg/xdg-desktop-portal-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-srv/producer-for: source/user/xdg/xdg-desktop-portal-srv/producer-for
+source/user/notification-daemon/dunst-srv/run: src/lib/source/user/notification-daemon/dunst-srv/run
+$(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/run: source/user/notification-daemon/dunst-srv/run
+source/user/notification-daemon/dunst-srv/type: src/lib/source/user/notification-daemon/dunst-srv/type
+$(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/type: source/user/notification-daemon/dunst-srv/type
+source/user/notification-daemon/dunst-srv/notification-fd: src/lib/source/user/notification-daemon/dunst-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/notification-fd: source/user/notification-daemon/dunst-srv/notification-fd
+source/user/notification-daemon/dunst-srv/dependencies.d/compositor: src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/dependencies.d/compositor: source/user/notification-daemon/dunst-srv/dependencies.d/compositor
+source/user/notification-daemon/dunst-srv/dependencies.d/session-bus: src/lib/source/user/notification-daemon/dunst-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/dependencies.d/session-bus: source/user/notification-daemon/dunst-srv/dependencies.d/session-bus
+source/user/notification-daemon/dunst-srv/producer-for: src/lib/source/user/notification-daemon/dunst-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/producer-for: source/user/notification-daemon/dunst-srv/producer-for
+source/user/notification-daemon/fnott-srv/run: src/lib/source/user/notification-daemon/fnott-srv/run
+$(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/run: source/user/notification-daemon/fnott-srv/run
+source/user/notification-daemon/fnott-srv/type: src/lib/source/user/notification-daemon/fnott-srv/type
+$(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/type: source/user/notification-daemon/fnott-srv/type
+source/user/notification-daemon/fnott-srv/notification-fd: src/lib/source/user/notification-daemon/fnott-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/notification-fd: source/user/notification-daemon/fnott-srv/notification-fd
+source/user/notification-daemon/fnott-srv/dependencies.d/compositor: src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/dependencies.d/compositor: source/user/notification-daemon/fnott-srv/dependencies.d/compositor
+source/user/notification-daemon/fnott-srv/dependencies.d/session-bus: src/lib/source/user/notification-daemon/fnott-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/dependencies.d/session-bus: source/user/notification-daemon/fnott-srv/dependencies.d/session-bus
+source/user/notification-daemon/fnott-srv/producer-for: src/lib/source/user/notification-daemon/fnott-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/producer-for: source/user/notification-daemon/fnott-srv/producer-for
+source/user/notification-daemon/mako-srv/run: src/lib/source/user/notification-daemon/mako-srv/run
+$(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/run: source/user/notification-daemon/mako-srv/run
+source/user/notification-daemon/mako-srv/type: src/lib/source/user/notification-daemon/mako-srv/type
+$(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/type: source/user/notification-daemon/mako-srv/type
+source/user/notification-daemon/mako-srv/notification-fd: src/lib/source/user/notification-daemon/mako-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/notification-fd: source/user/notification-daemon/mako-srv/notification-fd
+source/user/notification-daemon/mako-srv/dependencies.d/compositor: src/lib/source/user/notification-daemon/mako-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/dependencies.d/compositor: source/user/notification-daemon/mako-srv/dependencies.d/compositor
+source/user/notification-daemon/mako-srv/dependencies.d/session-bus: src/lib/source/user/notification-daemon/mako-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/dependencies.d/session-bus: source/user/notification-daemon/mako-srv/dependencies.d/session-bus
+source/user/notification-daemon/mako-srv/producer-for: src/lib/source/user/notification-daemon/mako-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/producer-for: source/user/notification-daemon/mako-srv/producer-for
+source/user/notification-daemon/swaync-srv/run: src/lib/source/user/notification-daemon/swaync-srv/run
+$(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/run: source/user/notification-daemon/swaync-srv/run
+source/user/notification-daemon/swaync-srv/type: src/lib/source/user/notification-daemon/swaync-srv/type
+$(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/type: source/user/notification-daemon/swaync-srv/type
+source/user/notification-daemon/swaync-srv/notification-fd: src/lib/source/user/notification-daemon/swaync-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/notification-fd: source/user/notification-daemon/swaync-srv/notification-fd
+source/user/notification-daemon/swaync-srv/dependencies.d/compositor: src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/dependencies.d/compositor: source/user/notification-daemon/swaync-srv/dependencies.d/compositor
+source/user/notification-daemon/swaync-srv/dependencies.d/session-bus: src/lib/source/user/notification-daemon/swaync-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/dependencies.d/session-bus: source/user/notification-daemon/swaync-srv/dependencies.d/session-bus
+source/user/notification-daemon/swaync-srv/producer-for: src/lib/source/user/notification-daemon/swaync-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/producer-for: source/user/notification-daemon/swaync-srv/producer-for
+source/user/other/foot-srv/run: src/lib/source/user/other/foot-srv/run
+$(DESTDIR)$(libdir)/source/user/other/foot-srv/run: source/user/other/foot-srv/run
+source/user/other/foot-srv/type: src/lib/source/user/other/foot-srv/type
+$(DESTDIR)$(libdir)/source/user/other/foot-srv/type: source/user/other/foot-srv/type
+source/user/other/foot-srv/notification-fd: src/lib/source/user/other/foot-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/other/foot-srv/notification-fd: source/user/other/foot-srv/notification-fd
+source/user/other/foot-srv/dependencies.d/compositor: src/lib/source/user/other/foot-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/other/foot-srv/dependencies.d/compositor: source/user/other/foot-srv/dependencies.d/compositor
+source/user/other/foot-srv/producer-for: src/lib/source/user/other/foot-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/other/foot-srv/producer-for: source/user/other/foot-srv/producer-for
+source/user/other/mpd-srv/run: src/lib/source/user/other/mpd-srv/run
+$(DESTDIR)$(libdir)/source/user/other/mpd-srv/run: source/user/other/mpd-srv/run
+source/user/other/mpd-srv/type: src/lib/source/user/other/mpd-srv/type
+$(DESTDIR)$(libdir)/source/user/other/mpd-srv/type: source/user/other/mpd-srv/type
+source/user/other/mpd-srv/dependencies.d/audio: src/lib/source/user/other/mpd-srv/dependencies.d/audio
+$(DESTDIR)$(libdir)/source/user/other/mpd-srv/dependencies.d/audio: source/user/other/mpd-srv/dependencies.d/audio
+source/user/other/mpd-srv/producer-for: src/lib/source/user/other/mpd-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/other/mpd-srv/producer-for: source/user/other/mpd-srv/producer-for
+source/user/other/dconf-service-srv/run: src/lib/source/user/other/dconf-service-srv/run
+$(DESTDIR)$(libdir)/source/user/other/dconf-service-srv/run: source/user/other/dconf-service-srv/run
+source/user/other/dconf-service-srv/type: src/lib/source/user/other/dconf-service-srv/type
+$(DESTDIR)$(libdir)/source/user/other/dconf-service-srv/type: source/user/other/dconf-service-srv/type
+source/user/other/dconf-service-srv/producer-for: src/lib/source/user/other/dconf-service-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/other/dconf-service-srv/producer-for: source/user/other/dconf-service-srv/producer-for
+source/user/other/dbus-daemon-srv/run: src/lib/source/user/other/dbus-daemon-srv/run
+$(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/run: source/user/other/dbus-daemon-srv/run
+source/user/other/dbus-daemon-srv/type: src/lib/source/user/other/dbus-daemon-srv/type
+$(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/type: source/user/other/dbus-daemon-srv/type
+source/user/other/dbus-daemon-srv/notification-fd: src/lib/source/user/other/dbus-daemon-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/notification-fd: source/user/other/dbus-daemon-srv/notification-fd
+source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir: src/lib/source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir
+$(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir: source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir
+source/user/other/dbus-daemon-srv/producer-for: src/lib/source/user/other/dbus-daemon-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/producer-for: source/user/other/dbus-daemon-srv/producer-for
+source/user/other/at-spi-bus-launcher-srv/run: src/lib/source/user/other/at-spi-bus-launcher-srv/run
+$(DESTDIR)$(libdir)/source/user/other/at-spi-bus-launcher-srv/run: source/user/other/at-spi-bus-launcher-srv/run
+source/user/other/at-spi-bus-launcher-srv/type: src/lib/source/user/other/at-spi-bus-launcher-srv/type
+$(DESTDIR)$(libdir)/source/user/other/at-spi-bus-launcher-srv/type: source/user/other/at-spi-bus-launcher-srv/type
+source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus: src/lib/source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus
+$(DESTDIR)$(libdir)/source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus: source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus
+source/user/other/at-spi-bus-launcher-srv/producer-for: src/lib/source/user/other/at-spi-bus-launcher-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/other/at-spi-bus-launcher-srv/producer-for: source/user/other/at-spi-bus-launcher-srv/producer-for
+source/user/other/at-spi2-registryd-srv/run: src/lib/source/user/other/at-spi2-registryd-srv/run
+$(DESTDIR)$(libdir)/source/user/other/at-spi2-registryd-srv/run: source/user/other/at-spi2-registryd-srv/run
+source/user/other/at-spi2-registryd-srv/type: src/lib/source/user/other/at-spi2-registryd-srv/type
+$(DESTDIR)$(libdir)/source/user/other/at-spi2-registryd-srv/type: source/user/other/at-spi2-registryd-srv/type
+source/user/other/at-spi2-registryd-srv/producer-for: src/lib/source/user/other/at-spi2-registryd-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/other/at-spi2-registryd-srv/producer-for: source/user/other/at-spi2-registryd-srv/producer-for
+source/user/compositor/Hyprland-srv/run: src/lib/source/user/compositor/Hyprland-srv/run
+$(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/run: source/user/compositor/Hyprland-srv/run
+source/user/compositor/Hyprland-srv/type: src/lib/source/user/compositor/Hyprland-srv/type
+$(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/type: source/user/compositor/Hyprland-srv/type
+source/user/compositor/Hyprland-srv/finish: src/lib/source/user/compositor/Hyprland-srv/finish
+$(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/finish: source/user/compositor/Hyprland-srv/finish
+source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir: src/lib/source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir
+$(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir: source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir
+source/user/compositor/Hyprland-srv/producer-for: src/lib/source/user/compositor/Hyprland-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/producer-for: source/user/compositor/Hyprland-srv/producer-for
+source/user/clipboard-manager/wl-clip-persist-srv/run: src/lib/source/user/clipboard-manager/wl-clip-persist-srv/run
+$(DESTDIR)$(libdir)/source/user/clipboard-manager/wl-clip-persist-srv/run: source/user/clipboard-manager/wl-clip-persist-srv/run
+source/user/clipboard-manager/wl-clip-persist-srv/type: src/lib/source/user/clipboard-manager/wl-clip-persist-srv/type
+$(DESTDIR)$(libdir)/source/user/clipboard-manager/wl-clip-persist-srv/type: source/user/clipboard-manager/wl-clip-persist-srv/type
+source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor: src/lib/source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor: source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor
+source/user/clipboard-manager/wl-clip-persist-srv/producer-for: src/lib/source/user/clipboard-manager/wl-clip-persist-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/clipboard-manager/wl-clip-persist-srv/producer-for: source/user/clipboard-manager/wl-clip-persist-srv/producer-for
+source/user/desktop-widget/waybar-srv/run: src/lib/source/user/desktop-widget/waybar-srv/run
+$(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/run: source/user/desktop-widget/waybar-srv/run
+source/user/desktop-widget/waybar-srv/type: src/lib/source/user/desktop-widget/waybar-srv/type
+$(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/type: source/user/desktop-widget/waybar-srv/type
+source/user/desktop-widget/waybar-srv/notification-fd: src/lib/source/user/desktop-widget/waybar-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/notification-fd: source/user/desktop-widget/waybar-srv/notification-fd
+source/user/desktop-widget/waybar-srv/dependencies.d/compositor: src/lib/source/user/desktop-widget/waybar-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/dependencies.d/compositor: source/user/desktop-widget/waybar-srv/dependencies.d/compositor
+source/user/desktop-widget/waybar-srv/producer-for: src/lib/source/user/desktop-widget/waybar-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/producer-for: source/user/desktop-widget/waybar-srv/producer-for
+source/user/desktop-widget/yambar-srv/run: src/lib/source/user/desktop-widget/yambar-srv/run
+$(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/run: source/user/desktop-widget/yambar-srv/run
+source/user/desktop-widget/yambar-srv/type: src/lib/source/user/desktop-widget/yambar-srv/type
+$(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/type: source/user/desktop-widget/yambar-srv/type
+source/user/desktop-widget/yambar-srv/notification-fd: src/lib/source/user/desktop-widget/yambar-srv/notification-fd
+$(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/notification-fd: source/user/desktop-widget/yambar-srv/notification-fd
+source/user/desktop-widget/yambar-srv/dependencies.d/compositor: src/lib/source/user/desktop-widget/yambar-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/dependencies.d/compositor: source/user/desktop-widget/yambar-srv/dependencies.d/compositor
+source/user/desktop-widget/yambar-srv/producer-for: src/lib/source/user/desktop-widget/yambar-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/producer-for: source/user/desktop-widget/yambar-srv/producer-for
+source/user/bundle/audio/type: src/lib/source/user/bundle/audio/type
+$(DESTDIR)$(libdir)/source/user/bundle/audio/type: source/user/bundle/audio/type
+source/user/bundle/compositor/type: src/lib/source/user/bundle/compositor/type
+$(DESTDIR)$(libdir)/source/user/bundle/compositor/type: source/user/bundle/compositor/type
+source/user/bundle/default/type: src/lib/source/user/bundle/default/type
+$(DESTDIR)$(libdir)/source/user/bundle/default/type: source/user/bundle/default/type
+source/user/bundle/session-bus/type: src/lib/source/user/bundle/session-bus/type
+$(DESTDIR)$(libdir)/source/user/bundle/session-bus/type: source/user/bundle/session-bus/type
+source/user/wallpaper-daemon/hyprpaper-srv/run: src/lib/source/user/wallpaper-daemon/hyprpaper-srv/run
+$(DESTDIR)$(libdir)/source/user/wallpaper-daemon/hyprpaper-srv/run: source/user/wallpaper-daemon/hyprpaper-srv/run
+source/user/wallpaper-daemon/hyprpaper-srv/type: src/lib/source/user/wallpaper-daemon/hyprpaper-srv/type
+$(DESTDIR)$(libdir)/source/user/wallpaper-daemon/hyprpaper-srv/type: source/user/wallpaper-daemon/hyprpaper-srv/type
+source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor: src/lib/source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor
+$(DESTDIR)$(libdir)/source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor: source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor
+source/user/wallpaper-daemon/hyprpaper-srv/producer-for: src/lib/source/user/wallpaper-daemon/hyprpaper-srv/producer-for
+$(DESTDIR)$(libdir)/source/user/wallpaper-daemon/hyprpaper-srv/producer-for: source/user/wallpaper-daemon/hyprpaper-srv/producer-for
diff --git a/package/extras.mak b/package/extras.mak
new file mode 100644
index 0000000..a35439a
--- /dev/null
+++ b/package/extras.mak
@@ -0,0 +1,21 @@
+INSTALL_BUNDLE_CONTENTS ::= \
+ $(DESTDIR)$(libdir)/source/system/bundle/default/contents.d \
+ $(DESTDIR)$(libdir)/source/system/bundle/firewall/contents.d \
+ $(DESTDIR)$(libdir)/source/system/bundle/mount/contents.d \
+ $(DESTDIR)$(libdir)/source/system/bundle/networking/contents.d \
+ $(DESTDIR)$(libdir)/source/system/bundle/seat-manager/contents.d \
+ $(DESTDIR)$(libdir)/source/system/bundle/system-bus/contents.d \
+ $(DESTDIR)$(libdir)/source/system/bundle/udev/contents.d \
+ $(DESTDIR)$(libdir)/source/user/bundle/audio/contents.d \
+ $(DESTDIR)$(libdir)/source/user/bundle/compositor/contents.d \
+ $(DESTDIR)$(libdir)/source/user/bundle/default/contents.d \
+ $(DESTDIR)$(libdir)/source/user/bundle/session-bus/contents.d \
+
+$(INSTALL_BUNDLE_CONTENTS):
+ exec mkdir -p -- $@
+
+ALL_EXTRAS ::= \
+ $(ALL_BUNDLE_CONTENTS)
+
+INSTALL_EXTRAS ::= \
+ $(INSTALL_BUNDLE_CONTENTS)
diff --git a/package/info b/package/info
new file mode 100644
index 0000000..d51a386
--- /dev/null
+++ b/package/info
@@ -0,0 +1,4 @@
+package=goetia-base
+version=0.0.0.1
+category=admin
+package_macro_name=GOETIA-BASE
diff --git a/package/modes b/package/modes
new file mode 100644
index 0000000..4acc933
--- /dev/null
+++ b/package/modes
@@ -0,0 +1,35 @@
+compile-db 0755
+longrun-make 0755
+oneshot-make 0755
+prepare-svscan 0755
+system-db 0755
+system-ml 0755
+system-rc 0755
+system-run 0755
+system-shutdown-daemon 0755
+
+user-db 0755
+user-ml 0755
+user-rc 0755
+user-run 0755
+user-init 0755
+user-shutdown 0755
+user-tmpfs 0755
+
+service/system/goetia-runner/run 0755
+service/system/s6-svscan-log/run 0755
+service/system/s6-svscan-log-console/run 0755
+service/system/.s6-svscan/crash 0755
+service/system/.s6-svscan/finish 0755
+service/system/.s6-svscan/SIGINT 0755
+service/system/.s6-svscan/SIGPWR 0755
+service/system/.s6-svscan/SIGQUIT 0755
+service/system/.s6-svscan/SIGTERM 0755
+service/system/.s6-svscan/SIGUSR1 0755
+service/system/.s6-svscan/SIGUSR2 0755
+service/system/.s6-svscan/SIGWINCH 0755
+
+service/user/goetia-runner/run 0755
+service/user/s6-svscan-log/run 0755
+service/user/s6-svscan-log-console/run 0755
+service/user/.s6-svscan/SIGTERM 0755
diff --git a/package/targets.mak b/package/targets.mak
new file mode 100644
index 0000000..43cbcae
--- /dev/null
+++ b/package/targets.mak
@@ -0,0 +1,446 @@
+#
+# This file has been generated by tools/gen-targets.sh
+#
+
+ALL_BINS ::= \
+ compile-db \
+ longrun-make \
+ oneshot-make \
+ prepare-svscan \
+ system-db \
+ system-ml \
+ system-rc \
+ system-run \
+ system-shutdown-daemon \
+ user-db \
+ user-init \
+ user-ml \
+ user-rc \
+ user-run \
+ user-shutdown \
+ user-tmpfs \
+
+INSTALL_BINS ::= \
+ $(DESTDIR)$(bindir)/compile-db \
+ $(DESTDIR)$(bindir)/longrun-make \
+ $(DESTDIR)$(bindir)/oneshot-make \
+ $(DESTDIR)$(bindir)/prepare-svscan \
+ $(DESTDIR)$(bindir)/system-db \
+ $(DESTDIR)$(bindir)/system-ml \
+ $(DESTDIR)$(bindir)/system-rc \
+ $(DESTDIR)$(bindir)/system-run \
+ $(DESTDIR)$(bindir)/system-shutdown-daemon \
+ $(DESTDIR)$(bindir)/user-db \
+ $(DESTDIR)$(bindir)/user-init \
+ $(DESTDIR)$(bindir)/user-ml \
+ $(DESTDIR)$(bindir)/user-rc \
+ $(DESTDIR)$(bindir)/user-run \
+ $(DESTDIR)$(bindir)/user-shutdown \
+ $(DESTDIR)$(bindir)/user-tmpfs \
+
+SLASHCOMMAND_BINS ::= \
+ $(DESTDIR)$(sproot)/command/compile-db \
+ $(DESTDIR)$(sproot)/command/longrun-make \
+ $(DESTDIR)$(sproot)/command/oneshot-make \
+ $(DESTDIR)$(sproot)/command/prepare-svscan \
+ $(DESTDIR)$(sproot)/command/system-db \
+ $(DESTDIR)$(sproot)/command/system-ml \
+ $(DESTDIR)$(sproot)/command/system-rc \
+ $(DESTDIR)$(sproot)/command/system-run \
+ $(DESTDIR)$(sproot)/command/system-shutdown-daemon \
+ $(DESTDIR)$(sproot)/command/user-db \
+ $(DESTDIR)$(sproot)/command/user-init \
+ $(DESTDIR)$(sproot)/command/user-ml \
+ $(DESTDIR)$(sproot)/command/user-rc \
+ $(DESTDIR)$(sproot)/command/user-run \
+ $(DESTDIR)$(sproot)/command/user-shutdown \
+ $(DESTDIR)$(sproot)/command/user-tmpfs \
+
+ALL_LIBS ::= \
+ service/system/s6-svscan-log/run \
+ service/system/s6-svscan-log/notification-fd \
+ service/system/.s6-svscan/crash \
+ service/system/.s6-svscan/SIGUSR1 \
+ service/system/.s6-svscan/finish \
+ service/system/.s6-svscan/SIGQUIT \
+ service/system/.s6-svscan/SIGINT \
+ service/system/.s6-svscan/SIGUSR2 \
+ service/system/.s6-svscan/SIGWINCH \
+ service/system/.s6-svscan/SIGTERM \
+ service/system/.s6-svscan/SIGPWR \
+ service/system/s6-svscan-log-console/run \
+ service/system/s6-svscan-log-console/notification-fd \
+ service/system/goetia-runner/run \
+ service/system/goetia-runner/notification-fd \
+ service/user/s6-svscan-log/run \
+ service/user/s6-svscan-log/notification-fd \
+ service/user/.s6-svscan/SIGTERM \
+ service/user/goetia-runner/run \
+ service/user/goetia-runner/notification-fd \
+ source/system/other/dbus-daemon-srv/run \
+ source/system/other/dbus-daemon-srv/type \
+ source/system/other/dbus-daemon-srv/notification-fd \
+ source/system/other/dbus-daemon-srv/producer-for \
+ source/system/other/sshd-srv/run \
+ source/system/other/sshd-srv/type \
+ source/system/other/sshd-srv/dependencies.d/networking \
+ source/system/other/sshd-srv/producer-for \
+ source/system/other/cupsd-srv/run \
+ source/system/other/cupsd-srv/type \
+ source/system/other/cupsd-srv/producer-for \
+ source/system/admin/seatd-srv/run \
+ source/system/admin/seatd-srv/type \
+ source/system/admin/seatd-srv/notification-fd \
+ source/system/admin/seatd-srv/dependencies.d/mount-dev \
+ source/system/admin/seatd-srv/dependencies.d/mount-run \
+ source/system/admin/seatd-srv/producer-for \
+ source/system/admin/greetd-srv/run \
+ source/system/admin/greetd-srv/type \
+ source/system/admin/greetd-srv/dependencies.d/mount-run \
+ source/system/admin/greetd-srv/dependencies.d/udev \
+ source/system/admin/greetd-srv/dependencies.d/seat-manager \
+ source/system/admin/greetd-srv/producer-for \
+ source/system/cron/dcron-srv/run \
+ source/system/cron/dcron-srv/type \
+ source/system/cron/dcron-srv/producer-for \
+ source/system/ntp/chronyd-srv/run \
+ source/system/ntp/chronyd-srv/type \
+ source/system/ntp/chronyd-srv/dependencies.d/networking \
+ source/system/ntp/chronyd-srv/producer-for \
+ source/system/db/mariadbd-srv/run \
+ source/system/db/mariadbd-srv/type \
+ source/system/db/mariadbd-srv/producer-for \
+ source/system/db/mysqld-srv/run \
+ source/system/db/mysqld-srv/type \
+ source/system/db/mysqld-srv/producer-for \
+ source/system/bundle/networking/type \
+ source/system/bundle/system-bus/type \
+ source/system/bundle/udev/type \
+ source/system/bundle/firewall/type \
+ source/system/bundle/seat-manager/type \
+ source/system/bundle/default/type \
+ source/system/bundle/mount/type \
+ source/system/net/wpa_supplicant-srv/run \
+ source/system/net/wpa_supplicant-srv/type \
+ source/system/net/wpa_supplicant-srv/dependencies.d/system-bus \
+ source/system/net/wpa_supplicant-srv/producer-for \
+ source/system/net/dhcpcd-srv/run \
+ source/system/net/dhcpcd-srv/type \
+ source/system/net/dhcpcd-srv/dependencies.d/udev \
+ source/system/net/dhcpcd-srv/producer-for \
+ source/system/web/gate-srv/run \
+ source/system/web/gate-srv/type \
+ source/system/web/gate-srv/dependencies.d/udev \
+ source/system/web/gate-srv/producer-for \
+ source/system/web/nginx-srv/run \
+ source/system/web/nginx-srv/type \
+ source/system/web/nginx-srv/producer-for \
+ source/system/web/radicale-srv/run \
+ source/system/web/radicale-srv/type \
+ source/system/web/radicale-srv/dependencies.d/mount \
+ source/system/web/radicale-srv/producer-for \
+ source/user/audio-daemon/pipewire-pulse-srv/run \
+ source/user/audio-daemon/pipewire-pulse-srv/type \
+ source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire \
+ source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir \
+ source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus \
+ source/user/audio-daemon/pipewire-pulse-srv/producer-for \
+ source/user/audio-daemon/pipewire-srv/run \
+ source/user/audio-daemon/pipewire-srv/type \
+ source/user/audio-daemon/pipewire-srv/notification-fd \
+ source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir \
+ source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus \
+ source/user/audio-daemon/pipewire-srv/producer-for \
+ source/user/audio-daemon/wireplumber-srv/run \
+ source/user/audio-daemon/wireplumber-srv/type \
+ source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire \
+ source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus \
+ source/user/audio-daemon/wireplumber-srv/producer-for \
+ source/user/xdg/xdg-document-portal-srv/run \
+ source/user/xdg/xdg-document-portal-srv/type \
+ source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus \
+ source/user/xdg/xdg-document-portal-srv/producer-for \
+ source/user/xdg/xdg-desktop-portal-hyprland-srv/run \
+ source/user/xdg/xdg-desktop-portal-hyprland-srv/type \
+ source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor \
+ source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for \
+ source/user/xdg/xdg-runtime-dir/up \
+ source/user/xdg/xdg-runtime-dir/type \
+ source/user/xdg/xdg-runtime-dir/down \
+ source/user/xdg/xdg-permission-store-srv/run \
+ source/user/xdg/xdg-permission-store-srv/type \
+ source/user/xdg/xdg-permission-store-srv/producer-for \
+ source/user/xdg/xdg-desktop-portal-srv/run \
+ source/user/xdg/xdg-desktop-portal-srv/type \
+ source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor \
+ source/user/xdg/xdg-desktop-portal-srv/producer-for \
+ source/user/notification-daemon/dunst-srv/run \
+ source/user/notification-daemon/dunst-srv/type \
+ source/user/notification-daemon/dunst-srv/notification-fd \
+ source/user/notification-daemon/dunst-srv/dependencies.d/compositor \
+ source/user/notification-daemon/dunst-srv/dependencies.d/session-bus \
+ source/user/notification-daemon/dunst-srv/producer-for \
+ source/user/notification-daemon/fnott-srv/run \
+ source/user/notification-daemon/fnott-srv/type \
+ source/user/notification-daemon/fnott-srv/notification-fd \
+ source/user/notification-daemon/fnott-srv/dependencies.d/compositor \
+ source/user/notification-daemon/fnott-srv/dependencies.d/session-bus \
+ source/user/notification-daemon/fnott-srv/producer-for \
+ source/user/notification-daemon/mako-srv/run \
+ source/user/notification-daemon/mako-srv/type \
+ source/user/notification-daemon/mako-srv/notification-fd \
+ source/user/notification-daemon/mako-srv/dependencies.d/compositor \
+ source/user/notification-daemon/mako-srv/dependencies.d/session-bus \
+ source/user/notification-daemon/mako-srv/producer-for \
+ source/user/notification-daemon/swaync-srv/run \
+ source/user/notification-daemon/swaync-srv/type \
+ source/user/notification-daemon/swaync-srv/notification-fd \
+ source/user/notification-daemon/swaync-srv/dependencies.d/compositor \
+ source/user/notification-daemon/swaync-srv/dependencies.d/session-bus \
+ source/user/notification-daemon/swaync-srv/producer-for \
+ source/user/other/foot-srv/run \
+ source/user/other/foot-srv/type \
+ source/user/other/foot-srv/notification-fd \
+ source/user/other/foot-srv/dependencies.d/compositor \
+ source/user/other/foot-srv/producer-for \
+ source/user/other/mpd-srv/run \
+ source/user/other/mpd-srv/type \
+ source/user/other/mpd-srv/dependencies.d/audio \
+ source/user/other/mpd-srv/producer-for \
+ source/user/other/dconf-service-srv/run \
+ source/user/other/dconf-service-srv/type \
+ source/user/other/dconf-service-srv/producer-for \
+ source/user/other/dbus-daemon-srv/run \
+ source/user/other/dbus-daemon-srv/type \
+ source/user/other/dbus-daemon-srv/notification-fd \
+ source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir \
+ source/user/other/dbus-daemon-srv/producer-for \
+ source/user/other/at-spi-bus-launcher-srv/run \
+ source/user/other/at-spi-bus-launcher-srv/type \
+ source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus \
+ source/user/other/at-spi-bus-launcher-srv/producer-for \
+ source/user/other/at-spi2-registryd-srv/run \
+ source/user/other/at-spi2-registryd-srv/type \
+ source/user/other/at-spi2-registryd-srv/producer-for \
+ source/user/compositor/Hyprland-srv/run \
+ source/user/compositor/Hyprland-srv/type \
+ source/user/compositor/Hyprland-srv/finish \
+ source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir \
+ source/user/compositor/Hyprland-srv/producer-for \
+ source/user/clipboard-manager/wl-clip-persist-srv/run \
+ source/user/clipboard-manager/wl-clip-persist-srv/type \
+ source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor \
+ source/user/clipboard-manager/wl-clip-persist-srv/producer-for \
+ source/user/desktop-widget/waybar-srv/run \
+ source/user/desktop-widget/waybar-srv/type \
+ source/user/desktop-widget/waybar-srv/notification-fd \
+ source/user/desktop-widget/waybar-srv/dependencies.d/compositor \
+ source/user/desktop-widget/waybar-srv/producer-for \
+ source/user/desktop-widget/yambar-srv/run \
+ source/user/desktop-widget/yambar-srv/type \
+ source/user/desktop-widget/yambar-srv/notification-fd \
+ source/user/desktop-widget/yambar-srv/dependencies.d/compositor \
+ source/user/desktop-widget/yambar-srv/producer-for \
+ source/user/bundle/audio/type \
+ source/user/bundle/compositor/type \
+ source/user/bundle/default/type \
+ source/user/bundle/session-bus/type \
+ source/user/wallpaper-daemon/hyprpaper-srv/run \
+ source/user/wallpaper-daemon/hyprpaper-srv/type \
+ source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor \
+ source/user/wallpaper-daemon/hyprpaper-srv/producer-for \
+
+INSTALL_LIBS ::= \
+ $(DESTDIR)$(libdir)/service/system/s6-svscan-log/run \
+ $(DESTDIR)$(libdir)/service/system/s6-svscan-log/notification-fd \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/crash \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGUSR1 \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/finish \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGQUIT \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGINT \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGUSR2 \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGWINCH \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGTERM \
+ $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGPWR \
+ $(DESTDIR)$(libdir)/service/system/s6-svscan-log-console/run \
+ $(DESTDIR)$(libdir)/service/system/s6-svscan-log-console/notification-fd \
+ $(DESTDIR)$(libdir)/service/system/goetia-runner/run \
+ $(DESTDIR)$(libdir)/service/system/goetia-runner/notification-fd \
+ $(DESTDIR)$(libdir)/service/user/s6-svscan-log/run \
+ $(DESTDIR)$(libdir)/service/user/s6-svscan-log/notification-fd \
+ $(DESTDIR)$(libdir)/service/user/.s6-svscan/SIGTERM \
+ $(DESTDIR)$(libdir)/service/user/goetia-runner/run \
+ $(DESTDIR)$(libdir)/service/user/goetia-runner/notification-fd \
+ $(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/run \
+ $(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/type \
+ $(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/other/sshd-srv/run \
+ $(DESTDIR)$(libdir)/source/system/other/sshd-srv/type \
+ $(DESTDIR)$(libdir)/source/system/other/sshd-srv/dependencies.d/networking \
+ $(DESTDIR)$(libdir)/source/system/other/sshd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/other/cupsd-srv/run \
+ $(DESTDIR)$(libdir)/source/system/other/cupsd-srv/type \
+ $(DESTDIR)$(libdir)/source/system/other/cupsd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/admin/seatd-srv/run \
+ $(DESTDIR)$(libdir)/source/system/admin/seatd-srv/type \
+ $(DESTDIR)$(libdir)/source/system/admin/seatd-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/system/admin/seatd-srv/dependencies.d/mount-dev \
+ $(DESTDIR)$(libdir)/source/system/admin/seatd-srv/dependencies.d/mount-run \
+ $(DESTDIR)$(libdir)/source/system/admin/seatd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/admin/greetd-srv/run \
+ $(DESTDIR)$(libdir)/source/system/admin/greetd-srv/type \
+ $(DESTDIR)$(libdir)/source/system/admin/greetd-srv/dependencies.d/mount-run \
+ $(DESTDIR)$(libdir)/source/system/admin/greetd-srv/dependencies.d/udev \
+ $(DESTDIR)$(libdir)/source/system/admin/greetd-srv/dependencies.d/seat-manager \
+ $(DESTDIR)$(libdir)/source/system/admin/greetd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/cron/dcron-srv/run \
+ $(DESTDIR)$(libdir)/source/system/cron/dcron-srv/type \
+ $(DESTDIR)$(libdir)/source/system/cron/dcron-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/ntp/chronyd-srv/run \
+ $(DESTDIR)$(libdir)/source/system/ntp/chronyd-srv/type \
+ $(DESTDIR)$(libdir)/source/system/ntp/chronyd-srv/dependencies.d/networking \
+ $(DESTDIR)$(libdir)/source/system/ntp/chronyd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/db/mariadbd-srv/run \
+ $(DESTDIR)$(libdir)/source/system/db/mariadbd-srv/type \
+ $(DESTDIR)$(libdir)/source/system/db/mariadbd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/db/mysqld-srv/run \
+ $(DESTDIR)$(libdir)/source/system/db/mysqld-srv/type \
+ $(DESTDIR)$(libdir)/source/system/db/mysqld-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/bundle/networking/type \
+ $(DESTDIR)$(libdir)/source/system/bundle/system-bus/type \
+ $(DESTDIR)$(libdir)/source/system/bundle/udev/type \
+ $(DESTDIR)$(libdir)/source/system/bundle/firewall/type \
+ $(DESTDIR)$(libdir)/source/system/bundle/seat-manager/type \
+ $(DESTDIR)$(libdir)/source/system/bundle/default/type \
+ $(DESTDIR)$(libdir)/source/system/bundle/mount/type \
+ $(DESTDIR)$(libdir)/source/system/net/wpa_supplicant-srv/run \
+ $(DESTDIR)$(libdir)/source/system/net/wpa_supplicant-srv/type \
+ $(DESTDIR)$(libdir)/source/system/net/wpa_supplicant-srv/dependencies.d/system-bus \
+ $(DESTDIR)$(libdir)/source/system/net/wpa_supplicant-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/net/dhcpcd-srv/run \
+ $(DESTDIR)$(libdir)/source/system/net/dhcpcd-srv/type \
+ $(DESTDIR)$(libdir)/source/system/net/dhcpcd-srv/dependencies.d/udev \
+ $(DESTDIR)$(libdir)/source/system/net/dhcpcd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/web/gate-srv/run \
+ $(DESTDIR)$(libdir)/source/system/web/gate-srv/type \
+ $(DESTDIR)$(libdir)/source/system/web/gate-srv/dependencies.d/udev \
+ $(DESTDIR)$(libdir)/source/system/web/gate-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/web/nginx-srv/run \
+ $(DESTDIR)$(libdir)/source/system/web/nginx-srv/type \
+ $(DESTDIR)$(libdir)/source/system/web/nginx-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/system/web/radicale-srv/run \
+ $(DESTDIR)$(libdir)/source/system/web/radicale-srv/type \
+ $(DESTDIR)$(libdir)/source/system/web/radicale-srv/dependencies.d/mount \
+ $(DESTDIR)$(libdir)/source/system/web/radicale-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/run \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/type \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/pipewire \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/xdg-runtime-dir \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-pulse-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/run \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/type \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/dependencies.d/xdg-runtime-dir \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/pipewire-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/run \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/type \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/dependencies.d/pipewire \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/audio-daemon/wireplumber-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-document-portal-srv/run \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-document-portal-srv/type \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-document-portal-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-document-portal-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-hyprland-srv/run \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-hyprland-srv/type \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-hyprland-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-hyprland-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-runtime-dir/up \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-runtime-dir/type \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-runtime-dir/down \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-permission-store-srv/run \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-permission-store-srv/type \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-permission-store-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-srv/run \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-srv/type \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/xdg/xdg-desktop-portal-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/run \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/type \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/dunst-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/run \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/type \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/fnott-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/run \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/type \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/mako-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/run \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/type \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/notification-daemon/swaync-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/other/foot-srv/run \
+ $(DESTDIR)$(libdir)/source/user/other/foot-srv/type \
+ $(DESTDIR)$(libdir)/source/user/other/foot-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/other/foot-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/other/foot-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/other/mpd-srv/run \
+ $(DESTDIR)$(libdir)/source/user/other/mpd-srv/type \
+ $(DESTDIR)$(libdir)/source/user/other/mpd-srv/dependencies.d/audio \
+ $(DESTDIR)$(libdir)/source/user/other/mpd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/other/dconf-service-srv/run \
+ $(DESTDIR)$(libdir)/source/user/other/dconf-service-srv/type \
+ $(DESTDIR)$(libdir)/source/user/other/dconf-service-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/run \
+ $(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/type \
+ $(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/dependencies.d/xdg-runtime-dir \
+ $(DESTDIR)$(libdir)/source/user/other/dbus-daemon-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/other/at-spi-bus-launcher-srv/run \
+ $(DESTDIR)$(libdir)/source/user/other/at-spi-bus-launcher-srv/type \
+ $(DESTDIR)$(libdir)/source/user/other/at-spi-bus-launcher-srv/dependencies.d/session-bus \
+ $(DESTDIR)$(libdir)/source/user/other/at-spi-bus-launcher-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/other/at-spi2-registryd-srv/run \
+ $(DESTDIR)$(libdir)/source/user/other/at-spi2-registryd-srv/type \
+ $(DESTDIR)$(libdir)/source/user/other/at-spi2-registryd-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/run \
+ $(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/type \
+ $(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/finish \
+ $(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/dependencies.d/xdg-runtime-dir \
+ $(DESTDIR)$(libdir)/source/user/compositor/Hyprland-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/clipboard-manager/wl-clip-persist-srv/run \
+ $(DESTDIR)$(libdir)/source/user/clipboard-manager/wl-clip-persist-srv/type \
+ $(DESTDIR)$(libdir)/source/user/clipboard-manager/wl-clip-persist-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/clipboard-manager/wl-clip-persist-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/run \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/type \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/waybar-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/run \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/type \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/notification-fd \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/desktop-widget/yambar-srv/producer-for \
+ $(DESTDIR)$(libdir)/source/user/bundle/audio/type \
+ $(DESTDIR)$(libdir)/source/user/bundle/compositor/type \
+ $(DESTDIR)$(libdir)/source/user/bundle/default/type \
+ $(DESTDIR)$(libdir)/source/user/bundle/session-bus/type \
+ $(DESTDIR)$(libdir)/source/user/wallpaper-daemon/hyprpaper-srv/run \
+ $(DESTDIR)$(libdir)/source/user/wallpaper-daemon/hyprpaper-srv/type \
+ $(DESTDIR)$(libdir)/source/user/wallpaper-daemon/hyprpaper-srv/dependencies.d/compositor \
+ $(DESTDIR)$(libdir)/source/user/wallpaper-daemon/hyprpaper-srv/producer-for \
+
diff --git a/src/bin/compile-db b/src/bin/compile-db
new file mode 100755
index 0000000..22b63b4
--- /dev/null
+++ b/src/bin/compile-db
@@ -0,0 +1,27 @@
+#!@shebangdir@/execlineb -WS2
+
+# ISC license.
+
+multisubstitute {
+ define CONFIGDIR ${1}
+ define LIVEDIR ${2}
+}
+
+backtick -ED" " OLDDB { realpath ${CONFIGDIR}/compiled }
+backtick -E DATE { date +%s }
+elglob SOURCES ${CONFIGDIR}/src/*
+
+if { s6-rc-compile -v2 ${CONFIGDIR}/compiled-${DATE} ${SOURCES} }
+
+if {
+ if -x0 { eltest -d ${LIVEDIR} }
+ if -n -x0 { s6-rc-update -v2 -l ${LIVEDIR} ${CONFIGDIR}/compiled-${DATE} }
+ if { s6-rc-update -v2 -l ${LIVEDIR} ${CONFIGDIR}/compiled }
+ if { rm -Rf ${CONFIGDIR}/compiled-${DATE} }
+ exit 1
+}
+
+if { ln -sf compiled-${DATE} ${CONFIGDIR}/compiled/compiled }
+if { mv -f ${CONFIGDIR}/compiled/compiled ${CONFIGDIR}/ }
+
+rm -Rf ${OLDDB}
diff --git a/src/bin/longrun-make b/src/bin/longrun-make
new file mode 100755
index 0000000..2b5b433
--- /dev/null
+++ b/src/bin/longrun-make
@@ -0,0 +1,36 @@
+#!@shebangdir@/execlineb -WS5
+
+# ISC license.
+
+multisubstitute {
+ define WORKINGDIR ${1}
+ define NAME ${2}
+ define TYPE ${3}
+ define SCRIPT ${4}
+ define DEPENDENCIES ${5}
+}
+
+if { mkdir -p ${WORKINGDIR}/${NAME}-${TYPE} }
+
+background {
+ if { eltest ${TYPE} = log }
+ s6-setlock ${WORKINGDIR}/${NAME}-log/consumer-for
+ if -n { grep -Fq -- ${NAME}-srv ${WORKINGDIR}/${NAME}-log/consumer-for }
+ background { redirfd -a 1 ${WORKINGDIR}/${NAME}-log/consumer-for echo ${NAME}-srv }
+ background { redirfd -w 1 ${WORKINGDIR}/${NAME}-log/pipeline-name echo ${NAME} }
+}
+
+background {
+ if { eltest ${TYPE} = srv }
+ redirfd -w 1 ${WORKINGDIR}/${NAME}-srv/producer-for echo ${NAME}-log
+}
+
+background { redirfd -w 1 ${WORKINGDIR}/${NAME}-${TYPE}/type echo longrun }
+background { redirfd -w 1 ${WORKINGDIR}/${NAME}-${TYPE}/notification-fd echo 3 }
+background { redirfd -w 1 ${WORKINGDIR}/${NAME}-${TYPE}/run echo ${SCRIPT} }
+background {
+ if { eltest ${DEPENDENCIES} != none }
+ define -s SPLITDEPENDENCIES ${DEPENDENCIES}
+ if { mkdir -p ${WORKINGDIR}/${NAME}-${TYPE}/dependencies.d }
+ touch ${WORKINGDIR}/${NAME}-${TYPE}/dependencies.d/${SPLITDEPENDENCIES}
+}
diff --git a/src/bin/oneshot-make b/src/bin/oneshot-make
new file mode 100755
index 0000000..4d255b2
--- /dev/null
+++ b/src/bin/oneshot-make
@@ -0,0 +1,22 @@
+#!@shebangdir@/execlineb -WS5
+
+# ISC license.
+
+multisubstitute {
+ define WORKINGDIR ${1}
+ define NAME ${2}
+ define UPSCRIPT ${3}
+ define DOWNSCRIPT ${4}
+ define DEPENDENCIES ${5}
+}
+
+if { mkdir -p ${WORKINGDIR}/${NAME} }
+
+background { redirfd -w 1 ${WORKINGDIR}/${NAME}/type echo oneshot }
+background { redirfd -w 1 ${WORKINGDIR}/${NAME}/up echo ${UPSCRIPT} }
+background { redirfd -w 1 ${WORKINGDIR}/${NAME}/down echo ${DOWNSCRIPT} }
+background {
+ if { eltest -v 5 }
+ if { mkdir -p ${WORKINGDIR}/${NAME}/dependencies.d }
+ touch ${WORKINGDIR}/${NAME}/dependencies.d/${DEPENDENCIES}
+}
diff --git a/src/bin/prepare-svscan b/src/bin/prepare-svscan
new file mode 100755
index 0000000..9fe7f8d
--- /dev/null
+++ b/src/bin/prepare-svscan
@@ -0,0 +1,37 @@
+#!@shebangdir@/execlineb -Ws4
+
+# ISC license.
+
+multisubstitute {
+ define WORKINGDIR ${1}
+ define RUNDIR ${2}
+ define BUNDLE ${3}
+ define PROG ${4}
+}
+
+redirfd -r 0 /dev/null
+execline-umask 0022
+
+if { mkdir -p -m750 -- ${RUNDIR} }
+foreground { cp -RfpL -- ${WORKINGDIR}/run-image/. ${RUNDIR}/ }
+
+if { mkfifo -m700 ${RUNDIR}/service/s6-svscan-log/fifo }
+redirfd -wnb 1 ${RUNDIR}/service/s6-svscan-log/fifo
+
+background {
+ redirfd -w 2 ${RUNDIR}/service/s6-svscan-log/fifo
+ if -x0 -n { eltest -d ${RUNDIR}/s6-rc }
+ foreground { echo "\ninit!\n" }
+ if {
+ s6-rc-init
+ -c ${WORKINGDIR}/compiled
+ -l ${RUNDIR}/s6-rc
+ ${RUNDIR}/service
+ }
+ foreground { echo "\nStarting bundle ${BUNDLE}...\n" }
+ s6-rc -l ${RUNDIR}/s6-rc -v2 -b -t@timeout@ -up change ${BUNDLE}
+}
+fdmove -c 2 1
+
+s6-envdir -I ${WORKINGDIR}/env
+${PROG} ${@}
diff --git a/src/bin/system-db b/src/bin/system-db
new file mode 100755
index 0000000..add7d33
--- /dev/null
+++ b/src/bin/system-db
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+compile-db
+ @sysconfdir@
+ @tmpfsdir@/@sysrundir@/s6-rc
diff --git a/src/bin/system-ml b/src/bin/system-ml
new file mode 100755
index 0000000..1937ac0
--- /dev/null
+++ b/src/bin/system-ml
@@ -0,0 +1,31 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+define LOGSCRIPT "#!@shebangdir@/execlineb -P
+
+# ISC license
+
+fdmove -c 1 2
+
+if { mkdir -p -m750 -- @syslogdir@/${NAME} }
+if { chown @loguser@:@loguser@ @syslogdir@/${NAME} }
+s6-setuidgid @loguser@
+s6-log -bd3 @logconfig@ @syslogdir@/${NAME}"
+
+if { rm -Rf @sysconfdir@/src/generated-logger }
+if { mkdir -p @sysconfdir@/src/generated-logger }
+
+elglob LONGRUNS @sysconfdir@/src/*/*
+forx -pE LONGRUN { ${LONGRUNS} }
+ if -x0 { eltest -f ${LONGRUN}/producer-for }
+ if -x0 -n { eltest -f ${LONGRUN}/no-ml }
+ if { echo Making the logger of ${LONGRUN} }
+ pipeline { sed -e s/-log$// -- ${LONGRUN}/producer-for }
+ withstdinas -E NAME
+ longrun-make
+ @sysconfdir@/src/generated-logger
+ ${NAME}
+ log
+ ${LOGSCRIPT}
+ @logdep@
diff --git a/src/bin/system-rc b/src/bin/system-rc
new file mode 100755
index 0000000..61230ab
--- /dev/null
+++ b/src/bin/system-rc
@@ -0,0 +1,5 @@
+#!@shebangdir@/execlineb -s0
+
+# ISC license.
+
+s6-rc -l @tmpfsdir@/@sysrundir@/s6-rc ${@}
diff --git a/src/bin/system-run b/src/bin/system-run
new file mode 100755
index 0000000..e5b9cec
--- /dev/null
+++ b/src/bin/system-run
@@ -0,0 +1,6 @@
+#!@shebangdir@/execlineb -s0
+
+# ISC license.
+
+s6-sudo @tmpfsdir@/@sysrundir@/service/goetia-runner/s
+ fdmove -c 1 2 ${@}
diff --git a/src/bin/system-shutdown-daemon b/src/bin/system-shutdown-daemon
new file mode 100755
index 0000000..6419bfb
--- /dev/null
+++ b/src/bin/system-shutdown-daemon
@@ -0,0 +1,31 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+tryexec { ./stage3b }
+
+if -n {
+ foreground { echo "\nsystem-shutdown!\n" }
+ foreground { s6-rc -l @tmpfsdir@/@sysrundir@/s6-rc -v2 -b -Da -t@timeout@ change }
+ foreground {
+ pipeline { ls -1 @tmpfsdir@/@sysrundir@/service/ }
+ pipeline {
+ sed
+ -e /s6-svscan-log/d
+ -e /.s6-svscan/d
+ -e /goetia-shutdown/d
+ -e /goetia-rescue/d
+ }
+ forstdin -pE SERVICE
+ s6-svc -T @timeout@ -D @tmpfsdir@/@sysrundir@/service/${SERVICE}
+ }
+
+ foreground { rm -Rf -- @syslogdir@/uncaught-logs }
+ foreground { cp -Rpf -- @tmpfsdir@/@sysrundir@/log/uncaught-logs @syslogdir@/ }
+
+ foreground { chmod u+x ./stage3b }
+ foreground { echo "sending all processes the TERM signal..." }
+ foreground { kill -SIGTERM -- -1 }
+}
+foreground { touch ./down }
+chmod a-x ./stage3b
diff --git a/src/bin/user-db b/src/bin/user-db
new file mode 100755
index 0000000..8c7fb4f
--- /dev/null
+++ b/src/bin/user-db
@@ -0,0 +1,13 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+multisubstitute {
+ importas -Si USER
+ importas -Si HOME
+ importas -Si USERTREE
+}
+
+compile-db
+ ${HOME}/@usrconfdir@/${USERTREE}
+ @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/s6-rc
diff --git a/src/bin/user-init b/src/bin/user-init
new file mode 100755
index 0000000..aa24f9d
--- /dev/null
+++ b/src/bin/user-init
@@ -0,0 +1,26 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+multisubstitute {
+ importas -Si USER
+ importas -Si USERTREE
+ importas -SD default BUNDLE
+ importas -SD
+ /command:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/libexec:/usr/local/libexec
+ PATH
+}
+
+backtick HOME { homeof ${USER} }
+importas -Si HOME
+
+export PATH ${HOME}/.local/bin:${PATH}
+
+s6-envuidgid ${USER}
+
+prepare-svscan
+ ${HOME}/@usrconfdir@/${USERTREE}
+ @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}
+ ${BUNDLE}
+
+s6-svscan @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service
diff --git a/src/bin/user-ml b/src/bin/user-ml
new file mode 100755
index 0000000..60a01ab
--- /dev/null
+++ b/src/bin/user-ml
@@ -0,0 +1,33 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+multisubstitute {
+ importas -Si USER
+ importas -Si HOME
+ importas -Si USERTREE
+}
+
+define LOGSCRIPT "#!@shebangdir@/execlineb -P
+
+fdmove -c 1 2
+
+if { mkdir -p -m750 -- ${HOME}/@usrlogdir@/${USERTREE}/${NAME} }
+s6-log -bd3 @logconfig@ ${HOME}/@usrlogdir@/${USERTREE}/${NAME}"
+
+if { rm -Rf ${HOME}/@usrconfdir@/${USERTREE}/src/generated-logger }
+if { mkdir -p ${HOME}/@usrconfdir@/${USERTREE}/src/generated-logger }
+
+elglob LONGRUNS ${HOME}/@usrconfdir@/${USERTREE}/src/*/*
+forx -pE LONGRUN { ${LONGRUNS} }
+ if -x0 { eltest -f ${LONGRUN}/producer-for }
+ if -x0 -n { eltest -f ${LONGRUN}/no-ml }
+ if { echo Making the logger of ${LONGRUN} }
+ pipeline { sed -e s/-log$// -- ${LONGRUN}/producer-for }
+ withstdinas -E NAME
+ longrun-make
+ ${HOME}/@usrconfdir@/${USERTREE}/src/generated-logger
+ ${NAME}
+ log
+ ${LOGSCRIPT}
+ none
diff --git a/src/bin/user-rc b/src/bin/user-rc
new file mode 100755
index 0000000..bee9930
--- /dev/null
+++ b/src/bin/user-rc
@@ -0,0 +1,11 @@
+#!@shebangdir@/execlineb -s0
+
+# ISC license.
+
+multisubstitute {
+ importas -Si USER
+ importas -Si USERTREE
+}
+backtick -Ei HOME { homeof ${USER} }
+
+s6-rc -l @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/s6-rc ${@}
diff --git a/src/bin/user-run b/src/bin/user-run
new file mode 100755
index 0000000..e110115
--- /dev/null
+++ b/src/bin/user-run
@@ -0,0 +1,12 @@
+#!@shebangdir@/execlineb -s0
+
+# ISC license.
+
+multisubstitute {
+ importas -Si USER
+ importas -Si USERTREE
+}
+backtick -Ei HOME { homeof ${USER} }
+
+s6-sudo @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service/goetia-runner/s
+ fdmove -c 1 2 ${@}
diff --git a/src/bin/user-shutdown b/src/bin/user-shutdown
new file mode 100755
index 0000000..9376f5b
--- /dev/null
+++ b/src/bin/user-shutdown
@@ -0,0 +1,23 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+multisubstitute {
+ importas -Si USER
+ importas -Si USERTREE
+}
+backtick -Ei HOME { homeof ${USER} }
+
+if -x0 { eltest -d @tmpfsdir@/@usrrundir@/${USER}/${USERTREE} }
+
+redirfd -wnb 1 @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service/s6-svscan-log/fifo
+fdmove -c 2 1
+
+foreground {
+ foreground { echo "\nshutdown\n" }
+ s6-rc -l @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/s6-rc -v2 -b -da -t@timeout@ change
+}
+
+foreground { s6-svscanctl -t @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service }
+foreground { s6-svc -h @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service/s6-svscan-log }
+foreground { rm -Rf @tmpfsdir@/@usrrundir@/${USER}/${USERTREE} }
diff --git a/src/bin/user-tmpfs b/src/bin/user-tmpfs
new file mode 100755
index 0000000..02deb14
--- /dev/null
+++ b/src/bin/user-tmpfs
@@ -0,0 +1,17 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+importas -Si USER
+importas -SD 64m USER_TMPFSDIR_SIZE
+s6-envuidgid ${USER}
+importas -Si UID
+importas -Si GID
+
+if { mkdir -p @tmpfsdir@/@usrrundir@/${USER} }
+
+mount
+ -t tmpfs
+ -o mode=0755,size=${USER_TMPFSDIR_SIZE},uid=${UID},gid=${GID}
+ ${USER}-tmpfs
+ @tmpfsdir@/@usrrundir@/${USER}
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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} }
diff --git a/tools/gen-deps.sh b/tools/gen-deps.sh
new file mode 100755
index 0000000..fafb347
--- /dev/null
+++ b/tools/gen-deps.sh
@@ -0,0 +1,35 @@
+#!/bin/sh -e
+
+. package/info
+
+echo '#'
+echo '# This file has been generated by tools/gen-deps.sh'
+echo '#'
+echo
+
+if test -d src/bin
+then
+ cd src/bin
+ for FILE in $(find * -type f 2> /dev/null); do
+ echo "${FILE}: src/bin/${FILE}"
+ echo "\$(DESTDIR)\$(bindir)/${FILE}: ${FILE}"
+ done
+ cd ../..
+fi
+
+if test -d src/lib
+then
+ cd src/lib
+ for FILE in $(find * -type f 2> /dev/null); do
+ echo "${FILE}: src/lib/${FILE}"
+ echo "\$(DESTDIR)\$(libdir)/${FILE}: ${FILE}"
+ done
+ cd ../..
+fi
+
+if test -f package/extras
+then
+ for EXTRA in $(cat package/extras); do
+ echo "\$(DESTDIR)\$(libdir)/${EXTRA}: ${EXTRA}"
+ done
+fi
diff --git a/tools/gen-targets.sh b/tools/gen-targets.sh
new file mode 100755
index 0000000..3280748
--- /dev/null
+++ b/tools/gen-targets.sh
@@ -0,0 +1,56 @@
+#!/bin/sh -e
+
+. package/info
+
+echo '#'
+echo '# This file has been generated by tools/gen-targets.sh'
+echo '#'
+echo
+
+if test -d src/bin
+then
+ cd src/bin
+
+ echo "ALL_BINS ::= \\"
+
+ for FILE in $(find * -type f 2> /dev/null) ; do
+ echo "\t${FILE} \\"
+ done
+
+ echo
+ echo "INSTALL_BINS ::= \\"
+
+ for FILE in $(find * -type f 2> /dev/null) ; do
+ echo "\t\$(DESTDIR)\$(bindir)/${FILE} \\"
+ done
+
+ echo
+ echo "SLASHCOMMAND_BINS ::= \\"
+
+ for FILE in $(find * -type f 2> /dev/null) ; do
+ echo "\t\$(DESTDIR)\$(sproot)/command/${FILE} \\"
+ done
+
+ cd ../..
+ echo
+fi
+
+if test -d src/lib
+then
+ cd src/lib
+
+ echo "ALL_LIBS ::= \\"
+ for FILE in $(find * -type f 2> /dev/null) ; do
+ echo "\t${FILE} \\"
+ done
+
+ echo
+
+ echo "INSTALL_LIBS ::= \\"
+ for FILE in $(find * -type f 2> /dev/null) ; do
+ echo "\t\$(DESTDIR)\$(libdir)/${FILE} \\"
+ done
+
+ cd ../..
+ echo
+fi
diff --git a/tools/install.sh b/tools/install.sh
new file mode 100755
index 0000000..e96dd7b
--- /dev/null
+++ b/tools/install.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+usage() {
+ echo "usage: $0 [ -D ] [ -l ] [ -m mode ] [ -O owner:group ] src dst" 1>&2
+ exit 1
+}
+
+mkdirp=false
+symlink=false
+mode=0755
+og=
+
+while getopts Dlm:O: name ; do
+ case "$name" in
+ D) mkdirp=true ;;
+ l) symlink=true ;;
+ m) mode=$OPTARG ;;
+ O) og=$OPTARG ;;
+ ?) usage ;;
+ esac
+done
+shift $(($OPTIND - 1))
+
+test "$#" -eq 2 || usage
+src=$1
+dst=$2
+tmp="$dst.tmp.$$"
+
+case "$dst" in
+ */) echo "$0: $dst ends in /" 1>&2 ; exit 1 ;;
+esac
+
+set -C
+set -e
+
+if $mkdirp ; then
+ umask 022
+ case "$2" in
+ */*) mkdir -p "${dst%/*}" ;;
+ esac
+fi
+
+trap 'rm -f "$tmp"' EXIT INT QUIT TERM HUP
+
+umask 077
+
+if $symlink ; then
+ ln -s "$src" "$tmp"
+else
+ cat < "$1" > "$tmp"
+ if test -n "$og" ; then
+ chown -- "$og" "$tmp"
+ fi
+ chmod -- "$mode" "$tmp"
+fi
+
+mv -f "$tmp" "$dst"
+if test -d "$dst" ; then
+ rm -f "$dst/$(basename $tmp)"
+ if $symlink ; then
+ mkdir "$tmp"
+ ln -s "$src" "$tmp/$(basename $dst)"
+ mv -f "$tmp/$(basename $dst)" "${dst%/*}"
+ rmdir "$tmp"
+ else
+ echo "$0: $dst is a directory" 1>&2
+ exit 1
+ fi
+fi
--
cgit v1.2.3