Skip to content

Improve the shared Tauri desktop dev image for local validation and Linux desktop debugging #10

@ScottMorris

Description

@ScottMorris

Summary

The shared tauri-dev-desktop image worked well for Emoji Nook, but this review surfaced a few small gaps that would make it a stronger all-in-one Tauri desktop development image.

Recommendations

  • Add cargo-nextest: The repo's shared Rust validation path uses pnpm test:rust, which shells out to cargo-nextest. Having it in the image would keep local container validation aligned with the documented workflow and CI-style commands.
  • Keep standard Rust QA tooling preinstalled: Ensure clippy and the usual rustfmt/toolchain pieces are always present so full Rust validation can run without extra setup.
  • Improve cache persistence for short-lived docker run sessions: Cold-ish crate downloads were the main friction point when using the image as an ephemeral build environment. Anything that helps preserve Cargo and pnpm caches between runs would noticeably improve iteration speed.
  • Include X11 desktop inspection tools: xprop, wmctrl, xdotool, and xev were very helpful for debugging Cinnamon/X11 window activation behaviour from the host side. Keeping those available in the image would make Linux desktop integration work much easier to diagnose.
  • Include gh: GitHub CLI support inside the image would make PR, issue, and check inspection easier when working fully from the container.
  • Include jq: Small utility, but very handy for Tauri config inspection, GitHub CLI output, and other JSON-heavy workflows.
  • Ensure fast search tools are available: ripgrep is the big one; fd is a nice extra for fast file discovery.

Why this came up

This came out of Emoji Nook work that used the dev container for Rust/Tauri builds while running the app on the host for Cinnamon/X11 behaviour testing. That split worked well overall, and these additions would mostly reduce the last bits of friction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    developer-experienceDeveloper experience and onboarding improvementsdockerContainer build and publish workenhancementNew feature or requestinfrastructureShared infrastructure and automation workrustRust tooling and build and test worktauriTauri platform or plugin-specific work

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions