-
Notifications
You must be signed in to change notification settings - Fork 0
Home
CtrlUserKnown edited this page Jul 21, 2026
·
6 revisions
dots is a fast, cross-platform dotfiles manager with an interactive TUI, written in Rust. It installs your tools, wires up symlinks GNU Stow–style, applies premade app configs, keeps everything healthy, and updates itself — on macOS (Homebrew) and Linux (apt/dnf).
Repository: CtrlUserKnown/dots · Releases: latest
dots is the tool, not the dotfiles. Your actual config files live in a separate repo of your own.
dotsmanages the symlinks between that repo and your$HOME, so nothing about your configs is baked into this tool.
-
Interactive TUI — run
dotswith no arguments for a dashboard covering symlink health, installed tools, shell plugins, app configs, updates, and live network status. Supports keyboard and mouse navigation. -
Scriptable CLI — every action is also a subcommand (
dots health,dots install,dots link, …). -
Symlink management — declare your links in
~/.dots/links.toml(explicit links or GNU Stow–style folding), then create and repair them idempotently, with automatic backups. -
Cross-platform installs — one dependency list, resolved per platform via Homebrew,
apt, ordnf. - Premade configs — bundled starter configs for Ghostty, Neovim, and opencode.
-
Portable profiles — export your setup to
personal.jsonand re-import it on another machine, locally or from GitHub. - Self-updating — built-in update checker and one-command upgrade that re-repairs symlinks after pulling.
- Network monitor — live dashboard pane showing connectivity, latency, network name, DNS servers, and VPN status.
- Single static binary — pure-Rust TLS, no OpenSSL/keychain, optimized for size.
| Page | Contents |
|---|---|
| Installation | Install script, building from source, uninstall |
| CLI Reference | Every subcommand and flag |
| Interactive TUI | The dashboard and its screens |
| Managing Symlinks |
links.toml, explicit links, and Stow folding |
| Dependencies | The Required / Optional / Dev package tiers |
| Premade Configs | Bundled Ghostty / Neovim / opencode configs |
| Profiles | Exporting and importing personal.json
|
| Configuration |
settings.toml and the ~/.personal layer |
| Updating | How update checks and upgrades work |
| Development | Building, testing, and project layout |
Maintained by CtrlUserKnown / Charlynder
Guides
Contributing