This repository contains my personal dotfiles and configurations for various tools and applications I use on macOS. The setup ensures consistency across systems and allows for quick provisioning of a new machine.
- README.md: Overview of the repository.
- setup.sh: Script to create symlinks for all dotfiles.
- install.sh: Installation script for required tools and dependencies.
- btop/: Configuration for btop system monitor.
- aerospace/: Configuration files for the Aerospace window manager, including layout and keybinding settings.
- karabiner/: Configuration for Karabiner-Elements keyboard customizer.
- nvim/: Neovim configuration files using Lua with LazyVim.
- raycast/: Raycast snippets and configurations (for import only).
- surfingkeys/: SurfingKeys browser extension configuration.
- tmux/: Tmux configuration and plugins managed by TPM.
- wezterm/: Configuration for WezTerm terminal emulator.
- yazi/: Configuration for Yazi file manager.
- zsh/: Zsh shell configuration, including aliases, paths, and plugin settings.
For comprehensive guides and references:
- 📋 Complete Index - Full project documentation and setup guide
- 🛠️ Tool Reference - Commands and configuration for all tools
- 🧭 Navigation Guide - Find any documentation quickly
- 🤖 Claude Code Guide - AI integration and repository architecture
- Clone this repository:
git clone https://github.com/yuyudhan/yuyudhan-dotfiles.git
cd yuyudhan-dotfiles- Run the setup script to create symlinks for all configurations:
bash setup.sh- For specific configurations, you can symlink individual tools:
bash setup.sh nvim # Symlink only Neovim config
bash setup.sh tmux # Symlink only Tmux config
bash setup.sh zsh # Special Zsh setup- For Zsh setup specifically (creates
~/.zshrcand~/.config/zsh/):
bash setup.sh zsh- Restart your terminal or source your shell configuration:
source ~/.zshrcThe following configurations can be symlinked individually or all at once:
nvim→~/.config/nvimwezterm→~/.config/weztermaerospace→~/.config/aerospacetmux→~/.config/tmuxyazi→~/.config/yazikarabiner→~/.config/karabinerbtop→~/.config/btop
The Zsh configuration is structured as follows:
zshrc→ symlinked to~/.zshrc- Entire
zsh/directory → symlinked to~/.config/zsh/ - Configuration files are organized in
zsh/configs/for modularity
Modify the files in their respective directories to suit your needs. Changes are automatically synced through the symlinks.
- Neovim: Enhanced text editor with LazyVim configuration, LSP support, and custom plugins.
- Aerospace: Tiling window manager for macOS.
- WezTerm: GPU-accelerated terminal emulator with custom themes and keybindings.
- Tmux: Terminal multiplexer with extensive plugin support via TPM.
- Zsh: Shell configuration with custom plugins, aliases, and productivity enhancements.
- Yazi: Modern file manager with preview capabilities.
- Karabiner: Keyboard customization for enhanced productivity.
- btop: Modern system monitor with beautiful interface.
- Raycast: Productivity launcher with custom snippets.
- SurfingKeys: Browser extension for keyboard-driven web browsing.
- The setup script automatically removes existing configurations before creating new symlinks.
- All configurations are designed to work seamlessly together.
- Raycast configurations are for import only and not automatically symlinked.
This repository is for personal use. Feel free to use or adapt it, but I provide no guarantees or support.