個人用dotfilesリポジトリ。私のメイン開発環境である、Debian13,windows11用のdotfiles+αです
# 1. dotfiles をクローン
git clone https://github.com/warasugitewara/dotfiles ~/.config
# 2. Homebrew インストール(まだの場合)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 3. Brewfile から開発環境をインストール
cd ~/.config
brew bundle install
# 4. シェルの再起動
exec bashgit clone https://github.com/warasugitewara/dotfiles ~/.config| ディレクトリ | 説明 |
|---|---|
| nvim | Neovim 設定 (LazyVim ベース) |
| nushell | Nushell シェル設定 |
| powershell | PowerShell 設定 (Windows/PowerShell7) |
| wezterm | WezTerm ターミナルエミュレーター設定 |
| thefuck | thefuck コマンド修正ツール設定 |
| scoop | Scoop パッケージマネージャー設定 (Windows) |
| starship.toml | Starship プロンプト設定 (共通) |
| Brewfile | Homebrew パッケージリスト(自動セットアップ用) |
| python/ | Python設定 (PYTHONSTARTUP, pip) |
| ruby/ | Ruby設定 (IRB, Gem) |
| npm/ | npm設定 |
| go/ | Go設定 |
| git/ | Git設定 |
| docker/ | Docker設定 |
| pip/ | pip パッケージマネージャー設定 |
| bashrc.xdg-config | XDG Base Directory 統合用 bashrc セクション |
| keymap/ | キーボードキーマップ(Mint60等) |
- OS: Linux, macOS, Windows 11
- シェル: Bash, Nushell, PowerShell 7
- エディタ: Neovim
- ターミナル: WezTerm
- スタイル: Starship プロンプト
すべての設定は XDG Base Directory Specification に準拠しており、以下の環境変数で管理されます:
XDG_CONFIG_HOME=~/.config (設定ファイル)
XDG_DATA_HOME=~/.local/share (データファイル)
XDG_CACHE_HOME=~/.cache (キャッシュ)
XDG_STATE_HOME=~/.local/state (状態ファイル)
このリポジトリでは、以下の開発ツールの設定を XDG に統合しています:
| ツール | 設定ファイル | 環境変数 |
|---|---|---|
| Python | python/pythonrc.py, pip/pip.conf |
PYTHONSTARTUP, PYTHONUSERBASE |
| Ruby | ruby/irbrc, ruby/gemrc |
IRBRC, GEM_HOME |
| npm | npm/npmrc |
npm_config_userconfig |
| Go | go/env |
GOPATH, GOMODCACHE |
| Git | git/config |
GIT_CONFIG_GLOBAL |
| Docker | docker/config.json |
DOCKER_CONFIG |
| PHP | php/php.ini |
PHP_INI_SCAN_DIR |
以下の設定を ~/.bashrc に追加してください:
# bashrc.xdg-config ファイルの内容を ~/.bashrc に追加
cat ~/.config/bashrc.xdg-config >> ~/.bashrc
source ~/.bashrcこれにより、すべてのツールが ~/.config 配下の設定を使用するようになります。
# 設定の確認
echo $XDG_CONFIG_HOME
# シェル設定のロード
source ~/.config/nushell/config.nu # Nushell
source ~/.config/powershell/... # PowerShell 7 (pwsh)
# Neovim の起動
nvimPowerShell 7 (pwsh) の場合:
# プロファイルロード確認
$PROFILE
# または手動でロード
. $PROFILE- lazy.lua: プラグインマネージャー LazyVim 設定
- plugins/: 各プラグインの個別設定
- config/: キーマップ、オプション、自動コマンド
- config.nu: メイン設定ファイル
- env.nu: 環境変数設定
- Microsoft.PowerShell_profile.ps1: プロファイル設定
- powershell.config.json: PowerShell 設定
シェルプロンプトのカスタマイズ。Git ブランチ表示、コマンド実行時間、ユーザー情報などを設定。
MIT