はじめに

Nix をインストールしたので備忘録。

手順

インストール

sh <(curl -L https://nixos.org/nix/install) --daemon

バージョン確認

❯ nix --version
nix (Nix) 2.35.2

flakes を有効にする

❯ echo "experimental-features = nix-command flakes" | sudo tee -a /etc/nix/nix.conf
❯ sudo launchctl kickstart -k system/org.nixos.nix-daemon

flake.nix の動作確認

❯ nix flake init
❯ cat flake.nix
{
  description = "A very basic flake";

  inputs = {
    nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst";
  };

  outputs = inputs: {
    packages = builtins.mapAttrs (system: pkgs: {
      hello = pkgs.hello;

      default = inputs.self.packages.${system}.hello;
    }) inputs.nixpkgs.legacyPackages;
  };
}

❯ nix build
❯ ./result/bin/hello
Hello, world!

hello パッケージを削除

厳密にはパッケージを「インストール」しているわけではなく、ビルド結果を /nix/store に置き、カレントディレクトリにそこを指す result というシンボリックリンクを作っているそうな。
なので、result (GC ルート) を削除して、ガベージコレクションを実行する。

❯ rm result
❯ nix store gc

nix profile install で入れた場合

❯ nix profile list           # 名前やインデックスを確認
❯ nix profile remove <名前>   # プロファイルから外す
❯ nix store gc               # 実体を削除

参考サイト

環境

❯ sw_vers
ProductName:		macOS
ProductVersion:		27.0
BuildVersion:		26A428