好吧,那我更不懂了……
哎,我还是等等再玩吧,玩这个蛮费劲的。
Mac 上感觉还是 Brew 省事,用 Nix 的话在开始阶段需要投入很多的精力,要不是有很强的需求,真心不推荐折腾。
我现在也这么感觉了,但是 Brew 真的太慢了,虽然我用包管理器不可能那么频繁,但只是安装一个包,需要花那么多时间。
设置 HOMEBREW_NO_AUTO_UPDATE=1
以及换成国内镜像会快很多.
哦,好的!不过,我想造成 brew 这么慢的原因主要是 macOS 自己的 Ruby。
用Brew 可以换国内源,或者搭个梯子用官方源,我觉得速度还可以。
我使用了国内源,我觉得下载的速度确实不错。
我也想用, brew 也不打算放弃
我用nix在几个linux和mac之间sync配置,不知道你们有什么问题?
前几天nixos群里有人在 macOS 上用 nix,好像是mac更新把nix的东西覆盖了
哦,我看了他的状况,是 /etc/zshrc 被覆盖掉了,然而 Nix 的其他东西还是留在那里。
好了,现在我折腾成功了。
分享下经验?
哈哈,其实也没什么可以分享的。我就是多试试,安装错误了,就卸载了再装一次。
说到卸载,我之前因为冲动,没有看清楚文档就贸然地重装 macOS 来卸载 nix。 其实没有必要这样。
转载一下一个 GitHub gists 中的代码片段:
-
Kill the daemon process by running
sudo launchctl unload /Library/LaunchDaemons/org.nixos.nix-daemon.plist
-
Remove the mount from
/etc/fstab
by runningsudo vifs
and deleting the line
LABEL=Nix\040Store /nix apfs rw,nobrowse
. -
Delete the APFS volume using
diskutil
diskutil apfs deleteVolume <volumeDevice>
Note: volumeDevice
can be found by running
diskutil apfs list
-
Remove the synthetic empty directory for mounting at
/nix
by runningsudo vim /etc/synthetic.conf
and deleting the line
nix
. -
Reboot the system for changes to take effect.
-
Run
echo "removing daemon" sudo rm /Library/LaunchDaemons/org.nixos.nix-daemon.plist echo "removing daemon created users and groups" USERS=$(sudo dscl . list /Users | grep nixbld) for USER in $USERS; do sudo /usr/bin/dscl . -delete "/Users/$USER" sudo /usr/bin/dscl . -delete /Groups/staff GroupMembership $USER; done sudo /usr/bin/dscl . -delete "/Groups/nixbld" echo "reverting system shell configurations" sudo mv /etc/profile.backup-before-nix /etc/profile sudo mv /etc/bashrc.backup-before-nix /etc/bashrc sudo mv /etc/zshrc.backup-before-nix /etc/zshrc echo "removing nix files" sudo rm -rf /nix sudo rm -rf /etc/nix sudo rm -rf /etc/profile/nix.sh sudo rm -rf /var/root/.nix-profile sudo rm -rf /var/root/.nix-defexpr sudo rm -rf /var/root/.nix-channels sudo rm -rf /var/root/.cache/nix rm -rf ~/.nix-profile rm -rf ~/.nix-defexpr rm -rf ~/.nix-channels rm -rf ~/.nixpkgs rm -rf ~/.config/nixpkgs rm -rf ~/.cache/nix
to remove all remaining
Nix
artifacts from the system.
珍爱生命,远离 Nix,这玩意儿与 macOS 八字不合。
-
自 macOS Catalina 后,由于 root 目录不可写,Nix 在 macOS 上安装时自动帮你创建一个新分卷。而且 nix-darwin 还要求连接出
/run
目录。另外 Catalina 后只支持 multi-user mode,上来帮你创建 32 个用户以支持并行构建,多么 JB 的贴心。 -
没有 brew services 对应的进程启动、停止支持。nix-darwin 提供了一种机制,基本上是在要求你自己用 nix 语法手写 launch daemon.(我吃饱撑的,直接写 xml 不舒服吗,为了启动个服务再学一种语法?!)
-
Nix macOS 使用用户极少,很多包需要 patch 才能完美运行在 macOS 下。另外很多 macOS 下专属软件 Nix 没有覆盖,如 macfuse. 这点 Nix 远远不如 Homebrew,甚至是不如 MacPorts.
这也不能全怪 Nix ,只能怪 Mac 限制太多。要自由就用 Linux吧。
想用的简单感觉还是 Brew 最方便。 Nix 就是要折腾的,卖点是可以很方便的孤立开放环境,以及重复性。
据我所知:use-package 的作者 和 purcell 都是在 Mac 上使用 Nix,Github 上也有很多成熟的包是支持 Mac 的,比如 kclejeune/system, srid/nixos-config。