୧ʕ •ᴥ•ʔ୨ Silent Lake

安装使用 NixOS-WSL

Published: | Updated: | 200 words | 1 mins

最近在折腾 Nix,打算在我的日常 Windows 机器上安装 NixOS,所以尝试了 NixOS-WSL。在安装过程中碰到了一些问题,于是就有了这篇记录。

启用 WSL2

对于新系统来说,可以在有管理员权限的 PowerShell 或 CMD 中运行以下命令来启用 WSL2:

wsl --install --no-distribution

手动安装

对于较早的系统来说,则需要分别启用以下可选功能:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart`
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启完成后,还需要安装WSL 2 内核更新包

安装完成后,可以通过以下命令设置默认版本:

wsl --set-default-version 2

安装 NixOS-WSL

接下来就是到 NixOS-WSL 的 Release 页面下载 nixos.wsl,并通过以下命令进行安装:

wsl --install --from-file <path-to-nixos.wsl> --location <path-to-install> --name NixOS --version 2

Tip

也可以直接双击 nixos.wsl 文件来进行安装。

如果你安装过 2.4.4 版本前的 NixOS-WSL,则可以通过 --import 来安装新版本:

wsl --import NixOS $env:USERPROFILE\NixOS <path-to-nixos.wsl> --version 2

安装完成后,可以通过以下命令查看已安装的发行版:

wsl --list --verbose

进入 NixOS-WSL:

wsl -d NixOS

设置默认的 distribution 为 NixOS:

wsl -s NixOS

更新 NixOS-WSL

在安装完成后,需要先运行一次以下命令来更新 channels,才能正常使用 nixos-rebuild

sudo nix-channel --update

如果使用的是 flake,则需要运行以下命令来更新:

nix flake update

Rebuild 系统配置:

sudo nixos-rebuild switch

问题记录

如果你在安装了 NixOS-WSL 后,发现 wsl -d NixOS 一直卡住不动,那么大概率你的 WSL 默认版本不是 2,可以通过以下命令来检查:

wsl --list --verbose

如果你看到 NixOS 的版本是 1,那么可以通过以下命令来设置 NixOS 的版本为 2:

wsl --set-version NixOS 2

然后应该就能正常进入 NixOS-WSL 了。

学习 Nix

#NixOS   #WSL   #Windows   #Note  

Reply to this post by email ↪