Skip to content

workstation-v0: autopatch shell rc + fish support + CI smoke tests#55

Merged
mdheller merged 11 commits intomainfrom
feat/workstation-v0-shell-autopatch
Apr 20, 2026
Merged

workstation-v0: autopatch shell rc + fish support + CI smoke tests#55
mdheller merged 11 commits intomainfrom
feat/workstation-v0-shell-autopatch

Conversation

@mdheller
Copy link
Copy Markdown
Member

@mdheller mdheller commented Apr 20, 2026

Implements a productivity upgrade: optional, idempotent shell rc autopatching + palette actions.

Changes:

  • profiles/linux-dev/workstation-v0/bin/patch-shell.sh:
    • idempotently patches bash/zsh rc files with a bounded marker block
    • fixes correctness: avoids baking the current PATH into the rc file at patch time
    • adds CI/test hook SOURCEOS_RC_FILES (colon-separated list) to enable idempotency testing
  • profiles/linux-dev/workstation-v0/bin/patch-fish.sh:
    • idempotently patches fish config ($XDG_CONFIG_HOME/fish/config.fish) to source the fish spine
  • profiles/linux-dev/workstation-v0/shell/common.fish:
    • fish-native spine (fish_add_path, direnv, atuin, zoxide, ergonomic aliases)
  • profiles/linux-dev/workstation-v0/bin/sourceos:
    • adds sourceos fix shell [apply|dry-run] and palette entries
  • profiles/linux-dev/workstation-v0/install.sh:
    • optional autopatch via SOURCEOS_AUTOPATCH_SHELL=1
    • when enabled, also patches fish config (if present)
  • docs/workstation/RUNBOOK.md:
    • documents autopatch option and fish lane
  • CI hardening (in this PR branch):
    • adds a patch-shell idempotency smoke test using a temp rc file

Why:

  • This eliminates the manual "edit rc files" step while keeping it opt-in and auditable.

Safety:

  • Uses marker blocks; will not duplicate changes.
  • Default is non-invasive; autopatch must be enabled.

@mdheller mdheller changed the title workstation-v0: autopatch shell rc + palette fix-shell actions workstation-v0: autopatch shell rc + fish support + CI smoke tests Apr 20, 2026
@mdheller mdheller merged commit dedb28d into main Apr 20, 2026
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