Skip to content

Latest commit

 

History

654 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

last-commit license repo-size

Install

Quick start (interactive)

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, or ZIP download (no git history — the "without git" path).
  • Profiles: full (everything for this machine), standard (core tools), guest (link-only), or customize (toggle each component).
  • Prerequisites: missing git / zsh / unzip can 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 origin to SSH and run make setup (pre-commit hooks).
  • Install location: defaults to ~/works/dotfiles; override with SETUP_DIR=/path/to/dir or by typing a path at the interactive prompt.
  • Non-interactive (CI / containers): set SETUP_PROFILE=full|standard|guest (and optionally SETUP_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 with link.sh / install.sh toggles like ./setup.sh --zsh --git --pixi --uv. Over curl ... | bash, pass them after -s --: curl -fsSL .../setup.sh | bash -s -- --profile standard. Run ./setup.sh --help for the full list.
  • The manual one-liners below remain available and produce the same result.

For me

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 git or manually install by install_scripts/
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 --python3

For Guest

Guest install (link-only)
git clone https://github.com/th2ch-g/dotfiles.git && \
cd ./dotfiles && \
./link.sh --zsh --vim --tmux --neovim

From Dockerfile

Docker usage

Case1: Pull from ghcr

docker pull --platform linux/amd64 ghcr.io/th2ch-g/dotfiles:latest
docker run --platform linux/amd64 --rm -it ghcr.io/th2ch-g/dotfiles

Shortcut: make docker-pull

Case2: Build locally

git clone https://github.com/th2ch-g/dotfiles.git && \
cd ./dotfiles && \
docker image build -t myenv . && \
docker run --rm -it myenv

Shortcut: make d

set-url for commit

make s

Update

make u

Add release

make r

Delete release (not recommended)

make delete-release TAG=vYYYY.MM.DD

Development setup

Activate pre-commit hooks after cloning:

make setup

Run all linters/formatters manually:

make l

List all Makefile targets:

make help

Claude 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).

About

💻 My dotfiles for UNIX

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages