Run Codex app server on Quixos host

This commit is contained in:
Timothy J. Aveni
2026-06-21 18:08:10 -07:00
parent 3984310bc9
commit f1a983f61a
+39
View File
@@ -533,12 +533,14 @@ in
"quixos-secrets.service"
"quixos-package-tree.service"
"quixos-orchestrator.service"
"quixos-codex-app-server.service"
"caddy.service"
];
before = [
"quixos-secrets.service"
"quixos-package-tree.service"
"quixos-orchestrator.service"
"quixos-codex-app-server.service"
"caddy.service"
];
after = [ localPersistMount sharedPersistMount ];
@@ -694,6 +696,43 @@ in
};
};
systemd.services.quixos-codex-app-server = {
description = "Codex app server";
wantedBy = [ "multi-user.target" ];
upheldBy = [ "multi-user.target" ];
after = [ "network-online.target" "quixos-persist-layout.service" "quixos-package-tree.service" ];
wants = [ "network-online.target" "quixos-package-tree.service" ];
requires = [ "quixos-persist-layout.service" "quixos-package-tree.service" ];
path = [
pkgs.codex
pkgs.git
pkgs.nix
pkgs.ripgrep
qxControl
];
serviceConfig = {
User = "quixos";
Group = "quixos";
SupplementaryGroups = [ "quixos-control" ];
WorkingDirectory = cfg.packagesPath;
Restart = "always";
RestartSec = "5s";
};
environment = {
HOME = cfg.dataRoot;
CODEX_HOME = quixosCodexDir;
XDG_DATA_HOME = cfg.dataRoot;
QUIXOS_APP_ROOT = "${self}";
QUIXOS_PACKAGES_PATH = cfg.packagesPath;
QUIXOS_PACKAGE_TEMPLATES_DIR = "${self}/package-templates";
QUIXOS_WORKSPACE_ROOT = "/persist-local/srv/quixos";
QUIXOS_CONTROL_SOCKET = "/run/quixos/control.sock";
};
script = ''
exec codex app-server --listen ws://127.0.0.1:4500
'';
};
services.caddy = {
enable = true;
dataDir = "/persist/var/lib/caddy";