Skip to content

1. Windows Terminal – Role & Configuration

Section titled “1. Windows Terminal – Role & Configuration”

Key realization: Windows Terminal should be boring.

Its job is only to:

  • Launch shells (Ubuntu, PowerShell, CMD)

  • Provide a UI window

It should not:

  • Orchestrate projects

  • Restore complex sessions

  • Launch multiple tabs automatically

  • Single Ubuntu profile

  • No startupActions

  • No project-specific WSL profiles

  • No session restore dependency

Windows Terminal is the door, not the workspace.


  • nano filename

tmux replaces Windows Terminal tabs: Stable, Scriptable, Survives terminal crashes, Independent of Windows UI state

Instead of multiple Terminal tabs:

  • One Ubuntu tab
  • Multiple tmux virtual windows inside it

~/.tmux/work.sh
  • Single source of truth for my daily workspace
  • Idempotent (safe to run multiple times)
  • Creates or re-attaches to the same tmux session
  • Create tmux session (work)

  • Create named tmux windows

  • cd into correct project directories

  • Launch claude in the appropriate window

This replaces all Windows Terminal startup automation.


~/.bashrc
  • Auto-start tmux only when:

    • Shell is interactive

    • tmux is installed

    • Not already inside tmux

This ensures:

  • No recursion

  • No script breakage

  • No surprises in non-interactive shells

Result:

Open Terminal → Ubuntu → tmux workspace appears


6. CRLF (Carriage Return / Line Feed) Problems

Section titled “6. CRLF (Carriage Return / Line Feed) Problems”
  • ❌ Editing Linux files from Windows editors

  • ❌ Git auto-converting line endings

  • ❌ Copy/paste through clipboard tools

  • Symlinks

  • Windows backups

  • Git (when configured correctly)

  • Reading Linux files from Windows


✔ Keep tmux scripts in Linux (~/.tmux)

✔ Symlink from Windows to Linux, not the other way around

✔ Windows sees files and backs them up

✔ Linux owns execution

✔ No CRLF issues if Windows never edits

✔ Git configuration locks line endings


Windows Terminal → Door
WSL → House
tmux → Office
  • Reduce complexity at higher layers

  • Push orchestration downward

  • Keep Windows UI state simple

This architecture trades cleverness for reliability.


This setup succeeds because:

  • Each layer has a single responsibility

  • Automation lives in Linux, not Windows UI

  • Execution, configuration, and backup concerns are separated

Calm systems are predictable systems.


Last updated: 2026‑01‑16