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
sh -c "$(curl -fsSL https://github.com/seagle0128/dotfiles/raw/master/scripts/install.sh)"or
sh -c "$(wget https://github.com/seagle0128/dotfiles/raw/master/scripts/install.sh -O -)"or
git clone https://github.com/seagle0128/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./scripts/install.shgit 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:
./scripts/install.sh - 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! 😄





