Bootstrap with a single curl ... | bash command (rustup-style). It prompts for
how to fetch the repo, an install profile, and optional developer setup, then
delegates to link.sh / install.sh:
curl -fsSL https://raw.githubusercontent.com/th2ch-g/dotfiles/main/setup.sh | bash- Fetch method:
HTTPS clone,SSH clone, orZIP download(no git history — the "without git" path). - Profiles:
full(everything for this machine),standard(core tools),guest(link-only), orcustomize(toggle each component). - Prerequisites: missing
git/zsh/unzipcan be installed on the spot after a confirmation prompt (Linux: apt/dnf/pacman/zypper/apk via sudo; macOS:xcode-select --install). - Developer setup (git checkouts only): optionally switch
originto SSH and runmake setup(pre-commit hooks). - Install location: defaults to
~/works/dotfiles; override withSETUP_DIR=/path/to/diror by typing a path at the interactive prompt. - Non-interactive (CI / containers): set
SETUP_PROFILE=full|standard|guest(and optionallySETUP_FETCH=https|ssh|zip), e.g.curl -fsSL .../setup.sh | SETUP_PROFILE=standard bash. - Flags (highest precedence): the same selections work as flags, e.g.
./setup.sh --profile full --fetch ssh --yes, or pick components directly withlink.sh/install.shtoggles like./setup.sh --zsh --git --pixi --uv. Overcurl ... | bash, pass them after-s --:curl -fsSL .../setup.sh | bash -s -- --profile standard. Run./setup.sh --helpfor the full list. - The manual one-liners below remain available and produce the same result.
Manual one-liners (same result as Quick start)
- Bootstrap Installation on local
- Prerequisite: git, zsh (check by
git --version && zsh --version)- macos:
xcode-select --install- DO NOT launch zsh in other terminal until the installation is done (up to brew) because of OpenSSL issue
- linux:
sudo apt install zsh gitor manually install byinstall_scripts/
- macos:
- Prerequisite: git, zsh (check by
mkdir -p ${HOME}/works && \
cd ${HOME}/works && \
git clone https://github.com/th2ch-g/dotfiles.git && \
cd ./dotfiles && \
./link.sh --zsh && \
./install.sh --pixi --pixi-pkgs --uv --cargo --cargo-pkgs --brew --brew-pkgs --warpd --claude-code --codex --llama-cpp --python3 --gh-ext --iterm2 --macos && \
./link.sh --git --tmux --vim --neovim --ssh --aerospace && \
git remote set-url origin git@github.com:th2ch-g/dotfiles.git && \
make setup- Install on local via SSH
mkdir -p ${HOME}/works && \
cd ${HOME}/works && \
git clone git@github.com:th2ch-g/dotfiles.git && \
cd ./dotfiles && \
./link.sh --git --zsh --tmux --vim --neovim --ssh --aerospace && \
./install.sh --pixi --pixi-pkgs --uv --cargo --cargo-pkgs --claude-code --codex --python3- Install on local via HTTPS
mkdir -p ${HOME}/works && \
cd ${HOME}/works && \
git clone https://github.com/th2ch-g/dotfiles.git && \
cd ./dotfiles && \
./link.sh --git --zsh --tmux --vim --neovim --ssh --aerospace && \
./install.sh --pixi --pixi-pkgs --uv --cargo --cargo-pkgs --claude-code --codex --python3- Install without git
mkdir -p ${HOME}/works && \
wget https://github.com/th2ch-g/dotfiles/archive/refs/heads/main.zip && \
unzip main.zip && \
rm main.zip && \
mv dotfiles-main dotfiles && \
cd ./dotfiles && \
./link.sh --git --zsh --tmux --vim --neovim --ssh --aerospace && \
./install.sh --pixi --pixi-pkgs --uv --cargo --cargo-pkgs --claude-code --codex --python3Guest install (link-only)
git clone https://github.com/th2ch-g/dotfiles.git && \
cd ./dotfiles && \
./link.sh --zsh --vim --tmux --neovimDocker usage
docker pull --platform linux/amd64 ghcr.io/th2ch-g/dotfiles:latest
docker run --platform linux/amd64 --rm -it ghcr.io/th2ch-g/dotfilesShortcut: make docker-pull
git clone https://github.com/th2ch-g/dotfiles.git && \
cd ./dotfiles && \
docker image build -t myenv . && \
docker run --rm -it myenvShortcut: make d
make smake umake rmake delete-release TAG=vYYYY.MM.DDActivate pre-commit hooks after cloning:
make setupRun all linters/formatters manually:
make lList all Makefile targets:
make helpClaude Code integration (project-scoped .claude/): a PostToolUse hook
in .claude/settings.json runs pre-commit on every file the agent
edits so lint feedback is immediate, and the /new-installer <tool>
skill scaffolds a new install_scripts/ installer end-to-end.
See AGENTS.md for the full script/architecture reference
(also imported by CLAUDE.md for coding agents).