Personal configuration files for development environment setup.
Install GNU Stow:
# Arch
sudo pacman -S stow
# Ubuntu
sudo apt install stow
# macOS
brew install stow- Clone this repository:
git clone <repository-url> ~/dotfiles
cd ~/dotfiles- Use GNU Stow to symlink configurations:
# Install all configurations
stow */
# Or install specific configurations
stow nvim
stow zsh
stow bashrc
stow wezterm- Restart your terminal or source your shell configuration.
The scripts/ folder contains utility scripts for managing your dotfiles (note: this folder itself is not a dotfile backup, just utility tools). These scripts are usually aliased in the .zshrc configuration for convenience.
For detailed information about available scripts and their usage, see scripts/README.md.
Quick overview:
dotbkper.sh- Move config files to dotfiles repo and stow them backdotsync.sh- Sync dotfiles changes to Git repositorydotstatus.sh- Check for uncommitted dotfiles changes
Modular zsh configuration with lazy loading for better performance:
core/- Core shell settings (history, options, exports)tools/- Lazy-loaded development tools (conda, nvm, zoxide)- Auto-discovery and loading of tool configurations
Lua-based Neovim configuration with LSP support:
plugins/- Modular plugin configurations (mason, completion, etc.)lsp.lua- Language Server Protocol setupkeymaps.lua- Custom key mappings- LSP support for multiple languages including Lua
This repository contains my personal dotfiles organized for use with GNU Stow. Each directory represents a different program's configuration that gets symlinked to the appropriate location in your home directory when you run stow.
Stow creates symbolic links from this repository to your home directory, keeping your configurations version controlled while maintaining the standard file locations that programs expect.