~/h0wzy/work/terminal README.mdworkcvprivacy-policypt

terminal

functional, not deployed tooling

2026-07-312026-08-10 · 7 commits

the_problem

Keeping the same terminal configuration on two machines with different operating systems (Windows 11 and Fedora KDE Plasma) without copying files by hand and without versioning a secret.

what_it_does

  • Synchronises the prompt theme, a startup snippet for both Bash and PowerShell, and the Nerd Font.
  • A Makefile detects the operating system and calls the right setup script, so the same commands work on both systems.
  • Assisted migration: if an older loose configuration already exists in the real file, setup shows the lines and asks before migrating. Declining aborts without touching anything.

stack

other

Bash · PowerShell 7 · GNU Make · Oh My Posh

how_it_was_built

No complete shell profile is ever versioned. Those hold PATH entries, version-manager hooks and machine-specific settings. The repository keeps only the prompt snippet, and setup appends it to the real file inside a delimited block.

The scripts are idempotent: running again duplicates nothing and touches only what changed. The real file is never overwritten: setup rewrites only the block between its markers, and takes a timestamped backup before touching anything.

The theme is installed as a hard link rather than a copy, so editing it in the repository is reflected in the prompt without re-copying. The README explains the condition that makes it work and the fallback for when it does not.

known_limitations

  • Choosing the font in Windows Terminal or Konsole is a click in a GUI, and the README documents it as a manual step rather than pretending to automate it.
  • PowerShell 7 only, not 5.1: the two editions point at different profile folders, so the script aborts on the wrong edition rather than writing to a file nobody reads.
  • The hard link requires the repository and the home directory to sit on the same volume. When they do not, setup falls back to copying, and the README says so.

tracked coding time

4 hrs 45 mins Source: WakaTime · tracked 2026-03-17 to current

back to all work