Skip to content
DotfilesDotfiles
Esc
↑↓navigate↵open⌘Jpreview
On this page

Herdr

The server's Herdr session, run as a user service for remote clients.

Herdr is the shared agent terminal multiplexer. Product behaviour, concepts, and configuration options live in the official docs. This page covers only what this branch customises. On the server, Herdr is the main way in: other machines attach to its session over SSH.

Remote host

There is no desktop to start Herdr, so a systemd user service owns the server process. Lingering keeps it running with nobody logged in.

# On the server, once
loginctl enable-linger "$USER"
systemctl --user enable --now herdr.service

# From another machine
herdr --remote <host>

The config matches the desktop’s keys, theme and sidebar, so a remote session feels the same. Sounds are off.

Layout

Piece Why
herdr/ package Stow source for managed session and plugin config
herdr.service Keeps the Herdr server running for remote clients
Runtime ~/.config/herdr/ Herdr-owned logs, sockets, and session state stay untracked beside stowed files
config.toml Reproducible session layer (prefix commands, theme, sidebar, plugin chords)
plugins/config/ Selected third-party plugin config stowed with the package
scripts/.local/share/herdr-plugins/ Local dotfiles.* plugin sources linked on dot update

Plugins

dot update links the local dotfiles.* plugins (repository picker, terminal titles, Yazi, mise tasks, Plannotator and dot links) and restores the pinned third-party plugins through herdr-lazy. Some of them, such as Plannotator reviews and dot:// links, were built for the desktop and still need checking from a remote client.

Last updated on