refactor: consolidate all branches into single-branch Strategy 1

- bash/.bashrc: replace oh-my-bash with minimal unified config
  sources common → aliases → OS overlay → .bashrc.local

- zsh/.zshrc: remove hardcoded macOS PATHs (moved to macos overlay)
  clean sourcing order: common → personal → aliases → OS → .zshrc.local

- shell/common: populated with universal exports (EDITOR, HISTSIZE, etc.)
- shell/macos: Homebrew, Antigravity, Flutter PATH, fzf init, macOS aliases
- shell/linux: xdg-open, xclip, fzf init for Linux

- nvim/plugins/work.lua: Copilot plugin (migrated from origin/work branch)
- nvim/plugins/_init.lua: conditional load via DOTFILES_PROFILE=work env var

- tmux/.tmux.conf.local: per-machine override hook (~/.tmux.conf.machine.local)

- bootstrap.sh: one-command new machine setup with profile support
  usage: bash bootstrap.sh [personal|work]

- .gitignore: comprehensive .local file ignore patterns

All branches (linux, mac, work, linux_personal, linux_work, mac_personal)
can now be deleted — all unique content is merged into master.
This commit is contained in:
2026-07-18 14:38:41 +05:30
parent 52cd32ab95
commit f96891b6ec
10 changed files with 215 additions and 171 deletions
+13
View File
@@ -0,0 +1,13 @@
# ── Truly shared exports / env vars ───────────────────────────────────────────
# Sourced by both .zshrc and .bashrc on ALL machines (all OSes, all profiles).
# Keep this minimal — only things that apply 100% universally.
export EDITOR='nvim'
export VISUAL='nvim'
# Man page rendering
export MANROFFOPT="-c"
# Better history defaults (bash and zsh honour these)
export HISTSIZE=10000
export HISTFILESIZE=20000
+21
View File
@@ -0,0 +1,21 @@
# ── Linux-specific shell config ───────────────────────────────────────────────
# Sourced automatically from .zshrc / .bashrc on Linux hosts only.
# xdg-open alias (Linux equivalent of macOS `open`)
alias open="xdg-open"
# Clipboard helpers (if xclip is present)
if command -v xclip >/dev/null 2>&1; then
alias pbcopy="xclip -selection clipboard"
alias pbpaste="xclip -selection clipboard -o"
fi
# fzf shell integration (Linux path)
[[ -f /usr/share/doc/fzf/examples/key-bindings.zsh ]] && \
source /usr/share/doc/fzf/examples/key-bindings.zsh
[[ -f ~/.fzf.zsh ]] && source ~/.fzf.zsh
# Zoxide (smarter cd) — in case not already initialized by bashrc
if [[ -n "$ZSH_VERSION" ]]; then
command -v zoxide >/dev/null && eval "$(zoxide init zsh)"
fi
+19
View File
@@ -0,0 +1,19 @@
# ── macOS-specific shell config ───────────────────────────────────────────────
# Sourced automatically from .zshrc / .bashrc on Darwin hosts only.
# Homebrew
eval "$(/opt/homebrew/bin/brew shellenv)" 2>/dev/null
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
# Antigravity
export PATH="/Users/jsarthak/.antigravity/antigravity/bin:$PATH"
# Flutter SDK
export PATH="/Users/jsarthak/flutter-sdk/flutter/bin:$PATH"
# fzf shell integration (macOS path)
source <(fzf --zsh) 2>/dev/null || true
# macOS convenience aliases
alias finder="open -a Finder ."
alias brewup="brew update && brew upgrade && brew cleanup"