aboutsummaryrefslogtreecommitdiffstats
goetia-base

goetia
Software
0x53.net

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