個人的な設定ファイル群を管理するためのリポジトリです。 Nix + Home Manager (standalone) で管理しています。
- Apple Silicon Mac (aarch64-darwin)
- 管理者権限 (Nix のインストールに sudo が必要)
- このリポジトリを
~/dotfilesに clone していること
cd ~/dotfiles
make setupmake setup は次を行います。
- Nix が無ければ Determinate Nix Installer でインストール
home-manager switch --flake ~/dotfilesで設定ファイルの symlink とパッケージを適用
初回は wezterm (nightly) をソースからビルドするため時間がかかります。
make switch # または zsh 上で hmsnix flake update nixpkgs home-manager # 通常はこちら
nix flake update wezterm # wezterm を更新したいときだけ (再ビルドが走る)
make switchcd ~/dotfiles
make clean # Home Manager の symlink とプロファイルを外す (Nix は残る)
make nix-uninstall # Nix 本体を完全に削除する (端末返却時など)flake.nix # inputs (nixpkgs, home-manager, wezterm) と homeConfigurations
nix/ # Home Manager モジュール
default.nix # ユーザー情報、stateVersion
packages.nix # CLI ツールとランタイム
apps.nix # GUI アプリとフォント
java.nix # JDK (21 が既定、8 は ~/.jdks/zulu-8)
git.nix # git の設定 (~/.config/git/config, ignore を生成)
dotfiles.nix # home/ と config/ を ~/ と ~/.config/ へリンク
gc.nix # 週次のガベージコレクション
home/ # ~/ 直下に置くファイル (.zshrc, .vimrc)
config/ # ~/.config/ 配下 (zsh, nvim, wezterm, karabiner, zed, herdr, ...)。git は git.nix で生成
.bin/ # セットアップスクリプト
設定ファイルは Nix store にコピーせず、リポジトリ実体への symlink として配置されます。
そのためリポジトリ内のファイルを直接編集すれば即反映されます (新規ファイルの追加時のみ make switch が必要)。