fix: keep SharePoint sync from blocking Home Manager activation
Preserve an in-flight timer job during service switching instead of restarting the oneshot and waiting for a potentially long synchronization. Herdr config installation succeeds; the activation timeout occurs later in reloadSystemd. Verified the native keep-old behavior in pinned sources and a focused sd-switch dry run. Formatting, flake evaluation, Zenith build and whitespace checks passed. No live services changed; full activation remains user-controlled.
This commit is contained in:
1 parent
a85cb5a928
commit
4949aef927
2 files changed
+20
-3
No files matched your search
@@ -169,9 +169,24 @@ the installed Herdr 0.9.0 default config and current upstream documentation.
|
|||||||
Interactive delivery through Kitty remains for user acceptance after activation.
|
Interactive delivery through Kitty remains for user acceptance after activation.
|
||||||
Reload Herdr with its existing Ctrl+B then Shift+R binding after activating Nix.
|
Reload Herdr with its existing Ctrl+B then Shift+R binding after activating Nix.
|
||||||
Verification: repository formatting, rendered TOML parsing, flake evaluation,
|
Verification: repository formatting, rendered TOML parsing, flake evaluation,
|
||||||
Zenith no-link system build and whitespace checking passed. No tests, activation
|
Zenith no-link system build and whitespace checking passed. No tests or live Herdr
|
||||||
or live Herdr session changes performed. Next input is the user's activation and
|
session changes performed by the agent. The user's activation installed the Herdr
|
||||||
combined feedback on pane/workspace movement, the pickers and agent jumps.
|
config and preserved `config.toml.bak`, but Home Manager later timed out (below).
|
||||||
|
After retrying activation, reload Herdr and gather combined feedback on
|
||||||
|
pane/workspace movement, the pickers and agent jumps.
|
||||||
|
|
||||||
|
Activation fix (2026-09-09): Home Manager's service switch stopped and restarted
|
||||||
|
the running SharePoint oneshot, then waited until Home Manager's five-minute start
|
||||||
|
timeout. Service-state inspection identified SharePoint as the sole pending user
|
||||||
|
job; its oneshot start timeout is unlimited. This was not a Herdr file collision.
|
||||||
|
Set `Unit.X-SwitchMethod = "keep-old"` in `sharepoint-reference.nix` so activation
|
||||||
|
leaves an in-flight sync running; subsequent timer runs use the updated unit.
|
||||||
|
Verified against pinned Home Manager/sd-switch source. Formatting, flake evaluation,
|
||||||
|
Zenith build and whitespace checks passed; the focused sd-switch dry run reported
|
||||||
|
`Keep active sharepoint-reference-sync.service`, with no restart planned. No live
|
||||||
|
units were changed and no company content or credentials were read. The user must
|
||||||
|
retry activation to verify the full switch; sync health/content completeness were
|
||||||
|
not investigated.
|
||||||
|
|
||||||
Mail search remains unresolved. The workbench's custom mail reader, inventory
|
Mail search remains unresolved. The workbench's custom mail reader, inventory
|
||||||
pilot, justfile and old README are archived; native Garden/kubectl/K9s now own the
|
pilot, justfile and old README are archived; native Garden/kubectl/K9s now own the
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
Unit = {
|
Unit = {
|
||||||
Description = "Refresh the local SharePoint reference mirror";
|
Description = "Refresh the local SharePoint reference mirror";
|
||||||
ConditionPathExists = rcloneConfig;
|
ConditionPathExists = rcloneConfig;
|
||||||
|
# Let an in-flight sync finish; activation must not restart and wait for it.
|
||||||
|
X-SwitchMethod = "keep-old";
|
||||||
};
|
};
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
|
|||||||
Reference in new issue
Block a user