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 = john.doe@example.com
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! 😄





