Bash/Zsh、Git、Homebrew、afxなどの個人用設定を管理するdotfilesリポジトリです。
以下のコマンドで init.sh を実行します。
curl https://raw.githubusercontent.com/umasoya/dotfiles/refs/heads/main/init.sh | bashinit.sh は次の処理を行います。
- OSを判定(macOS / Linux)
- macOSでHomebrewが未導入の場合はインストール
- このリポジトリを
~/dotfilesにclone - リポジトリで管理しているGit hookを有効化
- afxが未導入の場合は
~/bin/afxにインストール - シェル設定やGit設定などのシンボリックリンクを作成
既に ~/dotfiles にcloneされている場合、リポジトリの再取得や更新は行いません。
GitHubへの接続にSSHを使用する場合は、リモートURLを変更します。
git -C "$HOME/dotfiles" remote set-url origin git@github.com:umasoya/dotfiles.gitafxで管理しているツールとZshプラグインをインストールします。
"$HOME/bin/afx" install設定を現在のシェルへ反映するには、ログインシェルを起動し直します。
exec "$SHELL" -linit.sh は次の設定を配置します。
| リポジトリ内 | 配置先 |
|---|---|
.bash_profile |
~/.bash_profile |
.bashrc |
~/.bashrc |
.zprofile |
~/.zprofile |
.zshenv |
~/.zshenv |
.zshrc |
~/.zshrc |
git/.gitconfig |
~/.gitconfig |
git/.gitignore |
~/.gitignore |
afx |
~/.config/afx |
config/iterm2 |
~/.config/iterm2 |
config/karabiner |
~/.config/karabiner |
macOSでBrewfileに定義したパッケージを導入する場合は、次を実行します。
brew bundle --file="$HOME/dotfiles/brew/Brewfile"init.shはcore.hooksPathに.githooksを設定し、コミット前の検査を有効にします。
pre-commit hookでは、変更対象のシェルファイルに対して次の検査を行います。
- Bashの構文検査
- ShellCheckによる静的解析
- shfmtによるフォーマット検査
- Zshの構文検査
ShellCheckとshfmtはBrewfileに含まれています。macOSで個別に導入する場合は、次のコマンドを実行します。
brew install shellcheck shfmtUbuntuでは、APTで導入します。
sudo apt update
sudo apt install shellcheck shfmtパッケージが見つからない場合は、universeリポジトリを有効にしてから導入します。
sudo add-apt-repository universe
sudo apt update
sudo apt install shellcheck shfmt既にclone済みでinit.shを再実行しない場合は、次のコマンドでhookを有効にできます。
git config core.hooksPath .githooks- Bash / Zsh
- 共通環境変数:
sh/env - Homebrew環境:
sh/brew.sh - dircolors:
sh/dircolors.sh、sh/.dircolors
- 共通環境変数:
- afx
- CLIツール、GitHub CLI拡張、Zshプラグイン
- Pure prompt、fzf、direnv、nvmなどのシェル連携
- Git
- Homebrew
- Neovim / Vim
- tmux
- iTerm2
- Karabiner-Elements
- Visual Studio Code