This repository contains my personal dotfiles for setting up a consistent development environment across different machines.
This repository provides a modular and maintainable way to manage terminal configurations, shell customizations, and development tools. It uses symbolic links to maintain configurations in a centralized location while allowing easy deployment across different environments.
dotfiles-blueprint/
βββ .zsh/ # ZSH configurations and modules
β βββ .zsh_aliases # All shell aliases
β βββ .zsh_custom_config # Custom ZSH settings
β βββ .zsh_git_func # Git-related functions
β βββ .zsh_history # History settings
β βββ .zsh_keys # Keyboard bindings
β βββ .zsh_plugins # Plugin configurations
β βββ .zsh_tools # Development tools setup
βββ .config/ # Application configurations
β βββ starship.toml # Starship prompt settings
β βββ kitty/ # Kitty terminal config
βββ install/ # Installation scripts
β βββ bootstrap.sh # Base system setup
β βββ brew.sh # Install Homebrew packages
β βββ symlinks.sh # Symlink creation
β βββ plugins # Plugin installation (Go binary)
β βββ post_install.sh # Additional configurations
- π Fast and modular ZSH configuration
- π Auto-reload of aliases when modified
- π οΈ Development tools setup (Go, Python, Terraform, Docker)
- π Plugin management for ZSH
- β‘ CLI tools for productivity (asdf, zoxide, fzf, atuin, bat, etc.)
- Clone the repository:
git clone https://github.com/MrSnakeDoc/dotfiles-blueprint.git ~/dotfiles- Run the installation scripts:
cd ~/dotfiles/install
./bootstrap.sh # Install required packages
./brew.sh # Install Homebrew packages
./symlinks.sh # Create symbolic links
./plugins # Install and configure plugins
./post_install.sh # Additional configurationsWarning
For detailed installation instructions, see the README in the install/ directory.
Optional: Include Kitty terminal configuration:
./symlinks.sh -k- ZSH with Starship prompt
- Auto-suggestions and syntax highlighting
- Custom functions for Git operations
- Smart aliases with auto-reload
- Git configurations and aliases
- Docker shortcuts and utilities
- Terraform aliases
- Python environment setup
- Golang configuration with asdf
- Ansible workspace setup
- fzf - Fuzzy finder
- bat - Modern cat replacement
- eza - Modern ls replacement
- zoxide - Smarter cd command
- atuin - Better shell history
- ripgrep - Fast search tool
- btop - Interactive process viewer
- tldr - help command for common tasks
- asdf - Version manager for multiple languages
- lazygit - Terminal UI for Git
Modify your setup through:
- Individual files in
.zsh/ - Tool-specific configs in
.config/
- Git
- ZSH shell
- Homebrew (can be installed via the script
install/brew.sh) - Internet connection for package installation
MIT License - Feel free to use and modify as needed!