🌌 Elegant dotfiles for the modern developer | Powered by GNU stow
🎨 A meticulously crafted development environment featuring:
- 🚀 Blazing-fast ZSH setup with custom plugins
- 🎯 Neovim config with LSP & treesitter
- 🖥️ Beautiful terminal setup (Ghostty, Tmux)
- 🎮 Git-centric workflow with LazyGit
- 🌟 Tokyo Night theme across all tools
✨ Zero-friction setup for macOS development environment
- Shell Configuration
.zshrc- ZSH shell configuration- Custom ZSH configurations in
.config/zsh/
- Development Tools
.gitconfig- Git configuration.vimrc- Vim configurationnvim/- Neovim configuration.tmux.conf- Tmux configuration
- Terminal Utilities
.config/ghostty/- Ghostty terminal configuration.config/starship.toml- Starship prompt configuration.config/bat/- Bat (cat alternative) configuration.config/eza/- Eza (ls alternative) configuration.config/lazygit/- LazyGit configuration.config/yazi/- Yazi file manager configuration.config/fastfetch/- System information tool configuration
File Listing
| Alias | Command | Description |
|---|---|---|
l |
eza -1A --group-directories-first --color=always |
List files |
la |
eza -la --git --git-repos --group-directories-first --color=always --octal-permissions --time-style=long-iso |
Detailed list with git info |
tree |
eza --tree --group-directories-first --color=always |
Tree view |
ls |
l |
Alias for list |
t |
l |
Short alias for list |
Tools
| Alias | Command | Description |
|---|---|---|
tm |
tmux |
Open Tmux |
lg |
lazygit |
Open LazyGit |
yz |
yazi |
Open Yazi file manager |
ff |
fastfetch |
System info |
rg |
rg --hidden --smart-case ... |
Ripgrep with defaults |
System
| Alias | Command | Description |
|---|---|---|
reload |
source ~/.zshrc |
Reload ZSH configuration |
c |
clear |
Clear terminal screen |
man |
batman |
Open man pages with bat |
rf |
trash |
Move to Trash |
allowapp |
sudo xattr -r -d com.apple.quarantine |
Remove quarantine |
dsclean |
fd -H '^\\.DS_Store$' -tf -X rm |
Remove .DS_Store files |
lnclean |
fd . --type l ... |
Remove broken symlinks |
Editors
| Alias | Command | Description |
|---|---|---|
e |
$EDITOR |
Open editor |
E |
sudo -e |
Open editor as root |
Services
| Alias | Command | Description |
|---|---|---|
caddystart |
caddy start --config ~/.config/caddy/caddy.json |
Start Caddy |
caddystop |
caddy stop |
Stop Caddy |
| Function | Description | Usage |
|---|---|---|
migrate_npm_globals |
Migrate npm global packages to a new Node.js version | migrate_npm_globals 20 |
zsh_refresh_init_cache |
Refresh cached init scripts for shell tools | zsh_refresh_init_cache |
These need to be installed manually:
- Zsh - Shell
- Zinit - Zsh plugin manager
- Ghostty - Terminal emulator
- Tmux - Terminal multiplexer
- fzf - Fuzzy finder
- fd - File finder
- bat - Cat clone with syntax highlighting
- eza - Modern ls replacement
- zoxide - Smarter cd command
- starship - Cross-shell prompt
- fnm - Fast Node.js version manager
- git - Version control
- diff-so-fancy - Git diff enhancer
- lazygit - Git TUI
- yazi - Terminal file manager
- 1Password CLI - Password manager CLI
- Neovim - Text editor
- ripgrep - Fast text search
Before installation, ensure you have:
- macOS installed
- Command Line Tools for Xcode:
xcode-select --install - Homebrew package manager
- GNU stow:
brew install stow
- Clone this repository:
git clone git@gitlab.com:waosdx/dotfiles.git ~/.dotfiles
cd ~/.dotfiles- Create symlinks using GNU stow:
./link.shThis will:
- Back up any existing dotfiles
- Create symbolic links in your home directory
- Set up all configurations (zsh, tmux, neovim, etc.)
- Reload your shell:
source ~/.zshrc- Install Zinit for ZSH plugin management:
bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"- Install required dependencies:
brew install tmux fzf fd bat eza zoxide starship fnm lazygit yazi ripgrep diff-so-fancy
brew install --cask ghosttyRemove all symlinks created by GNU stow:
./unlink.sh- Remove Homebrew packages (optional):
# List all installed packages first
brew leaves
# Remove specific packages
brew uninstall tmux fzf fd bat eza zoxide starship fnm lazygit yazi ripgrep diff-so-fancy ...
brew uninstall --cask ghosttyClean up remaining configuration files:
# Remove ZSH configuration
rm -rf ~/.zshrc ~/.zsh_history ~/.zinit
# Remove tool-specific configs
rm -rf ~/.config/ghostty
rm -rf ~/.config/nvim
rm -rf ~/.config/tmux
rm -rf ~/.config/yazi
rm -rf ~/.config/starship.toml
...