Home Manager を使用した macOS (Main) および Linux (Minimal) の環境設定リポジトリです。
config/: 共通のドットファイル(Zsh, Tmux, Neovim, Ghostty 等)modules/common/: 全環境で共有する Home Manager モジュールmodules/platform/: OS ごとの差分モジュールprofiles/: ユーザーや用途ごとの共通設定hosts/: ホストごとの差分設定macbook/: 個体差を持つ macOS ホスト設定actions/: GitHub Actions 用の最小限環境
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install)mkdir -p ~/.config/nix
echo 'experimental-features = nix-command flakes' >> ~/.config/nix/nix.confリポジトリを ~/.config/home-manager にクローンして実行します。
git clone https://github.com/HALQME/dotfiles.git ~/.config/home-manager
cd ~/.config/home-manager環境(ユーザー名とホスト名)に一致する設定が flake.nix に定義されている場合、以下のコマンドのみで適用されます。
home-manager switch一致する設定がない場合や、明示的に指定したい場合は # で設定名を指定します。
home-manager switch --flake .#hal@MacBook-Pro.local最初の実行時にhome-managerがインストールされるため、2回目以降は、nix run を省略することができます。
また、どのディレクトリからでも、(ユーザー名とホストのアーキテクチャが一意になる場合は)
home-manager switchのみで更新することも可能です。
nix run home-manager/master -- expire-generations '-1 day'
nix-env --profile ~/.local/state/nix/profiles/home-manager --delete-generations +5
nix-collect-garbage -dmacOS のアップデート後に /nix が空になって見えることがありますが、ほとんどの場合は Nix Store の APFS volume が未マウントになっているだけです。
まずは volume の状態を確認します。
diskutil apfs listNix Store が Not Mounted になっている場合は、ディスクユーティリティから再マウントすることで対処できます。
再マウント後、もしnix コマンドが見つからない場合は以下の通りパスを補完することで対処可能です。
export path=(
"$HOME/.nix-profile/bin"
"$HOME/.nix-profile/home-path/bin"
"/nix/var/nix/profiles/default/bin"
$path
)