A command-line utility to manage dotfiles and act as a generic fuzzy git client using fzf.
dotbare is a command-line utility that helps developers manage their dotfiles using a git bare repository and provides an interactive interface powered by fzf. It solves the complexity of traditional dotfile management by eliminating symlinks and offering visual, fuzzy-finding operations for staging, committing, and editing configuration files. Additionally, it can function as a generic fuzzy git client for any repository.
Developers and system administrators who use version control for their dotfiles and want a more interactive, visual workflow without symlinks. It's also suitable for anyone looking for a fuzzy-finding-enhanced git client for daily terminal use.
Developers choose dotbare for its dual-purpose design: it simplifies dotfile management with a clean git bare approach while also serving as a powerful fuzzy git client. Its interactive fzf interface, migration tools, and customization options provide a unique blend of usability and flexibility not found in most standalone dotfile managers.
Manage dotfiles and any git directories interactively with fzf
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages fzf for fuzzy-finding visual selection, staging, and editing of dotfiles, as shown in commands like `dotbare fadd` and `dotbare flog` for an intuitive workflow.
Uses git bare repositories to track dotfiles in their original locations, eliminating symlink complexity and simplifying setup, as detailed in the migration and customization sections.
Serves as both a dotfile manager and a generic fuzzy git client with the `--git` flag, allowing interactive git operations like log viewing and diff previews for any repository.
Offers environment variables like DOTBARE_KEY and DOTBARE_PREVIEW to customize fzf keybindings, preview tools, and repository paths, providing flexibility for advanced users.
Requires fzf as a mandatory dependency, adding installation complexity and potentially limiting use in minimalist or restricted environments without it.
Written in Bash, which may reduce portability to systems without Bash and could impact performance or compatibility compared to cross-platform compiled tools.
The README cautions that migration from symlink/GNU stow setups lacks thorough testing, posing a risk for users transitioning from those methods without manual verification.