Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 28, 2026

Migrates zsh from a 326-line custom configuration to oh-my-zsh framework while preserving bash setup and workflow-specific git aliases.

Changes

Git alias separation by shell

  • Moved git aliases from shell/.config/shell/aliases to shell-specific configs
  • bash/.bashrc: All custom git aliases (uses g shortcut + git config aliases: ci, co, st, lg, etc.)
  • zsh/.zshrc: Custom git aliases that override oh-my-zsh defaults (gfp, gl, gd, gdm, glm, glc, gw, gwip)

Git workflows now differ intentionally:

  • Bash: Uses custom git command shortcuts
  • Zsh: oh-my-zsh git plugin + selective custom overrides

Oh-my-zsh integration

  • zsh/.zshrc: Minimal config (94 lines) using oh-my-zsh with plugins: git, docker, kubectl, colored-man-pages
  • setup.sh: Idempotent installation - installs on first run, updates on subsequent runs
  • Preserved shared functions (cdbm, up) and cd alias behavior

Shared shell cleanup

  • Removed git aliases from shared config (bash/zsh diverge here)
  • Retained non-git aliases (ls variants, utilities, color configs)
  • Added note directing users to shell-specific configs for git aliases

Configuration example

# zsh/.zshrc - custom aliases override oh-my-zsh
alias gd='clear && git diff'        # Custom: clears screen first
alias gl='git lg'                   # Custom: uses git lg, not git pull
alias gfp='git fetch && git pull --recurse-submodules && git delete-merged-branches && git-delete-squashed-branches'

Git config dependencies

Some aliases require git config shortcuts:

[alias]
    ci = commit
    co = checkout  
    st = status
    lg = log --graph --pretty=...
    bl = blame
    brem = branch --remote
    gbm = branch --merged
    gr = grep

Validation

  • Bash: 11/11 tests passing (unchanged behavior)
  • Zsh: 3/3 configuration tests passing
  • Setup.sh: Verified idempotent updates

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

mvdbos and others added 2 commits January 28, 2026 20:43
Add zsh support with extracted shared shell configuration
Copy link
Contributor Author

Copilot AI commented Jan 28, 2026

@mvdbos Unfortunately, I hit an error while trying to use the custom Copilot setup steps configured for this repository and had to close this PR. The error I am seeing is:

no `copilot-setup-steps` job found in your `copilot-setup-steps.yml` workflow file. Please ensure you have a single job named `copilot-setup-steps`. For more details, see https://gh.io/copilot/actions-setup-steps

Once you or someone with the necessary access fixes the problem, please unassign and then reassign issue #0 to me and I'll retry. Thanks!

Copilot AI and others added 3 commits January 28, 2026 19:52
Co-authored-by: mvdbos <1101757+mvdbos@users.noreply.github.com>
Co-authored-by: mvdbos <1101757+mvdbos@users.noreply.github.com>
… docs

Co-authored-by: mvdbos <1101757+mvdbos@users.noreply.github.com>
Copilot AI changed the title [WIP] Replace custom zsh setup with oh-my-zsh Replace custom zsh configuration with oh-my-zsh Jan 28, 2026
Copilot AI requested a review from mvdbos January 28, 2026 20:07
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.

2 participants