From 34e3eb577b9b46a499a304bcc67d5cf9876ce59a Mon Sep 17 00:00:00 2001 From: alexion Date: Mon, 10 Aug 2026 22:27:04 -0400 Subject: [PATCH] fix(actualbudget): use upstream data layout --- AGENTS.md | 2 +- guests/actualbudget.nix | 4 +++- hosts/pikachu/default.nix | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index bd56006..40fa4ea 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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. diff --git a/guests/actualbudget.nix b/guests/actualbudget.nix index 2f5a2cc..ed488ad 100644 --- a/guests/actualbudget.nix +++ b/guests/actualbudget.nix @@ -16,8 +16,10 @@ my.guest { group = "storage"; settings = { port = 5006; - dataDir = "/opt/actualbudget-data"; + dataDir = "/data"; }; }; + + systemd.services.actual.serviceConfig.WorkingDirectory = "/"; }; } args diff --git a/hosts/pikachu/default.nix b/hosts/pikachu/default.nix index a1de406a..0a614fe 100644 --- a/hosts/pikachu/default.nix +++ b/hosts/pikachu/default.nix @@ -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%";