Full and clean configurations for development environment on GNU Linux and macOS.
dotfiles/
βββ config/ # Configuration files
β βββ .gemrc # Ruby gem configuration
β βββ .gitconfig_* # Platform-specific git configs
β βββ .gitconfig_global # Global git configuration
β βββ .gitignore_global # Global gitignore patterns
β βββ .markdownlintrc # Markdown linting rules
β βββ .npmrc # Node.js package manager config
β βββ .pip.conf # Python package manager config
β βββ .tmux.conf.local # Tmux configuration
β βββ .vimrc # Vim configuration
β βββ cargo.toml # Rust package manager config
β βββ ghostty.config # Ghostty terminal config
β βββ starship.toml # Starship prompt config
βββ scripts/ # Installation and utility scripts
β βββ install.sh # Main installation script
β βββ common.sh # Shared functions and variables
β βββ packages.sh # Package installation module
β βββ dotfiles.sh # Dotfiles setup module
β βββ install_arch.sh # Arch Linux package installer
β βββ install_debian.sh # Debian/Ubuntu package installer
β βββ install_emacs.sh # Emacs installation script
β βββ install_font.sh # Font installation script
β βββ install_go.sh # Go language installer
β βββ install_scoop.ps1 # Windows Scoop installer
β βββ Microsoft.PowerShell_profile.ps1 # PowerShell profile
βββ shell/ # Shell configuration files
β βββ .zshrc # Zsh configuration
β βββ .zshenv # Zsh environment variables
β βββ .zshrc.local # Local zsh customizations
β βββ config.fish # Fish shell configuration
β βββ fish_plugins # Fish plugin list
βββ LICENSE # Project license
βββ logo.png # Project logo
βββ Brewfile # Homebrew package list (macOS)
βββ Dockerfile # Docker configuration
βββ Makefile # Common tasks automation
βββ README.md # This file
βββ _config.yml # GitHub Pages config
βββ .gitignore # Git ignore patterns
βββ logo.png # Project logo
git clone https://github.com/seagle0128/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
make installTo get help
> make help
Centaur Dotfiles Management
Available commands:
install Install all dotfiles and packages
update Update all configurations and packages
clean Clean backup files and old configurations
sync Synchronize dotfiles with remote repository
test Test configuration files
lint Lint configuration files
dev-setup Setup development environment
backup Backup current configurations
restore Restore from backup
help Show this help messagegit clone https://github.com/seagle0128/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./scripts/install_scoop.ps1cd ~/.dotfiles
docker build -t centaur/ubuntu .
docker run -it centaur/ubuntu zshAlt-c: cd into the selected directoryCtrl-r: Paste the selected command from history into the command lineCtrl-t: Paste the selected file path(s) into the command lineTAB: To completions
Add your zsh environments in ~/.zshenv. This is recommended by ZSH officially:
export PATH=/usr/local/sbin:$PATH
export PATH=$HOME/.rbenv/shims:$PATH
export PYTHONPATH=/usr/local/lib/python2.7/site-packagesSet your personal zsh configurations in ~/.zshrc.local:
# Oh-my-zsh plugin
zinit snippet OMZP::golang
zinit snippet OMZP::python
zinit snippet OMZP::ruby
# Github plugin
zinit light ptavares/zsh-direnvSet your git configurations in ~/.gitconfig.local:
[commit]
# Sign commits using GPG
gpgsign = true
[user]
name = John Doe
email = [email protected]
signingkey = XXXXXXXXmake install # Install dotfiles
make update # Update all configurations
make clean # Clean backup files
make help # Show available commands# Update dotfiles
cd ~/.dotfiles && git pull --rebase --stat origin master
# Update Zinit plugins
zinit self-update && zinit update -a -p
# Update Homebrew packages (macOS)
brew bundle --global && brew upgrade && brew cleanup
# Update system packages (Linux)
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo pacman -Syu # Arch LinuxAll packages are managed via Brewfile. To install:
brew bundle --global- Debian/Ubuntu: Uses
install_debian.sh - Arch Linux: Uses
install_arch.sh
- Scoop: Uses
install_scoop.ps1 - Chocolatey: Alternative package manager
If you're upgrading from an older version of these dotfiles:
- Backup your current configurations
- Run the new installer:
make install - The installer will automatically detect and handle existing configurations
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Related projects: DevStrap
If you think this is helpful for you, please consider paying a cup of coffee for me. Thank you! π
Β Β Β Β