Skip to content

bootconf

Bootconf is a declarative boot configuration tool for Linux. It reads a single YAML file and applies system settings during early boot, before any other service starts.

It runs on every boot, so configuration changes take effect on the next reboot without reinstalling or reimaging the system.

No cloud dependency. No agent. No runtime daemon. Just a binary, a YAML file, and a systemd unit.

What it manages

Module What it does
system Sets hostname and timezone via hostnamectl / timedatectl
ssh Generates SSH host keys (dropbear or openssh), manages service sentinel
wifi Writes wpa_supplicant.conf from a pre-hashed WPA2 PSK
services Creates/removes sentinel files; optionally copies a default config
users Provisions user accounts via systemd-sysusers, sets up SSH keys and sudo
files Copies or writes arbitrary files into the target filesystem
templates Renders Go text/template files with config-supplied variables
shell Executes shell commands at boot, capturing output to log files
unitrun Writes shell scripts and systemd units, enables them via systemctl

Where to go next