Skip to content

feat(mise): configure default tools as lazy - #9596

Open
jdx wants to merge 11 commits into
omacom:quattrofrom
jdx:agents/mise-lazy-tools
Open

feat(mise): configure default tools as lazy#9596
jdx wants to merge 11 commits into
omacom:quattrofrom
jdx:agents/mise-lazy-tools

Conversation

@jdx

@jdx jdx commented Sep 1, 2026

Copy link
Copy Markdown

Summary

  • add the mise-tool contribution skill and convert every Omarchy-managed tool to a registry shorthand
  • declare the default CLI tools as native lazy tools in /etc/mise/config.toml
  • collocate system and user installs/shims under ~/.local/share/mise, so first-use installs stay unprivileged
  • migrate recognized legacy wrappers without touching user-owned commands, while preserving Remove/Install Preinstalls behavior
  • document mise install --include-lazy for installing every lazy tool up front

Why

mise v2026.9.1 now provides native lazy tool shims, system-config storage overrides, safe shim reconciliation, and mise install --include-lazy. Omarchy can use those primitives directly instead of maintaining one wrapper script per command.

Dependency

Testing

  • official mise-v2026.9.1-linux-x64 release binary: offline reshim --system created all 19 expected command shims from the system config
  • official release binary: isolated mise install uv installed uv@0.12.8 from the lazy system-style config, verified its GitHub artifact attestations, and executed it through mise x
  • official release binary: invoking the generated gh shim installed gh@2.98.0, verified its GitHub artifact attestations, and ran gh --version
  • settings.locked=true: a system lazy shim installed and ran uv@0.12.9; mise install --include-lazy --dry-run resolved all 16 managed tools
  • explicit --locked: mise install --include-lazy --dry-run resolved all 16 managed tools without requiring system lockfiles
  • config-free Hermes path: installed Hermes Agent v0.19.0 through lazy uv, verified Python 3.13.15, and ran it without changing the user-global mise config
  • focused lazy migration, default-agent, Hermes, Python/uv lifecycle, and preinstall shell tests
  • ./test/cli
  • ./test/shell completed; all changed-area tests passed. Environment-only failures were the three checks requiring a sibling omarchy-pkgs checkout and the existing roomy-window animation assertion. network-qr-test.sh also failed once in the aggregate run and passed immediately when rerun alone.

VM testing

  • installed the official harness dependencies (qemu-full 11.1.0, edk2-ovmf, socat, ImageMagick, and Tesseract) and ran the VM-free omarchy-iso suite successfully
  • built a 5.8 GB fresh ISO from this branch plus chore(mise): bump to 2026.9.1 omarchy-pkgs#278; the bundled offline repository contained locally built mise-bin 2026.9.1-1
  • drove a real fresh install under QEMU/KVM through the configurator, package installation, reboot, console bootstrap, SDDM, and Hyprland session
  • all 25 keyboard-driven desktop shortcut checks passed; the installed-system acceptance checks passed for core packages, services, applications, defaults, and session health
  • inside the installed guest, /usr/bin/mise --version reported 2026.9.1, /etc/mise/config.toml was active, and the shim directory contained the 19 Omarchy lazy commands alongside the existing Node shims
  • from a cold state, MISE_LOCKED=1 uv --version installed and ran uv@0.12.9 from /etc/mise/config.toml; the user's global Node declaration remained in ~/.config/mise/config.toml, and mise correctly did not require a system lockfile
  • mise install --include-lazy --dry-run resolved every remaining lazy system tool in the installed guest
  • reused the installed base with --sync-all and ran the PR's CLI, shell, and graphical acceptance suites in the VM; all mise/Hermes/uv tests passed. The broad run retained unrelated fixture/environment failures (missing omarchy-pkgs checkout for packaging-coverage tests, font-width/animation assertions, one privileged migration fixture) plus a reminder-panel visual timeout.

Two test-only harness accommodations were needed and were not applied to this PR: the current ISO helper does not locally build non-omarchy* packages, so the test harness was extended to build mise-bin from the supplied package checkout; and Arch's current broadcom-wlbroadcom-wl-dkms transition required a current-Arch mirror/package-list override while the Omarchy snapshot catches up. The harness's greeter OCR was also broadened to accept the current “Beautiful, Fun & Agentic” tagline.

AI-assisted — Tool: Codex; model: OpenAI/GPT-5; version: unavailable.

jdx added 3 commits September 1, 2026 06:47
*AI-assisted — Tool: Codex; model: openai/gpt-5; version: unavailable.*
*AI-assisted — Tool: Codex; model: openai/gpt-5; version: unavailable.*
@jdx
jdx marked this pull request as draft September 1, 2026 11:49
@jdx
jdx marked this pull request as ready for review September 2, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant