OS #
multi-user #
single user #
sudo mkdir /nix
sudo chown -R ec2-user:ec2-user /nix
sh <(curl -L https://nixos.org/nix/install) --no-daemon
# . ~/.nix-profile/etc/profile.d/nix.sh to activate things
mkdir ~/.config/nix
touch ~/.config/nix/nix.conf
# check ~/.bash_profile
nix --version # to verify installation
rm -rf /nix
determinate systems #
- install:
注意这里安装的是多用户的。会多出一个 nix-daemon.socket
的 systemd socket。
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install -v --no-confirm
- uninstall
/nix/nix-installer uninstall
国内镜像 #
nixpkgs binary cache #
/etc/nix/nix.conf
或者 ~/.config/nix/nix.conf
中修改或者添加 (src):
substituters = https://mirror.sjtu.edu.cn/nix-channels/store https://cache.nixos.org
重启 nix-daemon
:
sudo systemctl daemon-reload
sudo systemctl restart nix-daemon
注意的是 binary cache 的下载是由 nix-daemon
控制的,shell 上直接的 proxy 环境变量是不管用的。
可以修改服务的环境变量添加,nix-daemon.service
是在 /etc/systemd/system/nix-daemon.service
, 可以添加文件
/etc/systemd/system/nix-daemon.service.d/override.conf
:
[Service]
Environment="http_proxy=socks5://192.168.8.34:1080"
Environment="https_proxy=socks5://192.168.8.34:1080"
Environment="all_proxy=socks5://192.168.8.34:1080"
或者运行时,在 /run/systemd/system/nix-daemon.service.d/overrid.conf
。
其他的备选:
- https://mirror.sjtu.edu.cn/nix-channels/store
- https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store
- https://mirrors.ustc.edu.cn/nix-channels/store
nix-channel #
nix-channel --add https://mirrors.tuna.tsinghua.edu.cn/nix-channels/nixpkgs-unstable nixpkgs
nix-channel --update
GC #
Nix 用久了占用空间极大,手动 gc 垃圾清理可以用:
sudo nix-collect-garbage -d
TODO 如何删除特定的?比如 nix develop
下载的