Resurrect + continuum were already saving every 15 minutes; this makes
sessions come back automatically after a reboot.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- New managed configs: .config/bat (ANSI theme so bat follows the
terminal palette) and .claude/settings.json, with a .gitignore guard
so only settings.json under .claude/ is trackable.
- dotfiles.sh: drive linking from a single link map and add
unlink_dotfiles; install.sh grows --unlink to cleanly remove every
symlink pointing into the repo.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- .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>
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).
vim-tmux-navigator captures plain Ctrl+l for right-pane navigation, which
shadows the shell's clear-screen, and prefix + l is already bound to
resize-pane. Add the navigator's documented passthrough so
Ctrl+Space, Ctrl+l clears the terminal.
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.
Adds omarchy/ - a layered installer that patches Omarchy's package list,
runs its installer, then applies an upgrade-safe customization layer:
- Remove packages: try (tobi-try), lazydocker, cliamp, obsidian, pinta,
signal-desktop, obs-studio, kdenlive, 1password, spotify, typora,
libreoffice-fresh, chromium
- Clear all default web app (PWA) wrappers; drop Lazydocker TUI entry
- Install Brave Origin Beta as default browser (replaces Chromium)
- Install WezTerm as default terminal, following the active Omarchy theme
via colors.toml with a Kanagawa Wave fallback + theme-set reload hook
- Menu overrides: trim Setup (System Sleep/DNS/Security) and Install
(Web App/TUI/Service/Development/Editor/Terminal/Browser/AI/Gaming/Windows)
- Symlink dotfiles + install deps (zsh, plugins, tpm, nvm)
wezterm.lua now reads the Omarchy theme palette instead of a hardcoded one.
All scripts are shellcheck-clean; Lua validated with luac.
- 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
Issues found when running the prepare script:
1. nvim-treesitter's main branch has a breaking rewrite that removed
the configs module, ensure_installed, and auto_install. Pin to the
master branch which has the stable API the config depends on.
2. Second Lazy sync caused mason-nvim-dap "Package is already
installing" conflicts. Removed — one sync is sufficient.
3. TSInstallSync command no longer exists in new treesitter. Removed
the step entirely — parsers are already compiled during Lazy sync
via the :TSUpdate build step and ensure_installed.
4. Mason async installs (mason-nvim-dap) were aborted when nvim quit.
Added a polling wait on the Mason registry so nvim stays alive
until all async package installs complete.
5. Removed unnecessary vim.wait(5000) before MasonToolsInstallSync.
6. Collapsed from 4 steps to 3. Added treesitter parser count to the
summary output.
https://claude.ai/code/session_01J1XAGFnocxQ1cfoaRZceGA
When NVIM_OFFLINE=1 is set, all network-dependent operations are disabled:
- lazy.nvim update checker and git timeouts
- Mason ensure_installed for LSP servers and tools
- Treesitter auto_install for parsers
- mason-nvim-dap automatic_installation for debug adapters
Includes two scripts for the offline workflow:
- scripts/nvim-offline-prepare.sh: run on a machine with internet to
pre-download all plugins, Mason packages, and Treesitter parsers
- scripts/nvim-offline-install.sh: deploy the bundle on the proxy machine
Also increases nvim-tree git timeout to 2s for proxy resilience.
https://claude.ai/code/session_01J1XAGFnocxQ1cfoaRZceGA
The 'ts' section was not included in the inline check, so it fell
through to file switching which re-opened the same file at line 1.
Now jumps to the export class line instead.
https://claude.ai/code/session_016zn34CVg7nXN6v4AvBA2K5
When in a .component.ts file, <leader>oh and <leader>oc now first look
for inline template:/styles: sections and jump to them. If no inline
section is found, they fall through to opening the external file.
<leader>ot jumps to the export class line when already in the .ts file.
https://claude.ai/code/session_016zn34CVg7nXN6v4AvBA2K5
The after/queries/angular/highlights.scm file was being appended rather
than replacing the bundled query, so the invalid static_member_expression
node type still caused errors. Switch to vim.treesitter.query.set() which
programmatically replaces the query at runtime, bypassing runtimepath
loading order issues with nvim-treesitter.
https://claude.ai/code/session_016zn34CVg7nXN6v4AvBA2K5
Override bundled Angular highlights.scm to remove the
static_member_expression node type reference which no longer exists
in the installed tree-sitter-angular parser, causing a query error
when opening inline templates.
https://claude.ai/code/session_016zn34CVg7nXN6v4AvBA2K5
Adds custom treesitter injection queries so that Angular @Component inline
templates get HTML/Angular syntax highlighting and inline styles get CSS
highlighting within TypeScript files.
https://claude.ai/code/session_016zn34CVg7nXN6v4AvBA2K5