A minimalist and powerful dotfiles configuration tailored for web developers and productivity enthusiasts.
This repository contains a carefully curated collection of dotfiles and configurations that provide a seamless development environment. Designed with simplicity and productivity in mind, these configurations help you set up a powerful terminal-based workflow quickly.
- π One-Command Installation: Automated setup with intelligent backup system
- π Smart Updates: Automatic git pull and configuration sync
- πΎ Safe Backup: Automatic backup of existing configs with timestamps
- π₯οΈ Modern Terminal Setup: Enhanced terminal experience with Kitty terminal emulator
- π Powerful Shell Configuration: ZSH with custom aliases and functions
- β‘ Advanced Code Editor: LunarVim configuration for efficient coding
- π€ Custom Fonts: High-quality programming fonts included
- π¦ Git Configuration: Optimized Git settings and global gitignore
- π§ Cross-Platform: Compatible with macOS (bash 3.2+) and Linux
Before installation, ensure you have the following dependencies installed:
Tool | Description | Status | Installation Link |
---|---|---|---|
Git | Version control system | Required | Install Guide |
Kitty | Modern, feature-rich terminal emulator | Recommended | Install Guide |
Oh My Zsh | Framework for managing Zsh configuration | Recommended | Install Guide |
LunarVim | IDE layer for Neovim with sane defaults | Optional | Install Guide |
Powerlevel10k | Fast and customizable Zsh theme | Optional | Install Guide |
Open your terminal and run this single command:
bash <(curl -s https://raw.githubusercontent.com/al0xd/dotfiles/master/install.sh)
If you prefer to install manually or want more control over the process:
# Clone the repository
git clone https://github.com/al0xd/dotfiles.git ~/dotfiles
# Navigate to the dotfiles directory
cd ~/dotfiles
# Make install script executable
chmod +x ./install.sh
# Run the installation script
./install.sh
You can specify a custom directory for dotfiles:
# Install to custom directory
./install.sh -d /path/to/custom/dotfiles
# Or set environment variable
DOTFILES_DIR=/path/to/custom ./install.sh
The install.sh
script comes with several useful options:
# Show help information
./install.sh --help
# Install with custom dotfiles directory
./install.sh --dir /custom/path
# Short form options
./install.sh -h # Help
./install.sh -d DIR # Custom directory
- π Environment Validation: Checks for Git and required permissions
- π¦ Repository Setup: Clones repo (first time) or pulls updates (existing)
- πΎ Smart Backup: Backs up existing configs with timestamps
- π Symlink Creation: Creates symlinks to dotfiles configurations
- β Verification: Validates all operations completed successfully
To update your dotfiles configuration to the latest version:
# Navigate to dotfiles directory (default location)
cd ~/dotfiles
# Run the installation script (it will auto-update)
./install.sh
The script automatically:
- Pulls latest changes from the repository
- Updates all symlinks
- Backs up any conflicting files
dotfiles/
βββ π fonts/ # Programming fonts collection
β βββ ComicMono-*.ttf
β βββ LigaComicMono-*.ttf
β βββ SFMono-*.otf
βββ π git/ # Git configuration files
β βββ gitconfig # Global git configuration
β βββ gitignore # Global gitignore patterns
βββ π kitty/ # Kitty terminal configuration
β βββ kitty.conf # Terminal settings and themes
βββ π lunarvim/ # LunarVim configuration
β βββ config.lua # Neovim IDE settings
βββ π zsh/ # ZSH configuration and aliases
β βββ zshrc # Main ZSH configuration
β βββ aliases.zsh # Custom shell aliases
βββ π img/ # Documentation assets
β βββ hero.png
βββ π§ install.sh # Automated installation script
βββ π package.json # Release automation
βββ π README.md # This documentation
- Custom aliases for common commands
- Enhanced prompt and productivity functions
- Optimized for development workflow
- Optimized terminal settings
- Custom key bindings and shortcuts
- Modern font rendering and themes
- Global settings for optimal workflow
- Comprehensive gitignore patterns
- Aliases for common git operations
- IDE-like experience with essential plugins
- Language server configurations
- Custom key bindings and themes
- Comic Mono: Playful monospace font
- Liga Comic Mono: Comic Mono with ligatures
- SF Mono: Apple's system monospace font
- Optimized for programming and terminal use
Permission Denied:
chmod +x ./install.sh
Bash Version Issues (macOS): The script is compatible with bash 3.2+ (macOS default). No additional setup needed.
Symlink Conflicts: The script automatically backs up existing files with timestamps before creating symlinks.
Git Issues: Ensure you have Git installed and configured with your credentials.
To add new dotfiles to the installation:
- Add your config file to the appropriate directory
- Update the
DOTFILE_MAPPINGS
array ininstall.sh
:
readonly DOTFILE_MAPPINGS=(
# ... existing mappings ...
"your-config/file|$HOME/.your-config"
)
Simply edit the files in their respective directories:
zsh/zshrc
- Shell configurationgit/gitconfig
- Git settingskitty/kitty.conf
- Terminal settingslunarvim/config.lua
- Editor configuration
Contributions are welcome! Here's how you can help:
- π΄ Fork the repository
- πΏ Create a feature branch (
git checkout -b feature/amazing-feature
) - πΎ Commit your changes (
git commit -m 'Add amazing feature'
) - π€ Push to the branch (
git push origin feature/amazing-feature
) - π Open a Pull Request
- Follow existing code style and conventions
- Test your changes on multiple systems if possible
- Update documentation for new features
- Keep commits atomic and well-described
This project is open source and available under the MIT License.
- Alex Dinh - Creator and maintainer
Special thanks to the creators and maintainers of:
Made with β€οΈ for the developer community
β Star this repo if it helped you!
Questions? Issues? Ideas?Open an issue or start a discussion!