Skip to content

Latest commit

 

History

History
212 lines (148 loc) · 7.8 KB

File metadata and controls

212 lines (148 loc) · 7.8 KB

Linux macOS ShellCheck License Sponsor

English | 日本語 | 中文

dotfiles

macOS・Ubuntu・WSL 向け開発環境セットアップスクリプト集です。 インタラクティブメニューで必要な機能ブロックだけを選択してインストールできます。


クイックスタート

ワンライナーインストール(curl)

1コマンドでクローンしてインタラクティブインストーラーを起動:

curl -fsSL https://raw.githubusercontent.com/long-910/dotfiles/main/install.sh | bash

すべてを非インタラクティブにインストールする場合:

curl -fsSL https://raw.githubusercontent.com/long-910/dotfiles/main/install.sh | bash -s -- --all

リポジトリは ~/.dotfiles にクローンされます。DOTFILES_DIR で変更可能:

DOTFILES_DIR=~/my-dotfiles curl -fsSL https://raw.githubusercontent.com/long-910/dotfiles/main/install.sh | bash

bootstrap.sh(git clone)

インタラクティブメニューで機能ブロックを選択してインストール。

git clone https://github.com/long-910/dotfiles.git
cd dotfiles
bash bootstrap.sh

install_and_configure.sh(従来版)

一括インストール。bootstrap.sh が使用できない環境向け。

git clone https://github.com/long-910/dotfiles.git
cd dotfiles
chmod +x install_and_configure.sh
./install_and_configure.sh

機能ブロック

ブロック 含まれるツール デフォルト
Core zsh, tmux, lsd, emacs, htop, neofetch, yazi ON
Shell starship, fzf, zoxide, atuin ON
Dev gh, ripgrep, direnv, bat, delta, fd, jq, lazygit ON
Node.js fnm + Node LTS + commitizen OFF
Docker Docker CE + Docker Compose OFF

bootstrap.sh 起動時に番号を入力して ON/OFF を切り替えられます。 非インタラクティブ実行も可能です:

bash bootstrap.sh --all                 # 全ブロック
bash bootstrap.sh --module shell        # 特定モジュールのみ
bash bootstrap.sh --non-interactive     # デフォルト設定で自動実行
bash bootstrap.sh --list                # モジュール一覧表示

ツール詳細

プロンプト・シェル強化

ツール 説明
starship 高速・カスタマイズ可能なクロスシェルプロンプト
fzf ファジーファインダー。Ctrl-R でヒストリ検索、Ctrl-T でファイル検索
zoxide cd の賢い代替。z proj で頻繁に使うディレクトリへジャンプ
atuin SQLite ベースのシェルヒストリ。Ctrl-R でファジー検索

開発ツール

ツール 説明
gh GitHub CLI。PR・Issue をターミナルから操作
ripgrep 高速 grep 代替。.gitignore を自動的に尊重
direnv ディレクトリごとの環境変数自動ロード
bat シンタックスハイライト付き cat 代替
delta シンタックスハイライト付き git diff ページャ
fd 高速 find 代替
jq コマンドライン JSON プロセッサ
lazygit git のターミナル UI

ターミナルマルチプレクサ

ツール 説明
tmux ターミナルマルチプレクサ。ログイン時に自動起動し、tmux 終了でシェルも終了

新しいターミナルを開くと tmux が自動的に起動し、既存のセッションがあればアタッチし、なければ新しいセッションを作成します。tmux を終了するとシェルも終了します。無効にするには ~/.zshrc.d/tmux.zsh を削除してください。

ファイル管理

ツール 説明
lsd アイコン付き ls 代替
yazi ターミナルファイルマネージャ。yy コマンドで起動し、終了後そのディレクトリに移動

WSL2 でアイコンが表示されない場合 lsd のアイコン表示には Nerd Fonts が必要です。WSL2 ではターミナルが Windows 側で動作するため、フォントは Windows 側にインストール する必要があります。

  1. nerdfonts.com から Nerd Font をダウンロード(例:CaskaydiaCove Nerd FontJetBrainsMono Nerd Font
  2. .ttf ファイルを右クリック → 「すべてのユーザーのためにインストール」
  3. Windows Terminal:設定 → Ubuntu プロファイル → 外観 → フォントフェイス → インストールしたフォントを選択(例:CaskaydiaCove Nerd Font Mono
  4. ターミナルを再起動

カスタマイズ

プロンプト (starship)

config/starship.toml を編集してカスタマイズできます。 インストール後は ~/.config/starship.toml に配置されます。

ディレクトリ別環境変数 (direnv)

プロジェクトルートに .envrc を作成:

export DATABASE_URL="postgresql://localhost/myapp"
export NODE_ENV="development"
direnv allow   # 初回のみ許可

プロジェクトテンプレート

newproject 関数でプロジェクトを素早く作成できます:

newproject node  my-app     # Node.js プロジェクト
newproject python my-script  # Python プロジェクト

秘密情報の管理

API キーや環境固有の設定は ~/.zshrc.local に記載します(git に含まれません)。

cp dotfiles/.zshrc.local.example ~/.zshrc.local
# エディタで ~/.zshrc.local を編集

詳細は Doc/ja/secrets.md を参照してください。


アンインストール

bash uninstall.sh
  • ~/.zshrc.d/ 内の配置ファイルを削除
  • .zshrc.tmux.conf.emacs.el のバックアップを復元
  • ~/.config/starship.toml~/.config/atuin/config.toml を削除
  • git の commit.template 設定を削除
  • 任意でインストールしたパッケージを削除

ドキュメント


対応環境

環境 状態
macOS (Apple Silicon / Intel)
Ubuntu 22.04 / 24.04
WSL2 (Ubuntu)

ライセンス

MIT — 詳細は LICENSE を参照してください。