Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Hosts

Hosts 目录定义了不同机器的系统配置。

darwin.nix

macOS 主机配置入口,导入 darwin 输入并定义系统配置。

主要配置:

  • 用户配置 — 创建系统用户,设置 shell 为 zsh
  • Nix 配置 — substituters、trusted keys、自动 GC
  • 系统设置 — 状态版本、NSGlobalDomain 默认行为
  • 系统字体 — Hack、Meslo Nerd Font、Noto、Roboto Mono Nerd Font 等

支持 aarch64-darwinx86_64-darwin 两个架构。

nixos.nix

NixOS 主机配置模板(开发中),目前仅包含注释掉的示例配置。

home.nix

独立的 Home Manager 配置入口,不依赖 nix-darwin。

用于:

  • 在非 NixOS Linux 上使用 Home Manager
  • 在 macOS 上仅管理用户环境而不管理系统
{ axiomIdentity, pkgs, inputs, ... }:
{
  imports = [ ./modules/common ];
  home = {
    username = axiomIdentity.user;
    homeDirectory = if pkgs.stdenv.isDarwin then
      "/Users/${axiomIdentity.user}"
    else
      "/home/${axiomIdentity.user}";
  };
  programs.home-manager.enable = true;
}

多主机管理

设计目标是支持多主机、多用户。所有机器配置集中在一个仓库,通过不同的 host 文件区分。