NixOS 配置项目教程

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),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金畏战Goddard

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值