# demo-nixos **Repository Path**: openbit/demo-nixos ## Basic Information - **Project Name**: demo-nixos - **Description**: nixos-mcp转化的 home manager - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-28 - **Last Updated**: 2026-02-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NixOS 配置仓库 ## 概述 本仓库包含一个模块化的 NixOS 配置,使用 Flake 管理依赖,并集成了 home‑manager。配置最初从 `/etc/nixos` 迁移而来,现已拆分为多个模块,便于维护和扩展。 ## 目录结构 ``` ~/nix-config/ ├── flake.nix # Flake 入口 ├── flake.lock # 版本锁定(自动生成) ├── hosts/ │ └── nixos/ │ ├── default.nix # 主机配置主文件 │ ├── hardware.nix # 硬件配置(从原 hardware-configuration.nix 复制) │ └── configuration.nix.bak # 旧配置备份 ├── modules/ # 共享模块 │ ├── system/ │ │ ├── boot.nix │ │ ├── network.nix │ │ ├── locale.nix │ │ └── nix-settings.nix │ ├── users/ │ │ └── default.nix │ ├── desktop/ │ │ └── gnome.nix │ ├── packages/ │ │ └── system-packages.nix │ └── services/ │ ├── openssh.nix │ ├── vscode-server.nix │ └── nix-ld.nix ├── home/ # home‑manager 配置 │ └── default.nix └── README.md ``` ## 快速开始 1. 将仓库克隆到本地: ```bash git clone <仓库地址> ~/nix-config cd ~/nix-config ``` 2. 检查 Flake 语法: ```bash nix flake check ``` 3. 应用配置(确保当前系统为 NixOS): ```bash sudo nixos-rebuild switch --flake .#nixos ``` ## 模块说明 - **system/** – 系统级配置 - `boot.nix`:systemd‑boot 与 EFI 设置 - `network.nix`:主机名与 NetworkManager - `locale.nix`:时区、语言与控制台字体 - `nix-settings.nix`:Nix 实验特性与镜像源 - **users/** – 用户管理 - `default.nix`:demo 用户、wheel 组与 SSH 公钥 - **desktop/** – 桌面环境 - `gnome.nix`:启用 GNOME 与 GDM - **packages/** – 软件包 - `system-packages.nix`:基础工具(vim、git、wget 等)与 Firefox - **services/** – 系统服务 - `openssh.nix`:启用 SSH 服务 - `vscode-server.nix`:VS Code Server 支持 - `nix-ld.nix`:兼容运行非 Nix 动态链接程序 ## Flake 输入 ```nix inputs = { nixpkgs.url = "github:NixOS/nixpkgs/master"; nixos-vscode-server.url = "github:nix-community/nixos-vscode-server"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; ``` ## 使用 home‑manager 用户级配置位于 `home/default.nix`,当前包含基础设置(Git、状态版本等)。可按需添加更多个性化配置。 ## 优势 1. **集中管理**:所有配置位于用户目录,便于备份和版本控制。 2. **模块化**:配置按功能拆分,易于维护和复用。 3. **扩展性**:已预留 `home/` 目录,可无缝集成 home‑manager。 4. **可移植性**:通过 Flake 锁定依赖版本,确保跨环境一致性。 5. **安全回退**:原配置保留在 `/etc/nixos.backup`,可随时恢复。 ## 维护命令 - 更新所有输入: ```bash nix flake update ``` - 测试构建(不实际切换): ```bash nixos-rebuild build --flake .#nixos ``` - 应用配置并创建新生成: ```bash sudo nixos-rebuild switch --flake .#nixos ``` - 回滚到上一代: ```bash sudo nixos-rebuild switch --rollback ``` ## 注意事项 - 硬件配置 (`hosts/nixos/hardware.nix`) 是机器特定的,在不同主机间迁移时需重新生成。 - 如需添加新模块,请在 `hosts/nixos/default.nix` 的 `imports` 中引入。 - 本配置默认使用 `demo` 用户,请根据实际情况修改用户名称与 SSH 公钥。 ## 许可证 本项目采用 [MIT 许可证](LICENSE)(如未提供许可证文件,可自行添加)。