aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config
Commit message (Collapse)AuthorAgeFilesLines
* refactor(nvim): drop refactoring.nvimLibravatar sommerfeld2026-05-133-36/+0
| | | | | | | | | Upstream broke itself today by adding require('async') without shipping lua/async.lua. I never use these mappings anyway. Removed the plugin spec, setup call, <leader>r* keymaps, and the which-key group entry. plenary.nvim stays — neogit still depends on it. Run :PackClean afterwards to prune the on-disk plugin.
* chore(nvim): stop tracking pack lockfileLibravatar sommerfeld2026-05-131-222/+0
| | | | | | | | The seeded lockfile offered little value for a single-user setup: fresh bootstraps will resolve version specs at install time, and any meaningful pinning is already expressed in init.lua's vim.pack.add() specs. Added an explicit .chezmoiignore entry so the runtime file doesn't show up as drift.
* chore(nvim): seed pack lockfile with create_ prefixLibravatar sommerfeld2026-05-131-0/+0
| | | | | | | The file is owned by vim.pack at runtime — tracking it causes constant chezmoi drift on every plugin update. The create_ prefix writes it once on fresh machines and leaves it alone after. Manually chezmoi re-add when you want to snapshot a known-good revision set.
* refactor(nvim): simplify PackUpdate — vim.pack.update is effectively syncLibravatar sommerfeld2026-05-131-13/+3
| | | | | | | It drives its async git ops with internal vim.wait and makes the confirm buffer current before returning. No need for a FileType autocmd: just write the buffer if the filetype matches (guards the 'Nothing to update' case where no buffer is created).
* fix(nvim): auto-confirm PackUpdate preview buffer instead of forcingLibravatar sommerfeld2026-05-131-2/+15
| | | | | | Using force=true hid all feedback. Now we let vim.pack.update open its confirmation buffer (showing pending changes) and auto-:write it via a one-shot FileType=nvim-pack autocmd. User sees what updated.
* feat(nvim): add :PackList to show managed plugins with rev and versionLibravatar sommerfeld2026-05-131-0/+36
| | | | | Uses vim.pack.get() and prints one line per plugin: ● (active) or ○ (orphan), name, short rev, version spec.
* feat(nvim): add :PackClean, :PackUpdate, :PackSync user commandsLibravatar sommerfeld2026-05-132-0/+42
| | | | | | | | | | Wraps vim.pack for a more ergonomic workflow: - :PackClean - delete plugins no longer declared in vim.pack.add() (computed from vim.pack.get() where active == false) - :PackUpdate - run vim.pack.update(nil, { force = true }); skips the confirmation buffer - :PackSync - :PackClean followed by :PackUpdate
* style: silence SC1003 in bootstrap.sh efibootmgr hint; shfmt wifi-status.shLibravatar sommerfeld2026-04-211-8/+8
| | | | | | | | - bootstrap.sh: the trailing backslash in the efibootmgr example is literal text shown to the user, not shell line continuation. Disable SC1003 with an inline directive and switch back to single quotes so the backslash renders as-is. - wifi-status.sh: reformat with shfmt -i 2 -ci -s.
* chore: ignore bootstrap.sh in chezmoi, mask xdg-user-dirs-updateLibravatar sommerfeld2026-04-211-0/+1
| | | | | | | | | bootstrap.sh is host-only bootstrapping and should not deploy into $HOME. The xdg-user-dirs-update.service user unit (shipped enabled by the xdg-user-dirs package) rewrites ~/.config/user-dirs.dirs on login, clobbering the tracked short-path variant (docs/dl/pics/vids). Mask it by symlinking to /dev/null.
* waybar: use iwd D-Bus + /proc for wifi instead of scraping iwctlLibravatar sommerfeld2026-04-211-18/+35
| | | | | | | Replace iwctl ANSI-stripping with busctl calls against net.connman.iwd (a formally stable, documented D-Bus API) to get state and SSID, and read signal strength directly from /proc/net/wireless. No more parser fragility if iwctl's human-readable layout changes.
* sway: manage mako, poweralertd, display-watcher via systemd user unitsLibravatar sommerfeld2026-04-213-3/+22
| | | | | | | Replace sway exec launches with a sway-session.target that BindsTo graphical-session.target and Wants mako, poweralertd, and a new display-watcher.service. Services now get restart-on-failure, journal integration, and clean shutdown when sway exits.
* sway: auto-toggle display layout on external plug/unplugLibravatar sommerfeld2026-04-212-0/+21
|
* sway: display-toggle re-enables laptop screen when no external presentLibravatar sommerfeld2026-04-211-0/+6
|
* sway: add poweralertd for battery notifications via makoLibravatar sommerfeld2026-04-211-0/+1
|
* waybar: add disk module, heat-colour VOL, move window title to leftLibravatar sommerfeld2026-04-212-2/+37
|
* waybar: heat-colour CPU/memory/wifi %/temperature values via pangoLibravatar sommerfeld2026-04-213-4/+60
|
* waybar: use iwctl (from iwd) instead of iw for wifi statusLibravatar sommerfeld2026-04-211-8/+16
|
* waybar: custom/wifi via iw for bond-slaved wlan; drop wg; shorter memoryLibravatar sommerfeld2026-04-214-35/+28
|
* waybar: wifi interface is wlan0 on this hostLibravatar sommerfeld2026-04-211-1/+1
|
* waybar: split network into wifi/bond/wg, reorder, add gruvbox accentsLibravatar sommerfeld2026-04-213-9/+78
|
* waybar: add free% to memory, slow network updates to 10sLibravatar sommerfeld2026-04-212-6/+7
|
* waybar: show memory used/free and wifi SSID + signal + throughputLibravatar sommerfeld2026-04-211-5/+7
|
* revert(zprofile): drop DISPLAY=:0 hack now that xorg-xwayland is installedLibravatar sommerfeld2026-04-211-4/+0
| | | | | | | | Sway sets DISPLAY in its own environment at compositor startup when xwayland support is enabled and the Xwayland binary is available, so all children (terminals, scripts) inherit it automatically. The zprofile override was only needed as a workaround while xorg-xwayland was missing.
* fix(zprofile): export DISPLAY=:0 for XWayland before exec swayLibravatar sommerfeld2026-04-211-0/+4
| | | | | | | | | | | | | | Sway's XWayland is lazy — DISPLAY isn't set in sway's env until the first X client connects, which means systemctl/dbus import-environment runs too early and nothing downstream sees DISPLAY. Setting DISPLAY=:0 in zprofile before 'exec sway' ensures sway itself inherits it, and therefore so do all its child processes (terminals, scripts, systemd user services via import-environment). XWayland will spawn on demand when a client actually connects to :0. Also drop the redundant fallback from rqr now that the session-wide export covers it.
* fix(rqr): restore zbarcam preview and propagate DISPLAY to XWaylandLibravatar sommerfeld2026-04-211-2/+2
| | | | | | | | | | | zbarcam needs an X11 display for the live camera preview, which sway provides via XWayland. Two changes to make that reliable: - sway/config: add DISPLAY to the systemd/dbus user-environment imports, so anything launched through those paths (not just direct sway execs) can reach XWayland. - rqr: default DISPLAY to :0 (sway's default XWayland socket) when unset, as a belt-and-suspenders fallback.
* chore: remove webtorrent mpv hook; gitignore cachesLibravatar sommerfeld2026-04-211-159/+0
|
* chore(mason): ensure selene and taplo are installedLibravatar sommerfeld2026-04-211-0/+2
| | | | | Required by the 'just lint' and 'just fmt' recipes for lua linting and TOML format/lint respectively.
* style: silence false-positive lint warningsLibravatar sommerfeld2026-04-214-1/+8
| | | | | | | | | | Inline directives for cases where the linter's shell/language dialect doesn't match reality: - init.lua: _G.P helper is intentional - dot_zprofile: zsh tied arrays, $+commands, optional sourcing - dot_zshrc: zsh brace-group-as-function-body - ipython_config: 'c' is injected by IPython at load time - doasedit: /bin/sh on Arch is bash, -O test is supported
* style(nvim): drop unused nvmap helper; reformat treesitter keymapsLibravatar sommerfeld2026-04-212-57/+24
| | | | Also removes a stray ANSI escape in treesitter.lua.
* refactor(mpv): use local capture() instead of monkey-patching osLibravatar sommerfeld2026-04-211-4/+5
| | | | | | Module-local function avoids selene's incorrect_standard_library_use lint and stops polluting the os namespace. Inner url variable renamed to remove shadowing warning.
* style: apply prettier and taplo to css/json/jsonc/tomlLibravatar sommerfeld2026-04-214-96/+123
|
* style(shell): apply shfmt (-i 2 -ci -s)Libravatar sommerfeld2026-04-211-21/+21
|
* style(lua): apply stylua formattingLibravatar sommerfeld2026-04-216-136/+212
|
* Revert partial meta cleanup: restore mold, choose, curlie, dogLibravatar sommerfeld2026-04-211-0/+1
| | | | | | | | | - mold moves cpp→dev (broader home; used by both Rust and C++ builds) - choose/curlie/dog restored to base (actively used) - restore 'alias curl=curlie' to match linux-headers stays only in nvidia.txt (pulled by nvidia-dkms; no other DKMS packages in the set).
* chore(zsh): drop 'stow' alias (migrated to chezmoi)Libravatar sommerfeld2026-04-211-1/+0
|
* fix(zsh): drop 'curl=curlie' alias (curlie removed from base)Libravatar sommerfeld2026-04-211-1/+0
|
* refactor: restructure to chezmoi source stateLibravatar sommerfeld2026-04-2174-0/+3972
Rename home/ contents to chezmoi naming conventions: - dot_ prefix for dotfiles and dot-dirs - private_dot_ for .gnupg and .ssh directories - private_ for 0600 files (nym.pub) - executable_ for scripts in .local/bin and display-toggle.sh - symlink_ for mimeapps.list symlink