macOS 向けの個人用セットアップ。Homebrew でツールを入れ、シンボリックリンクで設定を張ります。
- Xcode Command Line Tools を入れていない場合は
xcode-select --installを実行。 - リポジトリを取得して実行:
git clone https://github.com/yaitaimo/dotfiles.git cd dotfiles ./mac_install.sh - 主な処理内容:
- Homebrew で CLI/GUI ツールを導入
- fish をログインシェルに設定(
/etc/shells追記とchsh) - dotfiles を
~/.configなどへ symlink - Fisher と fish プラグインを導入
fish/: Fish 設定・補完・関数(config.fish,functions/*.fish)。nvim/: Neovim 設定(lazy.nvim+lua/plugins/*.lua)。git/: Git 設定と補助スクリプト(git/scripts/new-branch.shなど)。bin/:~/bin向けユーティリティ。starship/: Starship 設定。mac_install.sh: macOS 初期セットアップスクリプト。
-
Shell (
fish/config.fish) -
エイリアス例:
g,gp,v,lg,we -
FZF_DEFAULT_COMMANDはag -g "" -
ローカル上書きは
~/.config/fish/local.fish -
Neovim (
nvim/) -
リーダーキーは
; -
検索: Telescope(
<leader>p,<leader>lg,<leader>fb) -
Git: Fugitive(
<leader>b)、Gitsigns、Diffview(<leader>gdなど) -
ターミナル: ToggleTerm(
<leader>tt,<leader>tc)、Lazygit(<leader>g) -
AI: codex.nvim(
<leader>j)。ToggleTerm 経由の起動設定もあり(<leader>atc,<leader>atg) -
保存時処理: Markdown(
filetype=markdown)を除いて末尾空白を削除 -
LSP・formatter のプラグイン設定は未導入
-
Terminal / Multiplexer
-
tmux: プレフィックス
Ctrl-t -
tmux/SSH: copy-mode の
y/Enter/ mouse copy は OSC 52 で手元の clipboard へ転送 -
WezTerm: Solarized 自動切替、
RobotoMono Nerd Font、リーダーキーCmd-;
fish -n fish/config.fish: Fish 設定の構文チェックbash -n mac_install.sh: セットアップスクリプトの構文チェックnvim: リンク済み Neovim 設定で起動~/bin/git-new-branch <branch-name>: 作業ブランチ作成補助ecs-fetch-file: ECS task/container を選択し、execute-commandでファイル内容を取得
mac_install.shはシェル変更(chsh)とsudoを伴うため、実行前に内容を確認してください。- フォントは Nerd Fonts の
RobotoMono Nerd Fontを別途インストールしてください。 - マシン固有設定は
~/.config/fish/local.fishに置き、リポジトリには含めない運用を推奨します。
エージェント向けルールは AGENTS.md を参照してください。worktree 運用、codex/<task-id> ブランチ方針、グローバル設定変更時の報告要件を定義しています。
nvim/init.lua: 基本設定 → lazy.nvim → 標準キーマップ → autocmd の読み込み順。nvim/lua/config/: 基本設定、標準キーマップ、autocmd、lazy.nvim の bootstrap。nvim/lua/plugins/: 機能別のプラグイン spec。ファイルを追加すると lazy.nvim が読み込む。ui.lua: 配色・ステータスライン・キーガイド。editor.lua: コメント操作。telescope.lua,git.lua,terminal.lua,ai.lua: 各機能の設定。- ToggleTerm 経由の Lazygit・AI 起動は
terminal.luaが管理する。 - AI ターミナルは新規作成時に現在のファイルの Git ルートを使う(Git 管理外では作業ディレクトリ)。既存セッションの再表示では変更しない。
nvim/lua/util/project.lua: Git ルート取得。取得失敗時は作業ディレクトリを使う。
プラグイン固有のキーは各 spec の keys に、設定値は opts に置き、
追加の初期化が必要な場合だけ config を使う。プラグインを必要としないキーは
config/keymaps.lua に置く。keys や cmd の追加は遅延読み込みに影響するため、
起動時の読み込みが必要な場合は lazy = false を明示する。
autocmd は名前付き augroup に登録し、再登録時の重複を防ぐ。
LSP・formatter は導入時に spec を追加する。プラグイン更新は構成変更と分けて行い、
lazy-lock.json の変更内容を確認する。設定変更の反映は Neovim の再起動で確認する。
.r は再読み込みを行わず、Neovim の再起動が必要であることを通知する。