_ _ __ _ _
__| | ___ | |_ / _(_) | ___ ___
/ _` |/ _ \| __| |_| | |/ _ \/ __|
| (_| | (_) | |_| _| | | __/\__ \
\__,_|\___/ \__|_| |_|_|\___||___/ Windows 11 / Linux
Windows 11 / Linux (Debian) 両対応のクロスプラットフォーム dotfiles。 Nushell・WezTerm・Starship を共通レイヤーに据え、OS ごとの設定分岐を最小限に抑えています。
- 🌐 クロスプラットフォーム — Nushell / WezTerm / Starship を共通レイヤーにし、Windows と Linux で同じ設定を使い回す
- 🗂️ XDG 準拠 — 散らかりがちなツール設定をすべて
~/.configに集約 - 🤖 AI 統合 —
llm(Ollama) /ai(Aider) をシェルコマンド化 - 🔀 OS 自動分岐 —
btop→btop4win、nano→nvimを OS ごとに透過切り替え - 💾 災害復旧 —
scoop import/winget importでパッケージ一括復元、nvim/lazy-lock.jsonでプラグイン固定
| 種別 | ツール | 対象 |
|---|---|---|
| terminal | WezTerm | 共通 |
| shell | Nushell | 共通 |
| editor | Neovim (LazyVim) | 共通 |
| prompt | Starship | 共通 |
| multiplexer | Zellij | 一部Linux |
| 対象 | ツール | 場所 |
|---|---|---|
| 共通 | WezTerm | wezterm/ |
| Nushell | nushell/ |
|
| Neovim | nvim/ |
|
| Starship | starship.toml |
|
| Git | git/ |
|
| Windows | PowerShell 7 | powershell/ |
| Scoop | scoop/ |
|
| 復元マニフェスト | windows/ |
|
| Linux | Zellij / Brewfile 等 | linux/ |
| その他 | キーマップ | keymap/ |
# 1. dotfiles をクローン
git clone https://github.com/warasugitewara/dotfiles $HOME\.config
# 2. パッケージを一括復元(災害復旧)
# Scoop 未導入なら先に: irm get.scoop.sh | iex
scoop import $HOME\.config\windows\scoop.json
winget import -i $HOME\.config\windows\winget.json --accept-package-agreements --accept-source-agreements
# 3. PowerShell プロファイルを配置 (任意)
# $PROFILE が powershell/Microsoft.PowerShell_profile.ps1 を読むよう設定# 1. dotfiles をクローン
git clone https://github.com/warasugitewara/dotfiles ~/.config
# 2. Homebrew + Brewfile からパッケージをインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
cd ~/.config/linux && brew bundle install
# 3. XDG 統合を bashrc に追記
cat ~/.config/linux/bashrc.xdg-config >> ~/.bashrc && source ~/.bashrcNote
詳細な Linux 環境構築手順は linux/SETUP.md を参照。
windows/ に導入済みパッケージのマニフェストを保持。ディスク故障・災害時に一括再導入できる。
| ファイル | 内容 | 復元コマンド |
|---|---|---|
scoop.json |
scoop 12アプリ(gcc / gradle / jdtls / lua-language-server / ollama / python / JDK 等) | scoop import windows/scoop.json |
winget.json |
winget 厳選 34件(下記) | winget import -i windows/winget.json |
nushell alias.md |
Windows 用 Nushell エイリアスのメモ | — |
winget.json の内訳(34件)
| カテゴリ | パッケージ |
|---|---|
| コア | Neovim / Nushell / WezTerm / Starship / PowerShell / WindowsTerminal / WSL / Ubuntu |
| VCS | Git / GitHub CLI / GitHub Desktop / Copilot |
| ランタイム・ビルド | Node.js / Rustup / uv / VS BuildTools / InnoSetup |
| CLI | ripgrep / fastfetch / btop4win / FFmpeg / 7zip / gsudo |
| エディタ | VS Code / Zed / sakura / TeraTerm |
| AI CLI | Claude / Codex |
| インフラ接続 | Twingate / Tailscale |
| ブラウザ・通信 | Chrome / Discord / Vivaldi |
更新:
scoop export > windows/scoop.json/winget export後に開発ツールを厳選して反映。 ゲーム・メディア・システムランタイム等のノイズは除外している。
Note
Linux 側のパッケージは linux/Brewfile(brew bundle)で管理。
GUI アプリは Homebrew(Linux) が cask 非対応のため対象外。
.config/
├── nushell/ # Nushell (shell, 共通) config.nu / env.nu
├── nvim/ # Neovim (LazyVim, 共通) lazy-lock.json で固定
├── wezterm/ # WezTerm (terminal, 共通) wezterm.lua / keybinds.lua
├── starship.toml # Starship (prompt, 共通)
├── git/ # Git (共通)
├── keymap/ # 自作キーボード (Mint60 / Drunkdeer A75 + チートシート)
├── powershell/ # PowerShell 7 (Windows) profile.ps1 / config.json
├── scoop/ # Scoop 設定 (Windows)
├── windows/ # Windows 専用
│ ├── scoop.json # scoop 復元マニフェスト
│ ├── winget.json # winget 復元マニフェスト
│ └── nushell alias.md # Nushell エイリアスのメモ
├── python/ ruby/ go/ pip/ # 各ツールの XDG 設定 (共通)
├── chrome-addon/ # ブラウザ拡張 (AdGuard ルール等)
├── waras/ # GitHub プロフィール README (warasugitewara/warasugitewara)
└── linux/ # Linux 専用
├── Brewfile # Homebrew パッケージリスト
├── bashrc.xdg-config # XDG 統合 bashrc
├── SETUP.md # 環境構築ガイド
└── zellij/ # Zellij 設定 (config.kdl)
nushell/config.nu / env.nu で定義しているカスタムコマンド。
| コマンド | 説明 |
|---|---|
llm [prompt] |
deepseek-r1:8b を Ollama 経由で起動 |
ai |
Aider + llm-router(オンライン: Claude Sonnet / オフライン: deepseek-r1:8b) |
btop |
Windows では btop4win、Linux/macOS では native btop に自動分岐 |
nano |
Windows では nvim、Linux/macOS では native nano に自動分岐 |
![]() |
すべての設定は XDG Base Directory Specification に準拠。
XDG_CONFIG_HOME = ~/.config # 設定ファイル
XDG_DATA_HOME = ~/.local/share # データファイル
XDG_CACHE_HOME = ~/.cache # キャッシュ
ツール別の XDG 統合設定
| ツール | 設定ファイル | 環境変数 |
|---|---|---|
| Python | python/pythonrc.py, pip/pip.conf |
PYTHONSTARTUP |
| Ruby | ruby/irbrc, ruby/gemrc |
IRBRC, GEM_HOME |
| Go | go/env |
GOPATH, GOMODCACHE |
| Git | git/config |
GIT_CONFIG_GLOBAL |
Linux では
linux/bashrc.xdg-configを~/.bashrcに追記して有効化します。
Important
Git のメールアドレスはリポジトリに含めていません。クローン後にローカルで設定してください。
git config --global user.email "your@email.com"特に参考にさせていただいた dotfiles リポジトリです。
- mozumasu/dotfiles — ターミナル環境(WezTerm など)の構成と見せ方
- ryoppippi/dotfiles — macOS / Linux クロスプラットフォーム構成
