fix(actualbudget): use upstream data layout

This commit is contained in:
2026-08-10 22:27:04 -04:00
parent 77a6b87ba0
commit 34e3eb577b
3 changed files with 5 additions and 3 deletions

View File

@@ -19,7 +19,7 @@ The domain model (Host, Module, Skeleton, Auto-loader, Enable convention, overla
## Gotchas
- Actual Budget's NixOS service runs `actual-server` with `WorkingDirectory = services.actual.settings.dataDir`, and the `actual-server` CLI wrapper sets `ACTUAL_CONFIG_PATH=./config.json` when that current directory contains `config.json`, overriding the NixOS module's generated config path before the server loads configuration.
When migrating old community-script state, either preserve the old in-guest data path or remove/update the copied `config.json`, otherwise stale absolute paths such as `/opt/actualbudget-data/server-files` override the declarative module settings.
When migrating old community-script state to the normal upstream `/data` shape, override `systemd.services.actual.serviceConfig.WorkingDirectory` away from `/data` so a copied `/data/config.json` cannot shadow the declarative module settings.
- Subagent completion delivery is non-blocking through immediate spawn, milestone notifications, retained terminal entries, and `subagent_list` or `subagent_result` retrieval.
`subagent_wait` intentionally blocks the parent tool call until its condition or timeout, so do not use it merely to keep background work alive during an interactive workflow.
- Nixvim's flake input following the root nixpkgs source does not make its Home Manager module reuse the host's `pkgs` instance.

View File

@@ -16,8 +16,10 @@ my.guest {
group = "storage";
settings = {
port = 5006;
dataDir = "/opt/actualbudget-data";
dataDir = "/data";
};
};
systemd.services.actual.serviceConfig.WorkingDirectory = "/";
};
} args

View File

@@ -76,7 +76,7 @@
autoStart = false;
vlan = 20;
mac = "BC:24:11:C1:CD:28";
mounts."/opt/actualbudget-data".hostPath = "/pikachu/data/actualbudget";
mounts."/data".hostPath = "/pikachu/data/actualbudget";
limits = {
memory = "2G";
cpu = "200%";