A boot animation showing stages of systemd as a tree
- Rust 85%
- Nix 8.4%
- Python 4.2%
- Nushell 2.1%
- Shell 0.3%
A live tree of systemd jobs on the boot console, in the spirit of nix-output-monitor. It replaces the scrolling kernel and systemd lines with the units still pending and, in the room the tree leaves, a timeline of the slowest ones that ran.
I started bootvine out of frustration with the boot screen of most Linux distributions: a wall of log lines scrolling past too fast to read, which never gave me any idea of what was going on.

It also follows shutdowns, answers passphrase prompts such as a LUKS unlock in place, and shows why a unit failed with its last journal lines. The guide walks through each part of the screen.
Requirements
- systemd ≥ 246 as PID 1
- libdbus and libsystemd
- a virtual terminal
- a systemd initrd, to show the boot from the initrd as well as stage 2
See Install for each distribution.
Try it without installing
With Nix, boot a sample NixOS machine with slow and failing units in a QEMU window, without touching your system's boot:
nix run git+https://codeberg.org/wvhulle/bootvine#sample-vm-slow-services
It logs in as root; poweroff shows the shutdown. The
guide
lists the other sample machines and the scripted demos that play in a terminal.
Documentation
- Guide to the screen: the tree, the timeline, failures, shutdown and passphrase prompts.
- Install on NixOS, Ubuntu and other distributions.
- Configuration of colours, timing and the console.
- Architecture: how bootvine follows the boot and takes the console.
- Development and the code style.