DotDoctor is a universal systems configuration engine and diagnostic utility built for Linux, macOS, and Windows power-users who manage modular dotfiles and custom tiling window managers (Hyprland, Sway, i3, Aerospace, GlazeWM). It streamlines the friction of maintaining complex configuration environments by automating health checks across your ecosystem.
Just run the command, and the engine acts as an intelligent system auditor—recursively tracing configuration modules, resolving stacked variable strings, verifying binaries and Nerd Fonts, and empowering you to instantly orchestrate automated system repairs (❌ [MISSING]) via an interactive, ultra-polished Terminal User Interface (TUI).
- 🧠 Zero-Config Auto-Detection: No more typing lengthy manual file paths. Running
dotdoctorstandalone dynamically probes the operating environment to detect, target, and verify the active desktop window manager configurations out of the box. - 🔗 5-Pass Chained Variable Resolution: A robust iterative parsing engine designed to dynamically resolve local config variable definitions nested up to 5 layers deep, guaranteeing pristine extraction accuracy for complex multi-sourced setups.
- 🎨 Catppuccin TUI Dashboard: Features a clean, switchable tab arrangement crafted with
bubbleteaandlipgloss. Modeled after the popular Catppuccin Mocha palette preferred by the r/unixporn community. - 🛠️ Active Auto-Fixer Engine: Highlight any red
[MISSING]dependency and pressiorx. The application suspends its viewport loop to natively pipe your system’s default package helper stream directly into the terminal stream without breaking application layout. - 🔄 Live Hot-Reloading (
fsnotify): Monitors targeted target nodes asynchronously in the background. Saving changes to any primary or recursively sourced configuration file dynamically pushes thread-safe reload updates straight into the TUI layout. - 📝 Markdown Medical Report: Instantly hit
eto generate a structured system status audit document saved cleanly asdotdoctor_report.mdin your current working directory. - 🌍 Cross-Platform Architecture (Build Tags): Leverages explicit Go build tags to cleanly segregate platform-specific verification implementations, compiling cleanly across three independent host operating systems:
- Linux (CachyOS/Arch): Audits icon system mappings using
fc-listand facilitates installation viapacman,yay, orparu. - macOS (Darwin): Traverses system and user font paths recursively and triggers package setup via
Homebrew (brew). - Windows: Evaluates missing system fonts straight from
%SystemRoot%\Fontsand triggers package deployment viaWinget.
- Linux (CachyOS/Arch): Audits icon system mappings using
Install DotDoctor instantly using your system's native package manager or fetch from source:
| OS | Package Manager / Source | Command |
|---|---|---|
| Linux (Arch/Cachy) | AUR (Arch User Repository) | yay -S dotdoctor-git or paru -S dotdoctor-git |
| macOS (Darwin) | Homebrew Tap | brew tap WinTuner/dotdoctor && brew install dotdoctor |
| Windows | Winget | winget install --id=WinTuner.DotDoctor -e |
| Any Platform | Install from Source (Go CLI) | go install github.com/WinTuner/DotDoctor@latest |
If you do not have Go or a package manager configured on your local machine, grab the optimized, pre-compiled static executables compiled for your target CPU architecture (including Apple Silicon arm64) directly from the:
👉 GitHub Releases page.
Once unpacked, move the compiled executable block to your global binary system locations:
- Linux / macOS: Move binary to
/usr/local/bin/ - Windows: Append binary location to your Environment
PATHvariable.
Run the global shortcut command from any terminal context:
dotdoctor