docs: improve WSL bootstrap guide and document justfile commands

- Fix WSL quickstart: use nix-shell -p git for initial clone since fresh NixOS-WSL lacks git
- Rewrite daily usage section to list all justfile commands
- Add rollback recipe to justfile (NixOS only)
- Note sudo requirement for NixOS system-level garbage collection
This commit is contained in:
2026-04-13 21:31:40 +08:00
parent bf01c40ebb
commit 5f7ef35a34
2 changed files with 29 additions and 14 deletions
+6
View File
@@ -27,6 +27,12 @@ check:
@nix eval .#darwinConfigurations.mac-mini.system > /dev/null && echo "mac-mini: ok"
@nix eval .#darwinConfigurations.macbook-air.system > /dev/null && echo "macbook-air: ok"
# Rollback to previous system generation
[linux]
[group('build')]
rollback:
sudo nixos-rebuild switch --rollback
# Check configs evaluate without errors
[linux]
[group('build')]
+23 -14
View File
@@ -40,14 +40,16 @@ wsl --import NixOS C:\wsl\nixos nixos-wsl.tar.gz
wsl -d NixOS
```
2. 克隆仓库并构建
2. 首次初始化(全新的 NixOS-WSL 没有 `git`,需要借助 `nix-shell` 临时引入)
```bash
git clone <repo-url> ~/nix-config
nix-shell -p git --run "git clone <repo-url> ~/nix-config"
cd ~/nix-config
sudo nixos-rebuild switch --flake .#wsl
```
> 首次 rebuild 完成后 `git`、`just` 等工具会由配置声明安装,此后可直接使用 `just rebuild` 重建。
## 仓库结构
```
@@ -85,21 +87,28 @@ sudo nixos-rebuild switch --flake .#wsl
## 日常使用
项目提供 [`justfile`](justfile),首次 rebuild 后即可使用:
```bash
# 重建(abbreviation 自动选择 darwin-rebuild nixos-rebuild
rebuild
# 更新所有依赖
update
# 回滚(NixOS
sudo nixos-rebuild switch --rollback
# 清理旧 generation
sudo nix-collect-garbage -d # NixOS
nix-collect-garbage -d # macOS
just rebuild <host> # 重建系统(自动选择 darwin-rebuild / nixos-rebuild
just update # 更新所有 flake 输入
just up <input> # 更新单个输入,如 just up nixpkgs
just check # 检查配置是否能正常 evaluate
just clean # 清理旧 generation 并回收空间
just rollback # 回滚到上一个 generation(仅 NixOS
just history # 查看系统 profile 历史
just show # 显示 flake 输出
```
Fish shell 中也定义了 abbreviation 可直接使用:
```bash
rebuild # 自动选择 darwin-rebuild 或 nixos-rebuild
update # nix flake update
```
> **注意**`just clean` 仅清理用户级 generation。NixOS 上如需清理系统级旧 generation,需要 `sudo nix-collect-garbage -d`。
## Shell
使用 **Fish** 作为默认 shell,搭配: