goetia-base
What is it?
goetia-base contains scripts to manage system. and system supervision trees. Additionally, it contains kernel independant service directories and source directories for the system and user supervision tree.
Installation
Requirements
- A set of POSIX tools as described in the general requirements
- A POSIX-compliant implementation of make, or GNU make
- execline
- s6
- s6-rc
- Additional per-service dependencies, e.g. the daemon itself the service corresponds to, are listed on the respective page of the service.
Licensing
goetia-base is free software. It is available under the ISC license.
Download
- The current released version of goetia-base is 0.3.0.0. You can access its checksum here.
-
Alternatively, you can checkout a copy of the
goetia-base git repository:
git clone git://git.0x53.net/goetia-base
Compilation
- See the enclosed INSTALL file for installation details.
Reference
Commands
All of the following are execline scripts. Most of these commands are thin wrappers around tools from s6 and s6-rc. They do not do much more than supplement the former with the right paths and default options. The utility scripts, however, contain their own logic that is used in some of the other scripts.
Managing system supervision trees
Managing user supervision trees
Utility scripts
Service directories
Service directories for early and basic services, used without s6-rc. Service directories in this package are used independent of the kernel in use.
System service directories
User service directories
Source directories
Following is a list of included source directories. Note that some daemons are so modular and configurable, it would be nonsense to provide a "stock" source directory. How to set those up is explained in an according tutorial page.
System source directories
bundle
Some services can be provided by multiple different implementations. Those are abstracted by bundles, which can be filled with the desired implementation. For the system supervision tree the bundles used and provided by default in goetia are:
cron
- dcron
db
- mariadb
- mysqld
net
- dhcpcd
- wpa_supplicant
ntp
- chronyd
web
- gate
- nginx
- radicale
other
- cupsd
- dbus-daemon
- seatd
- sshd
User source directories
bundle
Some services can be provided by multiple different implementations. Those are abstracted by bundles, which can be filled with the desired implementation. For the user supervision tree the bundles used and provided by default in goetia are:
audio-daemon
- pipewire
- pipewire-pulse
- wireplumber
clipboard-manager
- wl-clip-persist
compositor
- Hyprland
desktop-widget
- waybar
- yambar
notification-daemon
- dunst
- fnott
- mako
- swaync
wallpaper-daemon
- hyprpaper
xdg
- xdg-desktop-portal-hyprland
- xdg-desktop-portal
- xdg-document-portal
- xdg-permission-store
- xdg-runtime-dir
other
- at-spi-bus-launcher
- at-spi2-registryd
- dbus-daemon
- dconf-service
- foot
- mpd
