Centaur Dotfiles

Full and clean configurations for development environment on GNU Linux and macOS.
ποΈ Project Structure
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
π Quick Start
Linux & macOS
git clone https://github.com/seagle0128/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
make install
To 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 message
Windows (PowerShell)
git clone https://github.com/seagle0128/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./scripts/install_scoop.ps1
π³ Docker
cd ~/.dotfiles
docker build -t centaur/ubuntu .
docker run -it centaur/ubuntu zsh
β¨οΈ Shortcuts
Alt-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
π¨ Customization
ZSH Environment
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-packages
ZSH Local Config
Set 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-direnv
Git Local Config
Set your git configurations in ~/.gitconfig.local:
[commit]
# Sign commits using GPG
gpgsign = true
[user]
name = John Doe
email = john.doe@example.com
signingkey = XXXXXXXX
π οΈ Management
Using Makefile
make install # Install dotfiles
make update # Update all configurations
make clean # Clean backup files
make help # Show available commands
Manual 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 Linux
π¦ Package Management
macOS (Homebrew)
All packages are managed via Brewfile. To install:
brew bundle --global
Linux
- Debian/Ubuntu: Uses
install_debian.sh - Arch Linux: Uses
install_arch.sh
Windows
- Scoop: Uses
install_scoop.ps1 - Chocolatey: Alternative package manager
πΌοΈ Screenshots
Main (with Tmux)

Git Log

Centaur Emacs

π Migration from Old Structure
If youβre upgrading from an older version of these dotfiles:
- Backup your current configurations
- Run the new installer:
./scripts/install.sh - The installer will automatically detect and handle existing configurations
π€ Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgements
Related projects: DevStrap
β Donate
If you think this is helpful for you, please consider paying a cup of coffee for me. Thank you! :smile:
Β Β Β Β
