nix-installer是官方推荐的现代化nix安装工具,支持fedora、ubuntu 24.04+、wsl等环境,自动适配systemd/selinux/init方案,安装后需手动启用flakes并配置国内镜像及重启nix-daemon。

直接用官方推荐的 nix-installer 脚本安装最稳妥,旧版 sh 在 Fedora、Ubuntu 24.04+、部分 WSL 环境里会失败或缺功能。
用 nix-installer 安装(推荐)
这是目前唯一能自动处理 systemd / SELinux / WSL / 多用户权限的方案,不用手动改配置、加组、重启服务。
- 运行命令:
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh - 它会检测你的系统:Fedora 自动禁用 SELinux;WSL 自动跳过 systemd;无 systemd 系统(如 Alpine)默认用
--init none - 安装完不用关终端,脚本末尾会提示是否 reload shell —— 选
y就生效,nix --version立刻可查 - 如果提示 “permission denied” 或卡在 sudo 步骤,说明当前用户不在
sudo组,先运行sudo usermod -aG sudo $USER再重试
安装后必须启用 flakes 和换源
默认安装不开启 flakes,也不配国内镜像,nix run 会慢到超时或报错 error: flake is not supported。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 编辑
/etc/nix/nix.conf(需 sudo),确保包含这三行: experimental-features = nix-command flakes-
trusted-users = root @wheel yourusername(把yourusername换成你自己的用户名) substituters = https://mirrors.ustc.edu.cn/nix-channels/store https://cache.nixos.org/- 改完必须重启守护进程:
sudo systemctl restart nix-daemon.service,否则新配置不生效 - 验证:
nix run nixpkgs#fastfetch能秒出结果,就说明 flakes + 镜像都 OK
Fedora 用户要特别注意 SELinux
Fedora 默认开 SELinux,而 nix-installer 虽然会尝试关它,但有时只改了配置没实际禁用,导致 nix build 报 Permission denied (os error 13)。
- 检查状态:
sestatus,输出不是disabled就得彻底关掉 - 临时关闭:
sudo setenforce 0 - 永久关闭:编辑
/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled,然后重启 - 别信“设为 permissive”——nix 构建过程对上下文敏感,permissive 仍可能拦截
卸载不能只删 /nix
直接 rm -rf /nix 会留下 systemd 服务、用户组、shell profile 片段,下次装还冲突。
- 正确卸载命令:
nix-installer uninstall(前提是当初用 nix-installer 装的) - 如果用老脚本装的,得手动清理:
sudo systemctl stop nix-daemon.socket nix-daemon.service,再删/nix,再删/etc/profile.d/nix.sh和备份文件(如/etc/bashrc.backup-before-nix) - 最后检查用户组:
getent group nix-users,有输出就运行sudo groupdel nix-users
flake 支持和 substituter 配置是刚装完最容易漏的两步,很多人卡在 nix run 报错就以为装失败了,其实只是没开实验特性或镜像太慢。别跳过 systemctl restart nix-daemon.service 这一步——它不像普通服务,改 conf 后不重启等于没改。










