fix: restore terminal-backed Walker actions

This commit is contained in:
kiri committed 2026-09-05 21:52:25 +02:00
1 parent b03fe601d9
commit c2f48df98f
3 files changed
+43 -12

No files matched your search

+36 -8
View File
@@ -6,10 +6,23 @@ Apply the global and repository-local `AGENTS.md` files and the ponytail skill
at full intensity throughout. Preserve user work, prefer native capabilities, at full intensity throughout. Preserve user work, prefer native capabilities,
and add no abstraction without a demonstrated repeated need. and add no abstraction without a demonstrated repeated need.
## Non-negotiable activation boundary
Only the user may switch or activate configurations. The agent must never run
`nixos-rebuild switch`, a Home Manager activation or switch command, or any
equivalent operation that changes the active generation. Building and
evaluating configurations is allowed; after a successful build, give the user
the exact activation command and wait for confirmation.
On 2026-09-05 the agent violated this boundary by directly running a built Home
Manager activation package. It restarted the Kitty service and closed the
user's terminal session. Do not repeat this, including for changes described as
user-level, harmless, temporary, or needed only for live verification.
## Current checkpoint ## Current checkpoint
- Tranche: desktop, agents, and notes - Tranche: desktop, agents, and notes
- State: Zenith activation verified; waiting for the desktop interaction gate - State: terminal launch fixed; waiting for a user-controlled launcher restart
- Branch: `chore/workflow-system` - Branch: `chore/workflow-system`
- Baseline: `nix flake check --no-build --quiet` and a no-link Zenith system - Baseline: `nix flake check --no-build --quiet` and a no-link Zenith system
build passed on 2026-09-05 after the live activation follow-ups; only the build passed on 2026-09-05 after the live activation follow-ups; only the
@@ -18,9 +31,14 @@ and add no abstraction without a demonstrated repeated need.
`.worktrees` entries, and the generated daily-note configuration passes an `.worktrees` entries, and the generated daily-note configuration passes an
isolated same-day idempotence test. The managed Actual and WhatsApp entries isolated same-day idempotence test. The managed Actual and WhatsApp entries
are active in the current user session, Evolution's source registry activates are active in the current user session, Evolution's source registry activates
over D-Bus, and the VPN reconnects successfully. over D-Bus, and the VPN reconnects successfully. The user activated the
- Next: the user completes the bounded Walker/project/PWA interaction gate terminal root fix: `xdg-terminal-exec` now selects Kitty correctly and Yazi
below. Then the agent records the result and surfaces only the next gate. launches from Walker. The still-running Elephant process retained the old
project action, so its menu file is now an explicit restart trigger.
- Next: after the fix is committed and built, the user restarts Elephant and
Walker with the exact command supplied by the agent, then repeats only the
project-launch test. The restart trigger takes effect on the next ordinary
user-controlled configuration switch.
## Progress ## Progress
@@ -201,10 +219,20 @@ Polaris:
generation. NetworkManager reconnected the VPN successfully afterward. generation. NetworkManager reconnected the VPN successfully afterward.
- Walker's native cached Lua menu scans the four identity roots and refreshes - Walker's native cached Lua menu scans the four identity roots and refreshes
when their top level changes. Its default action pipes the selected path to when their top level changes. Its default action pipes the selected path to
one Nix-owned `open-project` command, which starts Neovim in a detached Kitty one Nix-owned `open-project` command. Elephant supplies that path without a
window and leaves an interactive shell after Neovim exits. The generated terminating newline, so the launcher now accepts a successful partial read
Walker configuration extends, rather than copies or replaces, the pinned instead of exiting under `errexit`. It opens Neovim through the configured
default provider list and prefixes. `xdg-terminal-exec` owner and leaves an interactive shell after Neovim exits.
Elephant reads menu actions only at startup, so the generated menu is also a
declarative service restart trigger. The generated Walker configuration
extends, rather than copies or replaces, the pinned default provider list and
prefixes.
- The shared terminal-launch failure came from the Kitty package rewrite:
unanchored `sed` changed both `Exec=kitty` and `TryExec=kitty` to include
`-1`. Arguments are invalid in `TryExec`, causing `xdg-terminal-exec` to
reject the configured terminal. The rewrite now changes only `Exec`; live
resolver output selects `kitty.desktop` and retains `kitty -1`, and Yazi
launches successfully from Walker.
- Removed the decided Niri arrow/Page Up/Down/numbered duplicates, direct quit - Removed the decided Niri arrow/Page Up/Down/numbered duplicates, direct quit
and monitor-power bindings, extra screenshot modes, first/last and centering and monitor-power bindings, extra screenshot modes, first/last and centering
actions, repeated resize families, and their four shortcut-only scripts. The actions, repeated resize families, and their four shortcut-only scripts. The
+1 -1
View File
@@ -13,7 +13,7 @@ let
postBuild = '' postBuild = ''
wrapProgram $out/bin/kitty --add-flags "-1" wrapProgram $out/bin/kitty --add-flags "-1"
rm $out/share/applications/kitty.desktop rm $out/share/applications/kitty.desktop
sed 's/Exec=kitty/Exec=kitty -1/g' ${pkgs.kitty}/share/applications/kitty.desktop > $out/share/applications/kitty.desktop sed 's/^Exec=kitty/Exec=kitty -1/' ${pkgs.kitty}/share/applications/kitty.desktop > $out/share/applications/kitty.desktop
''; '';
}; };
+6 -3
View File
@@ -53,11 +53,10 @@ in
text = '' text = ''
project_path="''${1:-}" project_path="''${1:-}"
if [[ -z "$project_path" ]]; then if [[ -z "$project_path" ]]; then
IFS= read -r project_path IFS= read -r project_path || [[ -n "$project_path" ]]
fi fi
cd -- "$project_path" exec ${lib.getExe config.xdg.terminal-exec.package} --dir="$project_path" \
exec ${lib.getExe config.programs.kitty.package} --detach --directory "$PWD" \
${lib.getExe pkgs.zsh} -lic 'nvim; exec zsh -l' ${lib.getExe pkgs.zsh} -lic 'nvim; exec zsh -l'
''; '';
}; };
@@ -117,6 +116,10 @@ in
end end
''; '';
systemd.user.services.elephant.Unit.X-Restart-Triggers = [
config.xdg.configFile."elephant/menus/projects.lua".source
];
programs.walker = { programs.walker = {
enable = true; enable = true;
runAsService = true; runAsService = true;