Commit graph

14 commits

Author SHA1 Message Date
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
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
ec6be909c5
feat: replace Omarchy layer with plain Arch + Hyprland installer
Drops the omarchy/ directory and adds install/ - a direct Arch + Hyprland
installer oriented around these dotfiles, no framework on top:

- install/install.sh: entry point with --packages-only / --dotfiles-only
- install/lib/{common,packages,dotfiles,hyprland,services}.sh: modules
- install/files/hypr/: starter Hyprland config (monitors, env, input,
  keybinds, autostart, top-level) - symlinked to ~/.config/hypr/
- Pacman packages: full Hyprland desktop + dotfile dependencies
- AUR: bootstraps yay, installs brave-beta-bin
- Symlinks all dotfiles, installs tpm + nvm, switches login shell to zsh
- Enables sddm, NetworkManager, bluetooth, pipewire user stack

No btrfs / Limine / Secure Boot constraints (unlike Omarchy). 3440x1440@120
monitor + JetBrainsMono Nerd Font preserved. Hyprland border colors use the
Kanagawa Wave palette to match the rest of the stack.

wezterm.lua restored to standalone Kanagawa wave/dragon switching via
$WEZTERM_THEME, since there's no Omarchy theme source anymore.

All shell scripts shellcheck-clean; wezterm.lua passes luac.
2026-06-09 11:06:43 +00:00
Claude
de658706c6
docs(omarchy): document install steps and environment requirements 2026-06-07 17:43:31 +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
Claude
84fbb30d82
chore: drop macOS/Windows support and offline nvim tooling
- Remove macOS/Windows clipboard branches, homebrew fzf path from .vimrc
- Remove is_macos/is_windows logic from wezterm.lua
- Drop scripts/nvim-offline-* and NVIM_OFFLINE plumbing from nvim config
- Clean macOS section from .gitignore; simplify .gitattributes to LF-only
- Trim README of offline-bundle section
2026-06-07 16:50:33 +00:00
21c315d5f2 remove cross platform from config 2026-06-06 11:20:21 +02:00
Brian Pooe
6102d15662 Add shared IdeaVim config and sync integration 2026-04-16 22:14:57 +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
37b5620628 feat: run bundler in docker 2026-02-14 14:49:26 +02:00
Claude
789bac2165
Update README with offline setup instructions
https://claude.ai/code/session_01J1XAGFnocxQ1cfoaRZceGA
2026-02-12 18:22:41 +00:00
51a503e6b3
Initial commit 2025-10-25 14:20:05 +02:00