WezTerm / Neovim / Git を中心に、ターミナル作業環境全体(ブックマーク管理・ブラウザタブ操作・プロンプトなど)をまとめて管理するリポジトリ
git clone git@github.com:あなたのユーザー名/dotfiles.git ~/dotfiles
~/dotfiles/scripts/setup.sh上記スクリプトで以下がまとめてインストール・リンク・有効化されます。
- WezTerm、Neovim(最新版)
- tree-sitter CLI、Node.js / npm(LSP, git-cz用)
- ripgrep, fd-find, fzf
- gh(gh-dash拡張含む), ghq, git-cz, lazygit, git-delta, gibo
- Go(ccsession等のビルド用)、ccsession
- Docker(公式apt repo経由)、
dockerグループへの追加 - starship(プロンプト)
- jq、Claude Codeのstatusline(モデル名/コンテキスト使用率/利用制限%を表示)
- Claude Codeのskills(
claude/skills/を~/.claude/skillsにリンク。日々の定型作業をSkill化して蓄積していく) - Claude CodeのCLAUDE.md(
claude/CLAUDE.mdを~/.claude/CLAUDE.mdにリンク。全プロジェクト共通の指示) - pipx, buku(CLIブックマーク管理)、tabctl(ブラウザタブ操作)
- Slidev(Markdownで書く発表資料。
~/slidesにワークスペースを用意し、PDF/PPTX/PNG書き出し用のChromiumまで入れる) - ログイン時の自動起動(WezTerm、Chrome、xhost-docker)
~/.config/wezterm,~/.config/nvim等へのシンボリックリンク
scripts/setup.sh はansibleを用意してplaybookを流すだけのブートストラップで、
実際の手順は ansible/ 以下にあります。何を入れるか(パッケージ名・ダウンロードURL・
リンクの対応表)は ansible/group_vars/all.yml に集約してあるので、
ツールの追加・削除は基本このファイルだけを編集すれば済みます。
setup.sh に渡した引数はそのまま ansible-playbook に渡ります。
~/dotfiles/scripts/setup.sh --check # 何が変わるかだけ見る(dry-run)
~/dotfiles/scripts/setup.sh --tags bins # リリースバイナリの配置だけやり直す
~/dotfiles/scripts/setup.sh --list-tasks # 実行される手順の一覧使えるタグは apt / repos / packages / bins / lang / links です。
再実行は安全で、既に入っているものはスキップされます。
--check は構築済みのマシンで差分を見る用途向けです。以下は仕様上の制約なので、
出ても異常ではありません。
- 署名鍵の取得が
changedと出ることがある。get_urlはmtimeベースの条件付きGETで 判定し、dry-runでは中身を比較できないため。本実行では内容を比較するのでokになる - tar.gz で配布されるツール(nvim/lazygit/gibo/mdroll)の展開は表示されない。
unarchiveが tar をcheckモードで扱えずスキップするため。本実行では正常に入る - まっさらなマシンでは途中で止まる。リポジトリ登録が実際には行われないので、
直後の
apt installがパッケージを見つけられない。素のマシンではそのまま本実行する
| コマンド | 動作 |
|---|---|
gcd |
ghq管理下のリポジトリをあいまい検索して移動 |
bb |
bukuのブックマークをあいまい検索してブラウザで開く |
tabarchive / tabarchive-all |
タブをbukuに保存してから閉じる |
tabnote |
タブをbukuに保存し、ページ内容をClaudeで要約したメモをnbのtab-archiveに残してから閉じる |
workstart |
毎日の業務開始時に開くページ(bukuの*_checkタグ=Notion/勤怠/Slack等)をまとめて開く |
ff |
指定ディレクトリ以下のファイルをあいまい検索 |
dc / dexec / dstop |
docker composeの短縮形、コンテナ選択して入る/停止 |
prs |
自分に関するPRを横断で確認 |
slidenew / slidedev / slideexport |
Slidevの発表資料を作成・プレビュー・書き出し |
詳しい使い方や、その他のキーバインドは docs/terminal-cheatsheet.md を参照。
Git操作は docs/git-cheatsheet.md、Neovimの標準操作は docs/nvim-cheatsheet.md にまとめている
(Neovim内から <leader>wh / <leader>gh / <leader>nh でそれぞれ開ける)。
発表資料(Slidev)の記法とコマンドは docs/slidev-cheatsheet.md(<leader>sh)にまとめている。
- Neovimのプラグイン本体は初回起動時に
lazy.nvimが自動インストールします - LSPサーバー(clangd, pyright, lua_ls)とデバッガ(codelldb, debugpy)は初回起動時に
mason.nvimが自動インストールします - 発表資料は
~/slides/decks/<公開区分>/<日付>-<タイトル>/slides.mdに置く(~/slidesは公開リポジトリで、 業務資料はdecks/private/配下に置いてコミット対象外にしている)。~/slidesのpackage.jsonとnode_modulesはslidev/へのリンクなので、依存の追加は~/dotfiles/slidevでnpm install <パッケージ>する (~/slides側で実行するとリンクが実ファイルに置き換わる) - ROS 2ワークスペースでC++の補完を効かせるには
colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ONでビルドしてください - ROS 2ワークスペースでPythonの自作パッケージ補完を効かせるには、ワークスペース直下で
python3 ~/dotfiles/scripts/generate_pyright_paths.pyを実行してください (install/以下のsite-packagesパスを集めてpyrightconfig.jsonを生成します)