Commit graph

19 commits

Author SHA1 Message Date
6861ff1e16 feat: add local override hooks for zsh and git
~/.zshrc.local and ~/.gitconfig.local hold machine-specific settings
(secrets, work identity, installer PATH additions) so third-party
installers stop dirtying the tracked configs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:16:17 +02:00
5123fb4349 fix: config review fixes
- .gitconfig: correct misspelled user email, fix del-remote alias
  (expanded to 'git git remote prune'), filter 'today' to own commits
- .zshrc: guard lt() shift with no args, drop duplicate ~/.local/bin
  PATH entry, dedupe history (HIST_IGNORE_ALL_DUPS, HIST_IGNORE_SPACE)
- wezterm: fix hyperlink regex char class (0.9 -> 0-9)
- extras: bump nvm to v0.40.5 with verified installer checksum

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:16:01 +02:00
Brian Pooe
a33c46d130 Persist zsh command history 2026-07-06 18:58:59 +02:00
Brian Pooe
db49fc1a56 feat: harden dotfiles installer and add automated validation 2026-06-11 20:38:19 +02:00
Brian Pooe
394a9af367 fix: align setup with Pop!_OS toolchain 2026-06-11 18:37:16 +02:00
Claude
291a5faffb
feat: control WezTerm appearance from .zshrc via generated env.lua
All user-tunable knobs now live in one block at the top of .zshrc:
KANAGAWA_THEME, WEZTERM_FONT_SIZE, WEZTERM_WINDOW_OPACITY,
WEZTERM_TEXT_OPACITY.

GUI-launched WezTerm never inherits shell exports (which is why
WEZTERM_THEME silently did nothing on desktop launches). Reuse the
existing tmux current-theme.conf pattern: .zshrc writes the values to
~/.config/wezterm/env.lua (only when they change), and wezterm.lua
dofile()s it and registers it in the config reload watch list — so
editing .zshrc and opening a new shell restyles the running window.

Precedence in wezterm.lua: env.lua > process env > defaults.
env.lua is gitignored (machine-local, generated).
2026-06-11 15:41:59 +00:00
Claude
096c3c8afa
feat(install): switch to Homebrew for the CLI toolchain
Ubuntu 24.04's apt versions of fzf/fd/bat/eza/zoxide/ripgrep/tmux/nvim/
lazygit/starship are frozen at April 2024 — and the previous GitHub-
release downloads went stale the moment you stopped re-running the
installer. Homebrew on Linux fixes both: always-latest releases and a
single 'brew upgrade' to update the whole CLI stack.

Two-tier install:
  apt   - zsh + base plumbing + WezTerm (vendor repo) + Brave Beta
          (vendor repo). Vendor repos auto-update via 'apt upgrade'.
  brew  - fzf fd bat eza zoxide ripgrep tmux neovim lazygit starship
          gh zsh-syntax-highlighting zsh-autosuggestions
  nvm   - official installer (pinned NVM_VERSION)
  tpm   - tmux plugin manager clone

New files:
  install/Brewfile - bundle for 'brew bundle'
  install/lib/brew.sh - Homebrew bootstrap + brew bundle
  install/lib/extras.sh - nvm + tpm
  install/install.sh - rewired entry point with --packages-only,
    --dotfiles-only, --help
  install/README.md - new docs for the two-tier strategy

.zshrc:
  - Source brew shellenv first when present, so brew bins win on PATH
  - 'update' alias now: brew upgrade && sudo apt update && sudo apt upgrade
    (previously apt-only; before that pacman-only)

Drops install/lib/packages.sh entries that the now-Brewfile-managed tools
duplicated, and removes the GitHub-release tarball install path.
2026-06-10 16:54:47 +00:00
Claude
d1a289d6ce
feat: pivot installer from Arch+Hyprland to Pop!_OS / Debian apt
User switched from Arch to Pop!_OS 24.04 (Cosmic DE). The previous install/
directory was an Arch+Hyprland desktop scaffold (pacman, yay, Hyprland,
hyprlock, waybar, rofi, swaync, swww, hypridle, swayosd, GTK theming,
wallpapers, etc.) — none of that applies on Pop!_OS where Cosmic provides
the desktop. Wiped the whole tree.

