Removing :ensure nil so use-package fetches from MELPA — the built-in
version was missing or too old on this Emacs install.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
catppuccin fails to load in terminal mode (WSL) causing the blue
default background. modus-vivendi is built-in so it always loads.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Daemon starts in the background when a new shell opens so 'e' always
connects to an existing server rather than launching a new instance.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
modus-vivendi is built into Emacs 29+ so it loads reliably without
a MELPA install — better for WSL where package errors were occurring.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The nvim-treesitter rewrite removed nvim-treesitter.configs entirely.
Now uses require('nvim-treesitter').install() and a FileType autocmd
for dynamic attach, mirroring current kickstart.nvim.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lazy.nvim's `main` shorthand resolves the module before the plugin is
fully loaded, causing 'nvim-treesitter.configs not found' on first run.
Explicit config function defers the require until setup time.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-xtype l only catches broken symlinks; a stale symlink pointing to a
file that still exists (e.g. leftover from stow laptop on a work PC)
would survive clean and then block the next stow run.
Also add .zshrc/.zshenv to the clean sweep.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove work/laptop detection logic from nvim and emacs configs; each
package now has a self-contained init that requires no runtime checks
- Create shared/ stow package containing nvim/init.lua, emacs/init.el,
common-dev-settings.el, org-bindings.el, tmux, ghostty, and ranger
- Rename laptop-languages.lua / work-languages.lua → languages.lua in
each package; shared/init.lua uses require('languages') generically
- Rename work-dev-settings.el → dev-settings.el to match laptop naming
- Expand work/ to include the full set of dev tools (tmux, ghostty,
ranger, emacs, neovim) without email/calendar tooling
- Add Makefile with `make laptop` and `make work` targets (each runs
a single `stow shared <profile>` invocation)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Neovim now loads either laptop-languages.lua or work-languages.lua
depending on which stow packages are active. Work mode suppresses
Rust/Go/C/C++/LaTeX servers, DAP, and vimtex entirely via cond guards.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Work language support (C#, TS, JS, CSS, HTML, Prettier) is now gated
behind a stow-loaded work-languages.lua module so it only activates
when the work package is stowed. Tmux prefix changed from Ctrl-b to
Ctrl-Space to match the neovim Space-leader feel.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add kickstart-based neovim config with catppuccin, telescope, LSP,
treesitter, DAP, vimtex, harpoon, and lazygit integration
- Remap tmux pane navigation and splits to hjkl / s / v
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Outlook IMAP lists 'Inbox' as a folder AND uses INBOX as the special inbox,
causing mbsync to fail with 'cannot use unqualified Inbox'. Excluding 'Inbox'
from Patterns lets the MaildirStore Inbox directive handle it correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
keychain's GPG key management is incompatible with GnuPG 2.4 keyboxd.
gpg-agent handles key caching natively; set 24h TTL so it unlocks once per day.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documents the full Outlook.com OAuth2 mail setup (rbw, Azure app registration,
GPG, mutt-oauth2, mbsync, msmtp, neomutt) for reinstall reference.
Removes vdirsyncer/khal configs and calsync alias.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>