Personal configuration files for Linux/macOS development environment. Organized using GNU Stow for easy deployment across machines.
- Alacritty - GPU-accelerated terminal (Catppuccin themes available)
- Kitty - Alternative terminal with macOS-specific configuration (Catppuccin Macchiato theme)
- Tmux - Terminal multiplexer with tmux-powerkit and tmux-yank
- Prefix:
Ctrl+a - Powerline status bar (theme configurable via @powerkit_theme)
- Unicode glyph support (WSL-compatible)
- URL viewing with urlscan (
prefix + u)
- Prefix:
- Zsh - Shell with Oh My Zsh, separate configs for macOS and Linux
zsh/- Standard Linux configurationzsh-macos/- macOS-specific configuration with platform-specific settings and tools- See zsh/README.md for detailed configuration information
- Starship - Cross-shell prompt (configured via eval in zshrc, no custom config files)
- Rofi - Application launcher with Catppuccin theme
- Autorandr - Monitor profile management (stored as
autorandr-home-desktop)
- GNU Stow
- Git
- Nerd Font (recommended: FiraCode Nerd Font, JetBrainsMono Nerd Font)
- urlscan (for tmux URL viewing feature:
pacman -S urlscanon Arch,apt install urlscanon Debian/Ubuntu)
- Clone the repository:
git clone <repo-url> ~/dotfiles
cd ~/dotfiles- Use GNU Stow to symlink configurations:
# Install specific configuration
stow tmux
# Install multiple configurations
stow tmux zsh alacritty
# Install all (be careful!)
stow */-
Platform-specific:
- macOS: Use
zsh-macosandkitty-macinstead ofzshandkitty - Linux: Standard directories
- WSL: Ensure proper font setup in Windows Terminal
- macOS: Use
-
Post-install:
# Install tmux plugins
tmux source-file ~/.tmux.conf
# Then press Ctrl+a I to install plugins
# Source shell config
source ~/.zshrcmake dump-keybindings # Export keybindings
make load-keybindings # Import keybindings# Tmux
tmux source-file ~/.tmux.conf
# Zsh
source ~/.zshrc
# Awesome (requires restart)Each tool has its own directory following GNU Stow conventions:
tool-name/
.config/tool-name/ # Config files
.tool-rc # Root dotfiles (if applicable)
Examples:
tmux/.tmux.conf- Tmux configurationzsh/.zshrc- Zsh configurationalacritty/.config/alacritty/alacritty.toml- Alacritty configuration
- Unicode glyphs not displaying: Ensure Windows Terminal uses a Nerd Font. tmux automatically detects and sets
C.utf8locale for WSL. - Powerkit glyphs broken: Verify font supports Nerd Font glyphs (F4BC and similar PUA characters).
- Plugins not loading: Press
Ctrl+athenIto install tmux plugins via TPM. - Status line missing: Check that tmux-powerkit is installed:
ls ~/.tmux/plugins/tmux-powerkit # If not found: cd ~/dotfiles && stow tmux && tmux source ~/.tmux.conf # Then press Ctrl+a I to install plugins
Theme configurations across tools:
- Alacritty: Catppuccin themes available (including Mocha, Macchiato)
- Kitty: Catppuccin Macchiato theme
- Tmux: tmux-powerkit (default theme, configurable via @powerkit_theme)
- Rofi: Catppuccin Mocha theme
- Awesome: Default theme
- Polybar: Custom configuration
When modifying configurations:
- Test changes thoroughly in your environment
- Ensure platform-specific configs (macOS vs Linux) are correctly separated
- Check for sensitive data before committing (see AGENTS.md for security guidelines)
- Run
git statusandgit diffbefore committing - Use descriptive commit messages
- Tmux prefix:
Ctrl+a - FiraCode Nerd Font or JetBrainsMono Nerd Font recommended for proper icon rendering
- Configuration files are designed to be portable across Linux/macOS systems
- Theme consistency varies across tools - see "Theme & Visuals" section for details