aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config/zsh/dot_zprofile
Commit message (Collapse)AuthorAgeFilesLines
* fix(nix,zsh): tuicr flake schema + restore XDG_DATA_DIRSLibravatar sommerfeld10 days1-0/+9
| | | | | | | | | | | | | tuicr's upstream flake uses the legacy 'defaultPackage.<system>' output schema, not 'packages.<system>.default' — fixes the home-manager switch error 'attribute packages missing' at nix/flake.nix:28. zsh: removing the system zsh package took /etc/zsh/zprofile with it, which used to 'source /etc/profile' and pull in /etc/profile.d/*.sh (flatpak.sh, nix.sh, etc.). Reconstruct XDG_DATA_DIRS in dot_zprofile defensively, including per-user + system flatpak exports + nix-profile share, so 'flatpak update' stops warning and desktop entries from flatpak/nix-installed apps work in launchers (fuzzel).
* fix(ssh): stabilise forwarded ssh-agent socket across reconnectsLibravatar sommerfeld10 days1-3/+17
| | | | | | | | | | | | | | | | | | | | Forwarded SSH_AUTH_SOCK lives at /tmp/ssh-XXX/agent.NNN — a per-connection path that disappears on disconnect, leaving every long-running zellij pane (and its children: claude-code, nvim, …) pointing at a dead socket. Reattaching after reconnect doesn't help: the env was captured when zellij first started. Fix: maintain ~/.ssh/agent.sock as a symlink, re-aimed at the live forwarded socket on every login (zprofile). Export the stable path so processes inherit a value that survives reconnects — git fetch / commit signing keep working in re-attached zellij panes with zero per-pane re-export. Adds 'ssh-agent-refresh' helper for transitional panes still holding the dead per-connection path: re-exports SSH_AUTH_SOCK to the stable symlink and validates with ssh-add -l. Already-running children (claude-code) must still be restarted since env is inherited, not observed.
* refactor(zsh): drop FIRECRAWL_API_KEY exportLibravatar sommerfeld11 days1-4/+0
| | | | | | Unused; the pass entry doesn't exist on most machines, so login emitted 'Error: copilot/firecrawl-api-key is not in the password store' on every shell start. Easier to drop than to gate.
* drop residual Mason references after p6 migrationLibravatar sommerfeld11 days1-3/+2
| | | | | - zsh: remove ~/.local/share/nvim/mason/bin from PATH - justfile: update comments to reflect Mason removal
* feat(zsh): prepend ~/.nix-profile/bin to PATHLibravatar sommerfeld11 days1-1/+6
| | | | | | | | | So Home-Manager-provisioned tools shadow pacman/apt across host and VM, delivering identical tool versions from the same flake.lock. Mason bin stays for now; phase p6 of the nix migration removes it together with the Mason plugins. Phase 3 of the nix-on-host migration plan.
* fix(zsh): preserve forwarded SSH_AUTH_SOCK in SSH sessionsLibravatar sommerfeld2026-05-141-2/+6
| | | | | | | | | | zprofile unconditionally pointed SSH_AUTH_SOCK at the local gpg-agent's ssh socket. On remote machines (e.g. remote-dev VM) that clobbers ssh-agent forwarding — `ssh-add -L` reports no identities because the VM's gpg-agent has no keys. Only override when there's no forwarded socket (no $SSH_CONNECTION or no $SSH_AUTH_SOCK from sshd).
* feat(wayland): tune Qt/SDL/Electron backendsLibravatar sommerfeld2026-05-131-1/+4
| | | | | | | | | | | - zprofile: set QT_QPA_PLATFORM="wayland;xcb" (xcb fallback for bundled Qt), SDL_VIDEODRIVER="wayland,x11" (SDL2 defaults to X11). Drop MOZ_ENABLE_WAYLAND (Firefox 121+ default). - meta/wayland: add qt5-wayland and qt6-wayland so QT_QPA_PLATFORM=wayland actually resolves. - electron-flags.conf: global --ozone-platform=wayland, Wayland window decorations, GTK4. Applies to all apps using the Arch electron wrapper. Bundled-electron apps (slack-desktop, etc.) unaffected.
* 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.
* style: silence false-positive lint warningsLibravatar sommerfeld2026-04-211-1/+5
| | | | | | | | | | 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
* refactor: restructure to chezmoi source stateLibravatar sommerfeld2026-04-211-0/+116
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