summaryrefslogtreecommitdiffstatshomepage
path: root/dot_config
Commit message (Collapse)AuthorAgeFilesLines
* Remove unsupported Tree-sitter parsersommerfeld2026-08-141-1/+0
|
* Remove unused libvirt configurationsommerfeld2026-08-141-1/+0
|
* Fix Thunderbird scratchpad targetingsommerfeld2026-08-143-16/+43
|
* Fix Flatpak PDF handoffsommerfeld2026-08-141-0/+6
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-9/+9
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-7/+7
|
* Default ghost rebase to origin/mainsommerfeld2026-08-141-1/+1
|
* Add locked display recovery bindingsommerfeld2026-08-141-0/+1
|
* Remove former work environment configurationsommerfeld2026-08-148-95/+2
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-9/+9
|
* Update Neovim maintenance workflowsommerfeld2026-08-141-1/+1
|
* Improve Sway display recoverysommerfeld2026-08-144-6/+64
|
* Update nix and Neovim lockfilessommerfeld2026-08-141-5/+5
|
* Simplify default zellij layoutsommerfeld2026-08-141-3/+1
|
* Update nix and Neovim lockfilessommerfeld2026-07-021-6/+2
|
* Update Proton Bridge desktop integrationsommerfeld2026-07-025-11/+13
|
* Prune stale dotfiles commentarysommerfeld2026-07-025-50/+11
|
* Add repo validation dev shellsommerfeld2026-07-022-9/+13
|
* Update nix and Neovim lockfilessommerfeld2026-07-021-7/+7
|
* Track Neovim package lockfilesommerfeld2026-07-021-0/+201
|
* Remove SNX Waybar integrationsommerfeld2026-07-023-48/+0
|
* Migrate VM dotfiles to chezmoisommerfeld2026-06-192-3/+18
| | | | | | | | Move VM dotfile deployment out of Home Manager and into chezmoi with a machineRole guard. Add VM recipes for applying chezmoi state and restarting the Nix GnuPG agent. Make host-only hooks no-op on the VM and render container storage per role.
* Use local gpg-agent on VMsommerfeld2026-06-193-64/+13
|
* Update blink.pairs native library setupsommerfeld2026-06-192-3/+17
|
* Reduce Arch package surfacesommerfeld2026-06-187-37/+31
|
* Pin blink.pairs before native loader changesommerfeld2026-06-171-4/+2
|
* Relax AI committer push checksommerfeld2026-06-171-22/+10
|
* Allow unmatched globs in zshsommerfeld2026-06-171-1/+2
|
* Update blink.pairs native setupsommerfeld2026-06-171-1/+3
|
* Disable broken Proton mail startupsommerfeld2026-06-172-2/+4
|
* Restore AUR pass secret servicesommerfeld2026-06-171-10/+0
|
* Use absolute editor commands under sudosommerfeld2026-06-153-8/+23
| | | | | | Resolve nvim before exporting editor and pager variables so sudo-rs env_keep does not depend on root's secure_path. Update the Waybar pacdiff action to pass an absolute DIFFPROG through sudo.
* Reduce AUR package surfacesommerfeld2026-06-151-0/+10
| | | | | | | | Move pass-secret-service, snx-rs, and Sparrow under Nix/Home Manager. Track the snx-rs system unit, pass-secret-service user unit, and pacman cache cleanup hook in the repo. Drop the mkinitcpio firmware metapackage, overdue, pacman-cleanup-hook, and the standalone btc package group.
* Add mosh work VM aliassommerfeld2026-06-151-0/+1
|
* Use unified tuicr diff viewsommerfeld2026-06-051-1/+1
|
* Limit git switch completion to local branchessommerfeld2026-06-051-0/+1
|
* Add no-hooks rebase aliassommerfeld2026-06-051-0/+1
|
* Refactor git resign aliassommerfeld2026-06-051-1/+1
|
* Move more host tooling to Nixsommerfeld2026-06-0534-36/+40
|
* refactor(mail): migrate protonmail-bridge from pacman to nixsommerfeld2026-06-052-2/+14
| | | | | | | | | | | | | | | Move the ProtonMail Bridge off the AUR protonmail-bridge-core package and onto nix/host.nix, consistent with the other migrated user-leaf tools. Since the AUR package previously supplied the systemd user unit (customized via a drop-in), ship a repo-owned dot_config/systemd/user/protonmail-bridge.service instead: it runs the nix binary by absolute %h/.nix-profile/bin path with --noninteractive and folds the former drop-in's PASSWORD_STORE_DIR into the unit, so the now-redundant protonmail-bridge.service.d/override.conf is removed. Drop protonmail-bridge-core from meta/base.txt (the git send-email Perl prereqs stay). No vm.nix change: the bridge is host-only and user units are not symlinked on the headless VM.
* fix(systemd): ship poweralertd.service user unitsommerfeld2026-06-051-0/+14
| | | | | | | | | | | | poweralertd was migrated to nix (host.nix) but, like mako, the nix package does not ship a systemd user unit on the manager's search path. sway-session.target's Wants=poweralertd.service referenced a non-existent unit (previously the pacman package supplied /usr/lib/systemd/user/poweralertd.service), so battery/AC notifications never started at login. Add a repo-owned poweralertd.service (absolute nix-profile path) and register it in systemd-units/user.txt.
* fix(systemd): ship mako.service user unitsommerfeld2026-06-051-0/+17
| | | | | | | | | | | | | The nix mako package does not ship a systemd user unit on the user manager's search path, so sway-session.target's Wants=mako.service referenced a non-existent unit after the pacman->nix migration (previously the Arch mako package provided /usr/lib/systemd/user/ mako.service). mako only started on first D-Bus notification, never eagerly at session login. Add a repo-owned mako.service (Type=dbus, org.freedesktop.Notifications) using the absolute nix-profile path, matching the other sway-session units, and register it in systemd-units/user.txt.
* fix(systemd): drop StopWhenUnneeded from sway-session.targetsommerfeld2026-06-051-1/+0
| | | | | | | | | | | | | | | | | | The target reached active then was immediately garbage-collected: Reached target sway compositor session Stopped target sway compositor session Stopping swayr.../Waybar... Nothing holds a reverse dependency on sway-session.target, so the first "stop unneeded units" pass (triggered when any Wanted service transitions, e.g. a ConditionEnvironment skip during the env-import race) found it unneeded and StopWhenUnneeded=yes tore it down, cascading via PartOf/ BindsTo to every session service. Manual `systemctl --user start` worked because that starts the service directly, not the GC-prone target. StopWhenUnneeded has been latent since 030848c; the nix migration's changed startup timing exposed it. The canonical sway-session.target omits it; teardown still works via BindsTo=graphical-session.target and user-manager shutdown at logout (swaymsg exit).
* revert(systemd): drop redundant environment.d PATH filesommerfeld2026-06-051-20/+0
| | | | | | | | | | | | The absolute %h/.nix-profile/bin/<name> ExecStart paths (previous commit) fix unit startup without any PATH dependency. The remaining secondary lookups those binaries make (wl-paste -> cliphist, swayidle -> swaymsg/ playerctl) are already covered by the sway config's existing `systemctl --user import-environment PATH` (dot_config/sway/config), the established mechanism that also feeds waybar's nix-provisioned pass/python3. So environment.d/10-nix-profile-path.conf was a redundant parallel mechanism. Remove it.
* fix(systemd): use absolute %h/.nix-profile/bin paths in user unitssommerfeld2026-06-058-24/+22
| | | | | | | | | | | | | | The previous environment.d fix was insufficient: even with the nix profile on the --user manager's PATH (confirmed via `systemctl --user show-environment`), bare-name ExecStart= still fails 203/EXEC. systemd's --user manager does not resolve a bare ExecStart binary against the imported/environment.d PATH. Invoke each unit's main binary by absolute path %h/.nix-profile/bin/<name> (waybar, swayidle, swayrd, inhibridge, wl-paste, wob). %h expands to $HOME at unit load. Secondary lookups those binaries/scripts perform (cliphist, swaymsg, playerctl) still rely on PATH, which environment.d provides — so that file stays, with its comment corrected to reflect this split.
* fix(systemd): add environment.d PATH so user units find nix binariessommerfeld2026-06-051-0/+22
| | | | | | | | | | | | | | | The user-leaf tools (waybar, swayidle, swayr, mako, cliphist, inhibridge, wob, …) were migrated to the Nix home profile and their .service units reference them by bare name. The systemd user manager does not source ~/.zprofile, so its PATH lacked ~/.nix-profile/bin and every bare-name ExecStart failed with status=203/EXEC. The sway config's `systemctl --user import-environment PATH` raced with `systemctl --user start sway-session.target`; when the start won, units launched with the default PATH. environment.d is read at manager startup before any unit, closing the race deterministically. Pick up via fresh login/boot or `systemctl --user daemon-reexec`.
* fix(systemd,scripts): unhardcode /usr/bin paths for nix-migrated toolssommerfeld2026-06-057-7/+7
| | | | | | | | | | | | | | | | | | | | | The chezmoi-owned user units and ~/.local/bin wrapper scripts called the migrated tools by absolute /usr/bin/ path. After the move to nix, those binaries live under ~/.nix-profile/bin (no /usr/bin alias). systemd user units: drop the /usr/bin/ prefix on cliphist-{text,image} (wl-paste), inhibridge, swayidle, swayrd, waybar, and the inner wob in wob.service (outer /usr/bin/sh stays, sh is system). systemd resolves bare names through the unit's inherited PATH, which includes ~/.nix-profile/bin via hm-session-vars. dictate: default_model now points at ~/.nix-profile/share/whisper-cpp-models/ggml-base.bin (overridable via $WHISPER_MODEL). Header rewritten to mention nix instead of AUR. yt-dlp / streamlink wrappers: pass $HOME/.nix-profile/bin/<tool> to _sandbox-net-parser so the bwrap-sandboxed binary is resolved explicitly (the wrappers shadow PATH lookup inside their own ~/.local/bin so re-entry would loop).
* feat(nix): unify rootless podman across host and VMsommerfeld2026-06-052-0/+18
| | | | | | | | | | | | | | | Move the podman stack (podman, crun, conmon, netavark, aardvark-dns, slirp4netns, passt, podman-compose, podman-docker) from a vm-only block into common.nix so the Arch host and the Ubuntu remote-dev VM run the same nix-pinned versions. This drops podman-compose + podman-docker from pacman as well — they were the only podman-stack pieces still sourced from there on the host. Relocate registries.conf + policy.json into the chezmoi tree at dot_config/containers/ so both flavors share them; vm.nix now picks them up via the existing link helper. storage.conf stays inline in vm.nix because the VM needs the overlay driver while the Arch host uses the btrfs driver (root fs is btrfs there).
* refactor(flatpak): route mpv and thunderbird via flatpak; drop system pkgssommerfeld2026-05-293-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both org.mozilla.thunderbird and io.mpv.Mpv are already installed via flatpak, but several places still launched the system binaries (because they were in PATH). Worse, `mpv` was kept on the host *only* for the streamlink-launches-mpv path, and `thunderbird` was being pulled in as a hard dep of external-editor-revived even though it was never the mailer actually used. Untangle both. Thunderbird ----------- * dot_config/sway/executable_tb-toggle.sh, dot_config/sway/executable_tb-autostart.sh: swap `thunderbird` → `flatpak run org.mozilla.thunderbird`. The `app_id` matcher in sway config already targets the flatpak id, so the scratchpad-stash and Super+t toggle keep working unchanged. * etc/pacman.conf: add `AssumeInstalled = thunderbird=999.0-1`. external-editor-revived (AUR) hard-depends on `thunderbird`; this satisfies the dep without installing the package. Run `sudo pacman -Rns thunderbird` after deploy to remove the now-unneeded system binary. * meta/base.txt: document the AssumeInstalled trick next to the external-editor-revived entry. mpv --- * dot_config/streamlink/config: `player=mpv` → `player=flatpak run io.mpv.Mpv`. The flatpak already pulls in our ~/.config/mpv via the read-only filesystem override (see run_onchange_after_deploy-flatpak-overrides.sh.tmpl), so behavior is unchanged. * dot_local/bin/executable_linkhandler: same swap for inline video URLs. * dot_local/bin/executable_mpv: deleted. The wrapper only existed to bwrap /usr/bin/mpv into _sandbox-net-parser; flatpak's own sandbox supersedes that. * dot_local/bin/executable__sandbox-net-parser, dot_local/bin/executable_streamlink: comment refresh — mpv is no longer one of the tools this wraps, and the streamlink wrapper now forwards to the flatpak player rather than nested-bwrap caveats. * meta/base.txt: drop `mpv` from the host package list and update the surrounding comment. README.md: refresh the media row of the stack table to match. On-host steps: chezmoi apply -v sudo pacman -Syu # picks up AssumeInstalled sudo pacman -Rns thunderbird mpv # safe now flatpak install -y flathub org.mozilla.thunderbird io.mpv.Mpv swaymsg reload # pick up new tb scripts
* chore(thunderbird): switch flatpak app id to org.mozilla.thunderbirdsommerfeld2026-05-292-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream marked org.mozilla.Thunderbird end-of-life. Flathub split it into two replacement IDs: org.mozilla.thunderbird monthly release channel (new default) org.mozilla.thunderbird_esr ESR / long-term-support channel Move to the lowercase monthly-release flatpak, which is what Mozilla now recommends for regular desktop users and gets features at the same cadence as Firefox. Renamed references in: * meta/flatpak.txt - the package list the user installs from * meta/base.txt - comment in the mail-bits section * dot_config/sway/config - window-match app_id rule for marking * dot_config/mimeapps.list - mailto/ics/webcal handler .desktop names * run_onchange_after_deploy-thunderbird.sh.tmpl - profile path under ~/.var/app/<id>/.thunderbird/ * run_onchange_after_deploy-tb-eer.sh.tmpl - flatpak override target and sandbox path for External Editor Revived bridge * run_onchange_after_deploy-pteid-pkcs11.sh.tmpl - Mozilla-family flatpak NSS DB registration list * README.md - doc snippets and xdg-mime example On-host migration: flatpak install -y flathub org.mozilla.thunderbird # Preserve accounts, OpenPGP keys, calendars, EER bridge wrapper: mv ~/.var/app/org.mozilla.Thunderbird ~/.var/app/org.mozilla.thunderbird flatpak uninstall -y org.mozilla.Thunderbird chezmoi apply -v update-desktop-database ~/.local/share/applications 2>/dev/null || true Verify mail handler: xdg-mime query default x-scheme-handler/mailto # -> org.mozilla.thunderbird.desktop