NixOS 模块说明

English

这个 flake 导出了 nixosModules.defaultnixosModules.codex-quota-monitor

最小示例

{
  inputs.codexQuotaMonitor.url = "github:<owner>/codex-quota-monitor";

  outputs = inputs@{ self, nixpkgs, codexQuotaMonitor, ... }: {
    nixosConfigurations.my-host = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        codexQuotaMonitor.nixosModules.default
        ({ ... }: {
          services.codexQuotaMonitor = {
            enable = true;
            installCli = true;
            managementBaseUrl = "http://127.0.0.1:8317";
            managementKeyFile = "/path/to/management-key";
            gatewayHealthUrl = "http://127.0.0.1:8317/healthz";
            authDir = "/path/to/auth-files";
            # 可选,默认关闭。开启后会把 live_plan_* metadata 写回 CPA auth files,
            # 供路由器使用 fresh plan state。
            # authLivePlanSync.enable = true;
          };
        })
      ];
    };
  };
}

关键选项

默认值

Dashboard 里的浏览器本地偏好会覆盖这些服务默认值,但只影响当前浏览器。locale、 timezone 和字体偏好彼此独立:locale 控制 UI 语言和浏览器侧日期/数字格式, timezone 只控制 reset 时间显示,字体只选择 CSS font-family 栈。项目不内置 字体文件;字体名只有在渲染页面的设备已经安装该字体时才会命中。

如果你要让手机或小屏浏览器通过局域网访问,把 listenAddress 设成 0.0.0.0,把浏览器访问用的域名或 IP 加进 allowedHosts,并把 openFirewall 设成 true。这只会让 dashboard 可达并放行预期的 Host / Origin,不会鉴权访问者。LAN 或公网访问仍要用 firewall 规则和带鉴权的 reverse proxy 或 access layer 保护。