██ ██ ████ ██ ██
░██ ░██ ░██░ ░░ ░██
░██ ██████ ██████ ██████ ██ ░██ █████ ██████
██████ ██░░░░██░░░██░ ░░░██░ ░██ ░██ ██░░░██ ██░░░░
██░░░██░██ ░██ ░██ ░██ ░██ ░██░███████░░█████
░██ ░██░██ ░██ ░██ ░██ ░██ ░██░██░░░░ ░░░░░██
░░██████░░██████ ░░██ ░██ ░██ ███░░██████ ██████
░░░░░░ ░░░░░░ ░░ ░░ ░░ ░░░ ░░░░░░ ░░░░░░
▓▓▓▓▓▓▓▓▓▓
░▓ about ▓ A comprehensive dotfiles collection for developers using macOS/Linux.
░▓ author ▓ Sky Jia <me@skyjia.com>
░▓ code ▓ https://github.com/skyjia/dotfiles
░▓▓▓▓▓▓▓▓▓▓
░░░░░░░░░░
| Package | Description |
|---|---|
zsh/ |
Zsh with oh-my-zsh, starship prompt, and plugins |
fish/ |
Fish shell configuration with utility functions |
nushell/ |
Nushell with autoloaded modules and vendor scripts |
| Package | Description |
|---|---|
ghostty/ |
Ghostty terminal configuration |
warp/ |
Warp terminal settings, themes, and tab configurations (via submodule) |
waveterm/ |
Wave terminal configuration with widgets |
| Package | Description |
|---|---|
tmux/ |
Terminal multiplexer configuration (via submodule) |
zellij/ |
Zellij terminal multiplexer configuration |
| Package | Description |
|---|---|
astro-nvim/ |
AstroNvim configuration for Neovim |
zed/ |
Zed editor settings |
| Package | Description |
|---|---|
starship/ |
Starship prompt configuration |
yazi/ |
Yazi file manager with plugins and themes |
bat/ |
Bat (cat clone) configuration |
| Package | Description |
|---|---|
brew/ |
Homebrew packages and casks (brew/.Brewfile) |
asdf/ |
asdf version manager configuration |
anaconda/ |
Conda environment configuration |
| Package | Description |
|---|---|
R/ |
R package configuration |
ruby/ |
Ruby configuration |
rust/ |
Rust/cargo configuration (includes crates.txt manifest) |
npm/ |
npm configuration |
| Package | Description |
|---|---|
aria2/ |
aria2 download manager configuration |
wget/ |
wget configuration |
odbc/ |
ODBC database configuration |
| Package | Description |
|---|---|
karabiner/ |
Karabiner-Elements configuration |
cmux/ |
Cmux configuration |
git/ |
Global git configuration and aliases |
hg/ |
Mercurial configuration |
| Package | Description |
|---|---|
raycast/ |
Raycast script commands (via submodules) |
It's best to read the following articles before you start:
If you're a macOS user, the best way to manage software packages is to use Homebrew.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Refer to: https://brew.sh
For Linux users, please try LinuxBrew instead.
I recommend using GNU stow to manage dotfiles, because it's free, portable, and lightweight.
Install stow with Homebrew:
brew install stowgit clone https://github.com/skyjia/dotfiles.git ~/dotfilesIf you want to apply a configuration package, try to execute following commands:
cd ~/dotfiles
stow package_dir_nameFor example, apply zsh configuration package:
cd ~/dotfiles
stow zshVim configuration is based on AstroNvim.
tmux configuration is based on gpakosz/.tmux.
cd ~/dotfiles
stow tmuxcd ~/dotfiles
just alljust all # Update all components (dotfiles, brew, shells, apps, editors, dev tools, AI tools)just update-dotfiles # Pull latest changes and update submodules
just update-brew # Update Homebrew packages and casks
just update-shells # Update fish plugins
just update-apps # Check outdated App Store apps (mas)
just update-editors # Update nvim (AstroNvim), vscode, yazi
just update-dev # Update R packages, conda, asdf, rust toolchain
just update-ai # Update claude, antigravity, and dws CLI toolsjust install-cargo-crates # Install all cargo packages from crates.txt (new machine setup)
just cargo-install <pkg> # Install a single cargo package and sync to crates.txtjust wash-macos-provenance # Clear quarantine and provenance attributesThe license is GPLv3 for all parts specific to dotfiles