a2bd672cf7c6277ce99c874d00f4e9a35a362404
- sudo (wheelNeedsPassword) → modules/core/core.nix (全局) - LXC SSH override (PermitRootLogin, PasswordAuth) → profiles/lxc.nix - modules/server/ssh.nix: use mkDefault so profiles can override - Delete modules/optional/lxc.nix - Clean up hosts/nixos-lxc/configuration.nix: remove redundant SSH/sudo/users (now handled by core + server + profile chain) - Update modules/optional/README.md
NixOS Configuration
洛尘(luochen570)的 NixOS 配置仓库,采用 Flakes + home-manager + sops-nix 架构。
架构
nixos/
├── flake.nix # Flake 入口
├── lib/
│ ├── mkHost.nix # 主机生成函数
│ └── hosts.nix # 主机定义
├── profiles/ # 角色配置组合
│ ├── README.md
│ ├── desktop.nix # 桌面机
│ ├── server.nix # 服务器
│ ├── wsl.nix # WSL (Debian/Windows)
│ ├── virtualbox.nix # VirtualBox 虚拟机
│ └── lxc.nix # Proxmox LXC 容器
├── modules/ # 模块化配置
│ ├── core/ # 所有机器共享的基础配置
│ │ ├── default.nix
│ │ ├── core.nix # Nix 设置、时区、语言、GC
│ │ ├── pkg.nix # 基础系统包
│ │ ├── users.nix # 用户与 Shell
│ │ └── sops.nix # 密钥管理
│ ├── server/ # 服务器模块(默认启用)
│ │ ├── default.nix
│ │ ├── docker.nix
│ │ └── ssh.nix
│ ├── optional/ # 选装模块(按需引用)
│ │ ├── README.md
│ │ ├── virtualbox-guest.nix # VirtualBox Guest 增强
│ │ └── vscode-server.nix # VS Code Server
│ ├── desktop/ # 桌面模块
│ │ ├── default.nix
│ │ ├── pkg.nix # 桌面应用包
│ │ ├── apps.nix # MIME 与默认应用
│ │ ├── fcitx5.nix # 中文输入法
│ │ └── de/
│ │ ├── default.nix
│ │ └── kde.nix # KDE Plasma 6 + SDDM
│ └── drivers/
│ ├── nvidia.nix # NVIDIA 独显
│ └── amdgpu.nix # AMD 核显(RDNA2)
├── home/ # home-manager 用户配置
│ ├── README.md
│ ├── default.nix
│ ├── pkg.nix # 用户级包
│ ├── git.nix
│ ├── ssh.nix # SSH 密钥(sops 挂载)
│ ├── zsh.nix # ZSH + Powerlevel10k
│ └── nvchad.nix # Neovim (NvChad)
├── hosts/ # 主机专属配置
│ ├── README.md
│ ├── desktop/ # 桌面机(AMD + NVIDIA)
│ ├── server/ # 服务器
│ ├── wsl/ # WSL (NixOS-WSL)
│ ├── virtualbox/ # VirtualBox 虚拟机
│ └── nixos-lxc/ # Proxmox LXC 容器 (s0.sermc.net)
└── secrets/ # sops-nix 加密密钥(不公开)
└── users/luochen570.enc.yaml
主机列表
| 主机 | 角色 | 架构 | 说明 |
|---|---|---|---|
desktop |
desktop | x86_64-linux | 桌面机,NVIDIA + AMD 双显卡 |
server |
server | x86_64-linux | 服务器 |
nixos-wsl |
wsl | x86_64-linux | WSL |
virtualbox |
virtualbox | x86_64-linux | VirtualBox 虚拟机 |
nixos-lxc |
lxc | x86_64-linux | Proxmox LXC 容器 (s0.sermc.net) |
使用
# 构建/切换
sudo nixos-rebuild switch --flake .#desktop
# 仅构建不切换
sudo nixos-rebuild build --flake .#server
# 更新 flake lock
nix flake update
# 垃圾回收
sudo nix-collect-garbage --delete-older-than 14d
关键特性
- Flakes — 可复现的 NixOS 配置
- home-manager — 用户级包与配置管理
- sops-nix — 加密存储 SSH 密钥、密码哈希等敏感信息
- NixOS-WSL — WSL 集成
- KDE Plasma 6 — 桌面环境(SDDM 显示管理器)
- fcitx5 + Rime — 中文输入法
- Docker — 容器运行时,自动每周清理
- PipeWire — 音频系统
- Nix4NvChad — Neovim (NvChad) 配置即代码
镜像源
使用 TUNA(清华)和 SJTU(上交)镜像加速 Nix 包下载,适合国内网络环境。
注意事项
- NVIDIA 模块的 PRIME(双显卡切换)方案已注释,启用前需通过
lspci确认 PCIe Bus ID - LXC 容器使用 Proxmox LXC 模块,关闭了 systemd 挂载报错的服务
secrets/目录经过 sops 加密,需有对应 age key 才能解密- 各主机目录下有各自的
README.md,含该主机的硬件信息与应用列表 modules/optional/下的模块为非默认启用,按需在 profile 中引用
Description
Languages
Nix
100%