macos 使用 nix 管理器 (1)

為何會想要更換 package 管理器呢?

其實原本的 Homebrew 我用的不錯

但為何會想要更換呢?

第一點就是想要折騰

  1. 他的更新速度真的有點慢,每次更新都要十幾二十分鐘

  2. 是想要跨平台,不想要每個平台都寫一個配置文件了

首先第一步 安裝 nix

nix 官方網站上可以找到安裝指令

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

不過當然,我們使用

1
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

第二步 安裝 nix-darwin

初始化nix-darwin

1
nix flake init -t nix-darwin --extra-experimental-features "nix-command flakes"

他會在當前目錄底下底下產生flake.nix

simple改成想要的名稱

1
2
3
darwinConfigurations."simple" = nix-darwin.lib.darwinSystem {
modules = [ configuration ];
};

安裝nix-darwin

1
nix run nix-darwin --extra-experimental-features "nix-command flakes" -- switch --flake ./

然後打開flake.nix之後會發現裡面有這行

1
2
3
4
environment.systemPackages =
[
pkgs.vim
];

這時候就可以前往nix package search尋找想要安裝的包

並修改 systemPackages

例如我改成安裝 neovim

1
2
3
4
environment.systemPackages =
[
pkgs.neovim
];

最後只需要使用以下指令即可套用變更

1
darwin-rebuild switch --flake ./

剩下的東東新年後再說,要重置電腦後才能繼續測試