Skip to content

Add host-managed tmux support #69

Description

@daniel-kindl

Goal

Add tmux to dk-devkit as a host-level terminal session manager for the workstation.

The intended architecture is:

Konsole
  -> tmux on host
      -> host shell / Distrobox
          -> Pi / Codex / Claude / project tooling

tmux should be installed once on the host and used across development environments. It should not be duplicated inside individual Distrobox containers unless a container has a specific independent need for it.

Scope

  • Add tmux to the host CLI package manifest.
  • Create a dedicated tmux component if that matches the existing component model better than keeping it only under host-cli-tools.
  • Add version-controlled tmux configuration under config/tmux/.
  • Install/link the managed configuration into the user's home directory in an idempotent way.
  • Include the tmux component in the daniel workstation profile.
  • Add verification/doctor coverage for:
    • tmux is available on the host.
    • the expected config is active.
    • repeated installation does not create duplicate or conflicting state.
  • Document the intended host -> tmux -> Distrobox workflow.

Initial configuration

Keep the first configuration conservative and close to upstream defaults. Useful baseline settings to evaluate:

  • sensible scrollback/history size
  • mouse support
  • true-color / modern terminal compatibility
  • pane/window navigation that does not conflict with common shell or editor bindings
  • clipboard behavior under KDE/Wayland
  • Distrobox-friendly shells and environment inheritance

Avoid large plugin frameworks or opinionated keybinding schemes in the first iteration. The configuration should remain understandable and owned directly by dk-devkit.

Acceptance criteria

  • A fresh dk-devkit workstation setup installs tmux on the host.
  • tmux is available from Konsole without entering a Distrobox.
  • The managed tmux configuration is reproducible from the repository.
  • A tmux session can host both host shells and shells entered through distrobox enter.
  • Existing Distrobox/container manifests do not gain redundant tmux installations.
  • Existing bootstrap/install/verify flows remain idempotent and pass.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesDependency, runtime, toolchain, or pinned-version changesenhancementGeneral improvement that does not fit a more specific typefeatureNew user-visible capability

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions