Repository navigation
Conversation
desktop-env-refresh skipped app panes: herdr-core sets HC_TERMINAL_ID in them, while only the TUI sets HERDR_ENV. - Gate the refresh on either variable. - Keeps clipboard and display env fresh in long-lived app panes.
odsod
force-pushed
the
herdr-app
branch
2 times, most recently
from
November 3, 2026 17:11
7b41db0 to
39e5aa3
Compare
App panes already pad the top of the terminal, so the prompt's own blank line doubled the gap. - Skip the blank line only on the first prompt of an app pane. - Set the flag from fish_preexec, so a repaint of that prompt keeps it. - Later prompts keep the gap: it separates them from command output.
The layout draws its own titlebar, so KWin wraps the window in a frame that covers it. - Add a herdr-app rule beside the other shadow-only rules. - Match the Wayland app_id the app sets for itself.
The Herdr app is a separate program on herdr-core: its terminals live in hc, not in the TUI's server, and the two share no agents. - http:herdr-app and http:herdr-core are mise tools, pinned in mise.lock with sha256 from the upstream release manifests. - herdr-core leaves updates to mise. The app still updates itself until herdrdev/herdr-app#459 ships; AGENTS.md tracks the issues. - The launcher entry is a static dotfile, herdr/app/herdr-app.desktop. - herdr/setup-machines.sh fills the TUI and hc machine lists from Tailscale with one loop.
odsod
force-pushed
the
herdr-app
branch
2 times, most recently
from
November 3, 2026 17:38
e739e02 to
b47c1f5
Compare
Codex and antigravity write their own config files, so mise seeds them with merge = "missing" [dotfiles] entries instead of custom scripts. - mise sets only the repo keys a live file lacks; the app owns them after that, so there is no drift to check. - The codex:* and antigravity:* check and resolve tasks, resolve and config:check are gone. - tasks/apply.sh is gone: apply is an inline run list of mise bootstrap, mise reshim and the clean task.
The app writes settings.json and keys.json itself, so they are merge = "missing" dotfiles: the repo seeds the keys it sets, and the app keeps zoom, window state, its shipped bindings and later changes. - herdr/app/settings.json holds the quiet, dark, Iosevka and Inter setup. - herdr/app/keys.json adds the ctrl+u prefix bindings. - The Nord theme and the prefix mod, a tmux-style hint adapted from the upstream example, ride along as dotfiles next to the TUI files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Herdr app (a separate program on herdr-core) goes into provisioning,
together with the config this repo wants to keep for it. App configs that the
apps also write are now seeded by mise
merge = "missing"dotfiles instead ofcustom check and resolve scripts.
http:herdr-appandhttp:herdr-coreare mise tools inmise.toml, pinnedin
mise.lockwith sha256 checksums from the upstream release manifests.herdr-core sees its mise install path and leaves updates to mise. The app
still updates itself in place until fix: identify package-managed apps in update settings herdrdev/herdr-app#459 (fixes
Settings says a Nix-installed Herdr updates with git herdrdev/herdr-app#136) ships;
AGENTS.mdtracks that, Can't disable auto update herdrdev/herdr-app#207and Publish herdr-app release binaries as GitHub Releases herdrdev/herdr-app#395. The launcher entry is a static dotfile.
herdr/setup-machines.shfills both the TUI and the app'shc machinelistfrom Tailscale with one loop. It never passes
--install, which would copyhconto the peer.settings.jsonandkeys.jsonaremerge = "missing"dotfiles: mise sets only the repo keys a live file lacks,and the app owns them after that.
config:check,resolve, the per-app checkand resolve tasks and
tasks/apply.share gone;applyis an inline run listof
mise bootstrap --yes,mise reshimandclean.herdr/app/themes/nord.jsonandherdr/app/mods/prefix/add the theme and atmux-style prefix hint adapted from
herdr.dev/mods/herdrdev/tmux-prefix.herdr-app; fish refreshes desktop envin app panes and skips the doubled blank line on an app pane's first prompt.
Test plan
mise run checkmerge = "missing": a key changed live (font_size) survivesmise dot apply, and a key removed live (telemetry) comes backmise lock --global http:herdr-core http:herdr-apprecords the manifestsha256 for the Linux targets
hc, the shims and theicon resolve into the mise installs;
mise outdatedis cleanherdr-app check mods/prefix;herdr-app statusreports no errorsmise run herdr:sync-machines(TUI list current; the app peer needshcinstalled there first)
mise bootstrap --dry-run: all dotfiles and edits appliedkreadconfig6 --file kwinrulesrc --group herdr-appshows the shadow rule