New install/ is a small apt-based tool installer for these dotfiles:

  install.sh           entry: full / --packages-only / --dotfiles-only
  lib/common.sh        helpers (apt_install, apt_update_once, signed repo
                       adder, backup_and_link)
  lib/packages.sh      apt packages + third-party apt repos
  lib/extras.sh        GitHub-release binaries + nvm + tpm
  lib/dotfiles.sh      symlinks + chsh zsh

What it installs:
- apt: zsh + plugins, tmux, fzf, fd-find, bat, eza, zoxide, ripgrep, git,
  curl, build-essential, wl-clipboard
- Signed third-party apt repos: WezTerm (apt.fury.io/wez),
  Brave Beta (brave.com), GitHub CLI (cli.github.com)
- GitHub releases (apt versions too old / absent): Neovim, Lazygit, Starship
- Per-user: nvm, tpm
- Compat shims: /usr/local/bin/fd -> fdfind, /usr/local/bin/bat -> batcat
  so the dotfiles' env vars (FZF_DEFAULT_COMMAND='fd ...') resolve

.zshrc updated for Debian:
- zsh-syntax-highlighting and zsh-autosuggestions now try the
  /usr/share/<name>/<name>.zsh Debian path first, fall back to the Arch
  /usr/share/zsh/plugins/<name>/<name>.zsh path
- fzf bindings/completion fall back: /usr/share/doc/fzf/examples/* first
  (apt), then /usr/share/fzf/* (Arch)
- 'update' alias: pacman -Syu -> sudo apt update && sudo apt upgrade -y

README updated to reflect the Pop!_OS target.
2026-06-10 16:33:47 +00:00
Claude
ff4c501414
chore: switch dotfiles from Fedora to Arch
- README: Fedora -> Arch, dnf -> pacman, fd-find -> fd
- .zshrc: update alias to pacman -Syu
- .zshrc: use Arch paths for zsh plugins and fzf key bindings/completion
2026-06-07 17:07:09 +00:00
21c315d5f2 remove cross platform from config 2026-06-06 11:20:21 +02:00
Brian Pooe
62284ccd19 docs: nvim to ideavimrc 2026-04-29 14:59:34 +02:00
Brian Pooe
b46b555e3e fix: keyboard mapping to windows 2026-03-28 14:24:36 +02:00
Brian Pooe
d1dfb3c3f8 feat(dotfiles): add Windows/WSL sync workflow and harden cross-platform theming
- add PowerShell sync script for Windows + WSL dotfiles/wezterm
deployment
- make .zshrc portable across macOS and WSL (brew detection, guarded
init, update alias)
- switch tmux to deterministic theme selection via current-theme.conf
- align wave/dragon theme files and remove fragile icon glyphs for
portability
- normalize starship wave/dragon configs for cross-platform rendering
- improve .vimrc Windows compatibility (clipboard + termguicolors guard)
- document Windows sync usage in README
2026-02-26 21:08:53 +02:00
Brian Pooe
479a296a20 fix: adjusted wezterm config for both os windows and mac 2026-02-26 19:35:26 +02:00
Brian Pooe
d29b8b682b feat: global theme setter 2026-02-18 22:10:16 +02:00
Brian Pooe
5993459fef feat: unified kanagawa theme and lt for hidden folders too 2026-02-18 21:29:21 +02:00
Brian Pooe
37b5620628 feat: run bundler in docker 2026-02-14 14:49:26 +02:00
Brian Pooe
c884ac1dd2 feat: alias for cargo run quiet mode 2026-01-31 13:20:00 +02:00
Brian Pooe
60f7c47b48 initial commit 2025-10-25 21:53:20 +02:00