Personal configuration files for a modern terminal development environment.
| Config | Description |
|---|---|
| fish | Fish shell with abbreviations, functions, and keybindings |
| nvim | Neovim config built on LazyVim |
| tmux | Tmux with Catppuccin theme and plugins |
| starship | Cross-shell prompt |
| git | Git config with delta for diffs |
| ghostty | Ghostty terminal config |
| atuin | Shell history sync |
# Clone the repo
git clone https://github.com/yourusername/dotfiles.git
cd dotfiles
# Run the installer
./install-al2023.sh
# Copy configs
cp -r fish/* ~/.config/fish/
cp -r nvim ~/.config/
cp starship.toml ~/.config/
cp .tmux.conf ~/
cp .gitconfig ~/
cp .bash_aliases ~/
# Change shell to fish
chsh -s $(which fish)
# Install tmux plugins (start tmux, then press prefix + I)
tmuxNote: The installer doesn't include delta or atuin. Install manually if needed:
# Install dependencies with Homebrew
brew install fish neovim tmux starship zoxide fzf eza bat ripgrep fd sd mise git-delta atuin
# Copy configs (same as above)
# ...- fish - Primary shell
- starship - Prompt
- zoxide - Smart
cdreplacement (z) - fzf - Fuzzy finder
- atuin - Shell history
| Classic | Modern | Description |
|---|---|---|
ls |
eza |
File listing with icons |
cat |
bat |
Syntax-highlighted file viewer |
grep |
rg |
Fast recursive search |
find |
fd |
Fast file finder |
sed |
sd |
Intuitive find & replace |
diff |
delta |
Git diff viewer |
- neovim - Editor
- tmux - Terminal multiplexer
- mise - Runtime version manager (replaces nvm, pyenv, etc.)
- Git abbreviations (
gs,gc,gd,gp, etc.) - Worktree helpers (
gwa,gwl,gwcd,gwd) - Quick dotfile editing (
dotfile fish,dotfile tmux) - Tmux session manager (
t [session])
See fish/README.md for full documentation.
- LazyVim base with custom plugins
- Diffview for git diffs
- Zen mode for focused editing
- Obsidian integration
See nvim/README.md for keymaps and plugins.
- Prefix:
Ctrl-f - Catppuccin theme
- Plugins: session persistence, clipboard, fzf, URL opening
- Delta for side-by-side diffs with syntax highlighting
- zdiff3 merge conflict style
dotfiles/
├── fish/ # Fish shell config
│ ├── config.fish
│ ├── conf.d/ # Modular config files
│ └── functions/ # Custom functions
├── nvim/ # Neovim config
│ ├── init.lua
│ └── lua/
├── ghostty/ # Ghostty terminal
├── atuin/ # Shell history
├── .tmux.conf # Tmux config
├── .gitconfig # Git config
├── .bash_aliases # Bash aliases (fallback)
├── starship.toml # Starship prompt
└── install-al2023.sh # Amazon Linux installer
For machine-specific or work config, create:
~/.config/fish.private/
├── conf.d/
│ └── work.fish
└── functions/
These are automatically sourced by fish if present.