Note
An attempt to keep things elegant, simple and OS-agnostic.
This repo is the ~/.config directory itself.
On a fresh machine, install fish and git, clone, then run the bootstrap script.
git clone https://github.com/cmjoseph07/dotfiles.git ~/.config
fish ~/.config/bootstrap.fishThe bootstrap is idempotent: it installs fisher and its plugins, provisions mise tools, and prints an install command for anything still missing. Everything in the configs is existence-guarded, so a machine without some tool skips it instead of erroring. Windows is covered via WSL2; WezTerm on native Windows falls back to PowerShell.
- Fish - The friendly interactive shell
- WezTerm - GPU-accelerated cross-platform terminal emulator and multiplexer written in Rust
- Atuin - Shell history with sync, stats and context-aware search
- Bat - Cat clone with syntax highlighting and Git integration
- Eza - Modern replacement for 'ls'
- Fastfetch - Fast system information tool
- Fd - Simple, fast and user-friendly alternative to 'find'
- Fzf - Command-line fuzzy finder
- Mise - dev tools, env vars, task runner
- Ripgrep - Recursively search directories for a regex pattern
- Zoxide - Smarter cd command inspired by z and autojump
atuin/- shell history settings: compact inline UI, background daemon (autostarts on demand); the history db and sync key stay in~/.local/share/atuinfish/- shell config, see fish/README.mdgit/- git identity and global ignore, at git's XDG default paths so no absolute paths are neededmise/- global tool versions (node lts)wezterm/- terminal config, platform-awarebootstrap.fish- new machine setup