NixOS 配置项目教程
nixos-config项目地址:https://gitcode.com/gh_mirrors/nixosconf/nixos-config
1. 项目目录结构及介绍
nixos-config/
├── configuration.nix
├── home.nix
├── modules/
│ ├── base.nix
│ ├── desktop.nix
│ └── development.nix
├── overlays/
│ ├── custom-packages.nix
│ └── default.nix
└── README.md
目录结构介绍
- configuration.nix: 主配置文件,定义了系统的全局配置。
- home.nix: 用户配置文件,定义了用户级别的配置。
- modules/: 包含多个模块文件,每个文件定义了一个特定的功能模块,如基础配置、桌面环境和开发环境。
- overlays/: 包含自定义包的覆盖文件,允许用户自定义或添加新的包。
- README.md: 项目的说明文件,通常包含项目的简介、安装和使用说明。
2. 项目启动文件介绍
configuration.nix
configuration.nix
是 NixOS 的主配置文件,定义了系统的全局配置。以下是该文件的主要内容:
{ config, pkgs, ... }:
{
imports = [
./modules/base.nix
./modules/desktop.nix
./modules/development.nix
];
environment.systemPackages = with pkgs; [
vim
git
curl
];
services.openssh.enable = true;
users.users.alice = {
isNormalUser = true;
extraGroups = [ "wheel" ];
};
}
主要功能
- imports: 导入其他模块文件,如
base.nix
,desktop.nix
,development.nix
。 - environment.systemPackages: 定义系统级别的软件包。
- services.openssh.enable: 启用 SSH 服务。
- users.users.alice: 定义用户
alice
,并将其添加到wheel
组。
3. 项目配置文件介绍
modules/base.nix
base.nix
文件定义了系统的基础配置,如时区、语言和主机名等。
{ config, pkgs, ... }:
{
time.timeZone = "Asia/Shanghai";
i18n.defaultLocale = "en_US.UTF-8";
networking.hostName = "nixos-machine";
}
主要功能
- time.timeZone: 设置系统时区为
Asia/Shanghai
。 - i18n.defaultLocale: 设置默认语言为
en_US.UTF-8
。 - networking.hostName: 设置主机名为
nixos-machine
。
modules/desktop.nix
desktop.nix
文件定义了桌面环境的配置,如启用 GNOME 桌面环境。
{ config, pkgs, ... }:
{
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
}
主要功能
- services.xserver.enable: 启用 X 服务器。
- services.xserver.displayManager.gdm.enable: 启用 GNOME 显示管理器。
- services.xserver.desktopManager.gnome.enable: 启用 GNOME 桌面环境。
modules/development.nix
development.nix
文件定义了开发环境的配置,如安装开发工具和语言环境。
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
gcc
python3
nodejs
];
virtualisation.docker.enable = true;
}
主要功能
- environment.systemPackages: 安装开发工具,如
gcc
,python3
,nodejs
。 - virtualisation.docker.enable: 启用 Docker 虚拟化。
通过以上配置,您可以轻松地定制和管理 NixOS 系统。
nixos-config项目地址:https://gitcode.com/gh_mirrors/nixosconf/nixos-config
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考