| name | user |
| description | Manage NixOS users — add, remove, or modify user configurations. Use when asked to add users, create users, manage users, set up multi-user, or configure profiles and dotfiles. |
User
架构
users/profiles/ ← 16 个共享 profile 模块
users/_template/ ← 新用户最小模板(GNOME,不能加入 mcb.users)
users/admin/ ← 内置真实用户(Niri + 全 profile)
users/<name>/packages.nix ← profile 开关(不内联包列表)
users/<name>/config/ ← dotfiles 与 Niri 配置
users/<name>/scripts/ ← 用户脚本源码;由可选 scripts.nix 打包与接线
添加用户
./run.sh add-user
./run.sh add-user alice --admin
./run.sh add-user bob
./run.sh add-user eve --copy-from admin
./run.sh add-user ops --no-rebuild
run.sh 做的事:生成 users/<name>/ → 收集 Git 身份 → 同步到 /etc/nixos → 更新 local.nix
手动创建
cp -r users/_template users/<name>
git add users/<name>/
.claude/skills/run-nixos-config/validate.sh
sudo nixos-rebuild switch --flake /etc/nixos#nixos
其他机器把 nixos 替换为实际 flake 输出名 <machine>;不要使用旧的 #host 或 #default。
修改现有用户
| 改什么 | 去 |
|---|
| 软件选择 | users/<user>/packages.nix(profile 开关) |
| dotfiles | users/<user>/config/ |
| Git 身份 | users/<user>/local.nix(gitignored) |
| Shell 配置 | users/<user>/shell.nix |
| Niri 快捷键 | users/<user>/config/niri/config.kdl |
| 用户脚本 | users/<user>/scripts/<name> + users/<user>/scripts.nix |
规则
root 不参与用户系统,不在 mcb.users 中
_template 不是真实用户,不能加入 mcb.users
local.nix 用户列表是权威来源
- 仓库中
git.nix 用占位值,真实身份在 gitignored local.nix
- 用户脚本用
pkgs.writeShellApplication + builtins.readFile 打包;需要稳定命令时链接到 ~/.local/bin
- Niri 离散动作使用
repeat=false,自定义启动项提供 hotkey-overlay-title;详细规则见 .claude/references/conventions.md
- admin 的 Steam 启动必须经
users/admin/scripts/steam-launcher,且不得改为 exec