aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/home
Commit message (Collapse)AuthorAgeFilesLines
* chore: remove .pam_environment (only needed by pam-gnupg)HEADmasterLibravatar sommerfeld24 hours1-1/+0
|
* fix: set GPG_TTY per interactive shell, not just at loginLibravatar sommerfeld24 hours2-2/+3
| | | | | | GPG_TTY was set in .zprofile (login shell) to /dev/tty1, but terminal emulator shells get /dev/pts/N. Move the export to .zshrc so each interactive shell sets the correct TTY before telling the agent.
* refactor: remove pam-gnupg and simplify gpg-agent configLibravatar sommerfeld24 hours2-14/+0
| | | | | | | | | With GPG key passphrases being removed (LUKS provides at-rest encryption), pam-gnupg is no longer needed. Remove: - pam-gnupg config file and keygrip list - pam-gnupg-git from base metapackage - Cache TTL overrides (defaults are fine without passphrase caching) - allow-preset-passphrase (only needed by pam-gnupg)
* refactor: revert GNUPGHOME to default ~/.gnupgLibravatar sommerfeld24 hours14-22/+0
| | | | | | | | | | | | | | Drop custom GNUPGHOME=~/.local/share/gnupg which required 6 systemd socket/service overrides with hardcoded directory hashes. GnuPG periodically changes its hash algorithm on updates, silently breaking systemd socket activation and pam-gnupg passphrase presetting. With default GNUPGHOME, stock systemd units work out of the box. - Move gpg.conf, gpg-agent.conf, sshcontrol to home/.gnupg/ - Delete all gpg-agent socket/service/dirmngr override dirs - Remove GNUPGHOME from .zprofile, .pam_environment, pam-gnupg - Remove GNUPGHOME from vdirsyncer and bridge service overrides
* fix: update stale gpg-agent socket hash in systemd overridesLibravatar sommerfeld24 hours4-4/+4
| | | | | | | GnuPG changed its socket directory hash from d.hmaqciuk8y8ye3gwt9b6eth1 to d.199epr64wmzkrnk8u8qgricf. The mismatch broke systemd socket activation and pam-gnupg passphrase presetting, causing SSH auth failures after reboot.
* fix: move GNUPGHOME before SSH_AUTH_SOCK in zprofileLibravatar sommerfeld28 hours1-1/+1
| | | | | | gpgconf --list-dirs agent-ssh-socket needs GNUPGHOME set to return the correct hashed socket path. Without it, SSH_AUTH_SOCK pointed to a non-existent socket, breaking GPG agent SSH authentication.
* chore: trim comments from etc configsLibravatar sommerfeld28 hours1-29/+0
| | | | | - orphans.hook: remove commented-out alternative Exec line - reflector.conf: strip comment bloat, keep only active settings
* chore: minor config improvementsLibravatar sommerfeld28 hours3-4/+1
| | | | | | - wget/wgetrc: move hsts-file from /tmp to ~/.local/share for XDG compliance and persistence across reboots - cargo/config: rename to config.toml (modern Cargo convention)
* refactor: fully modernize SSH configLibravatar sommerfeld28 hours1-6/+1
| | | | | | | Remove all explicit HostKeyAlgorithms, KexAlgorithms, and Ciphers lists. OpenSSH 9.x+ has excellent defaults: Ed25519 preferred, ssh-rsa disabled, strong cipher and kex ordering out of the box. Explicit lists become a liability — they prevent picking up improved defaults on upgrade.
* refactor: strip commented-default bloat from configsLibravatar sommerfeld28 hours4-1389/+2
| | | | | | | | Remove ~1400 lines of commented defaults that duplicate manpage docs: - aerc.conf: 602 → 32 lines - ipython_config.py: 625 → 5 lines - MangoHud.conf: 118 → 10 lines - gamemode.ini: 97 → 7 lines
* refactor: remove dead code and defunct settingsLibravatar sommerfeld28 hours7-19/+4
| | | | | | | | | | | | | | - streamlink: remove twitch-disable-hosting (removed 2022) and twitch-disable-ads (dropped by streamlink) - .zprofile: remove dead FZF_TMUX tmux check, GTK2_RC_FILES export (gtk-2.0 dir deleted), update qt5ct → qt6ct - gtk-3.0/settings.ini: remove 4 GTK2-only settings (toolbar-style, toolbar-icon-size, button-images, menu-images) - gtk-3.0/gtk.css: fix GTK2 selectors (GtkLabel→headerbar, GtkWindow→window), remove Nautilus rule (not used on sway) - npm/npmrc: remove init-module pointing to nonexistent file - mpv.conf: remove load-stats-overlay=no (references nonexistent script) - aerc.conf: change styleset nord → gruvbox for consistency
* fix: correct bugs across multiple config filesLibravatar sommerfeld28 hours5-8/+4
| | | | | | | | | - zathurarc: fix broken synctex command (missing quote, wrong placeholders) and remove duplicate window-title-basename line - makepkg.conf: remove typo'd pzip/pzip2 duplicate COMPRESSGZ/BZ2 lines - cargo/config: fix placeholder mold path to -fuse-ld=mold - linkhandler: fix typo *.JGP → *.JPG - mpv.conf: update deprecated profile=gpu-hq → profile=high-quality
* fix: modernize SSH config algorithmsLibravatar sommerfeld28 hours1-3/+2
| | | | | | | - Remove deprecated ssh-rsa and ssh-rsa-cert from HostKeyAlgorithms (SHA-1 based, disabled by default in OpenSSH 8.8+) - Add curve25519-sha256 (standardized name) before @libssh.org variant - Remove commented-out MACs line (dead code)
* chore: remove stale and outdated configuration filesLibravatar sommerfeld28 hours25-1955/+0
| | | | | | | | | | | | | | | | Delete 17 items confirmed unused/superseded: - pulse/ (4 files): PulseAudio configs, superseded by PipeWire - pipewire/media-session.d/: deprecated, superseded by WirePlumber - neofetch/config.conf: neofetch is abandoned/archived - .urlview: mutt-era URL viewer config - nvim ftplugin xdefaults.lua, xmodmap.lua: X11-only (xrdb/xmodmap) - Steam CS:GO + L4D2 configs: CS:GO replaced by CS2, L4D2 untracked - fakecam/ + service: abandoned virtual webcam project - noisetorch.service: project abandoned, PipeWire has built-in noise cancellation - gtk-2.0/: GTK2 is legacy - spotifyd.service.d/: no longer using spotifyd - htop/htoprc: auto-generated, not worth tracking - cookiefire, terminal-benchmark, terminal-testdrive, stop, videowrapper: unused scripts
* fix: revert TERM hack for yazi in zellijLibravatar sommerfeld28 hours1-6/+2
| | | | | | | | Überzug++ Wayland overlay coordinates are wrong inside zellij panes, so the TERM=xterm-kitty workaround doesn't actually produce image previews. Image previews work natively outside zellij; inside zellij all image paths are broken until zellij adds Kitty graphics passthrough (zellij#775).
* feat: force ueberzug++ for yazi image previews inside zellijLibravatar sommerfeld28 hours1-2/+6
|
* feat: replace lf with yazi file managerLibravatar sommerfeld28 hours4-113/+23
| | | | | | | | - Create minimal yazi.toml: show_hidden, scrolloff=10, mtime linemode - Create keymap.toml: shell access (!), bookmark dirs (g r/./x/s/S) - Add y() shell wrapper for cd-on-exit to zshrc - Add yazi section to KEYBINDS.md - Remove old lf config
* fix: remove non-working Alt+m ToggleMouseMode zellij keybindLibravatar sommerfeld28 hours1-3/+0
|
* feat: add Ctrl+Shift+u to copy URL under cursor in ghosttyLibravatar sommerfeld28 hours1-0/+3
|
* feat: add Alt+m to toggle mouse mode in zellijLibravatar sommerfeld28 hours1-0/+3
|
* feat: enable bell urgency hints in ghosttyLibravatar sommerfeld28 hours1-0/+3
|
* feat: list PATH executables in fuzzel and set terminalLibravatar sommerfeld28 hours1-0/+2
|
* chore: remove all X11/Xorg configs and referencesLibravatar sommerfeld28 hours18-1273/+6
| | | | | | | | | | | | | | | Removed: - home/.config/{X11,bspwm,sxhkd,polybar,rofi,dunst,sxiv,sx,alacritty} - meta/{x-base,x-de,x-extra} metapackages - barscripts/ (polybar GPU scripts) - nvim sxhkdrc ftplugin and treesitter parser Updated: - mimeapps.list: sxiv → imv - ghostty config: bspwm → sway comment - .zshrc: alacritty → xterm-ghostty in TERM check - .zprofile: removed bspwm from comment - copilot-instructions.md: removed X11 references
* fix: simplify display toggle to laptop-off/side-by-sideLibravatar sommerfeld28 hours2-28/+4
| | | | | | | - Added --no-repeat to F7 binding (key repeat was firing script twice) - Dropped broken mirror mode (sway has no native mirroring support) - Removed wl-mirror dependency - F7 now toggles between laptop-off and side-by-side
* fix: remove set -e that broke display-toggleLibravatar sommerfeld28 hours1-23/+9
| | | | | | swaymsg returns non-zero for benign operations (e.g. output already enabled), causing set -e to abort the script before reaching the disable command. Added || true guards instead.
* fix: add logging and robustness to display-toggleLibravatar sommerfeld28 hours2-6/+25
| | | | | | Added logging to $XDG_RUNTIME_DIR/display-toggle.log for debugging. Single swaymsg call for output detection, proper error handling, increased startup delay to 2s.
* fix: focus workspace 1 after laptop-off switchLibravatar sommerfeld28 hours1-0/+1
| | | | | | Sway assigns workspace 1 to laptop, 2 to external on boot. When laptop gets disabled, focus stays on workspace 2. Now explicitly switches to workspace 1 after disabling laptop output.
* fix: fuzzel width and default display modeLibravatar sommerfeld28 hours2-6/+6
| | | | | | fuzzel width is in characters, not pixels — 600 was absurdly wide. Changed default display mode to laptop-off when external connected. Cycle order: laptop-off → side-by-side → mirror → laptop-off.
* fix: use wl-mirror for true display mirroringLibravatar sommerfeld28 hours2-17/+42
| | | | | | | | | The pos 0 0 hack created two independent overlapping outputs, causing workspace duplication and fuzzel rendering across wrong boundaries. Now uses wl-mirror to properly duplicate laptop screen to external display. Script runs at startup (with 'init' arg) and cycles on F7. Added wl-mirror to metapackage, fullscreen window rule for wl-mirror.
* fix: default to mirror mode on multi-monitor startupLibravatar sommerfeld28 hours1-0/+1
| | | | | Place all outputs at pos 0 0 so sway starts in mirror layout instead of side-by-side when external monitor is connected.
* refactor: migrate image viewers from sxiv/feh to imvLibravatar sommerfeld28 hours2-2/+2
| | | | | - linkhandler: sxiv → imv for image display - wqr: feh → imv for QR display, SVG → PNG output for stdin compat
* refactor: migrate screen recorder from x11grab to wf-recorderLibravatar sommerfeld28 hours1-2/+1
| | | | | - Replace ffmpeg x11grab with wf-recorder for Wayland - wf-recorder auto-detects output and uses pipewire
* refactor: migrate clipboard scripts from xclip to wl-clipboardLibravatar sommerfeld28 hours6-6/+7
| | | | | - linkhandler, videowrapper, togreta, tokodi, wqr: xclip -o → wl-paste - rqr: xclip -selection clipboard -f → wl-copy
* chore: remove X11-only scripts replaced by sway/waylandLibravatar sommerfeld28 hours6-232/+0
| | | | | | | | | - input-setup: replaced by sway input blocks - display-setup: replaced by sway output config + display-toggle.sh - launch-polybar: replaced by waybar - locknpause: replaced by swaylock - vibe: removed (xclip + xdotool, no wayland use case) - automute: removed (xdotool focus tracking, no wayland use case)
* refactor: update nvim autocmds for sway/waybar/makoLibravatar sommerfeld28 hours1-9/+9
| | | | | - Replace bspwm/polybar/dunst auto-restart with sway/waybar/mako - Use SIGUSR2 for waybar reload, swaymsg reload for sway
* refactor: update shell config for waylandLibravatar sommerfeld28 hours2-24/+9
| | | | | | | | | - Remove X11 env vars (SXHKD_SHELL, GDK_DISPLAY, vblank_mode) - Remove X11 XDG cleanup vars (XAUTHORITY, XINITRC, etc.) - Add XDG_CURRENT_DESKTOP=sway, MOZ_ENABLE_WAYLAND=1 - Export XDG_SESSION_TYPE=wayland before launching sway - Auto-start sway on VT1 (replaces sx) - Remove xclip alias and whichkey function from .zshrc
* feat: add fuzzel application launcher configLibravatar sommerfeld28 hours1-0/+18
| | | | | | - Gruvbox dark theme, mono font - Proper [colors] and [border] sections - Replaces rofi for Wayland
* feat: add mako notification daemon configLibravatar sommerfeld28 hours1-0/+21
| | | | | - Gruvbox dark theme with urgency-based colors - Replaces dunst for Wayland
* feat: add waybar status bar configLibravatar sommerfeld28 hours2-0/+138
| | | | | - Gruvbox dark themed bar replacing polybar - Modules: workspaces, cpu, memory, temperature, network, battery, pulseaudio, clock, tray
* feat: add sway wayland compositor configLibravatar sommerfeld28 hours2-0/+194
| | | | | | | | | - Full sway config with vanilla defaults + personal keybinds - Gruvbox dark theme, pixel borders, caps:escape, vim navigation - Window rules (feh/imv floating via class/app_id) - Session env import for systemd/dbus portals - Display mode toggle script (F7): mirror/laptop-off/side-by-side - Dynamic output positioning based on laptop panel width
* feat: add Ctrl-F to accept Copilot NES in insert modeLibravatar sommerfeld28 hours1-0/+11
|
* feat: emit OSC 7 CWD for zellij pane/tab inheritanceLibravatar sommerfeld28 hours1-0/+7
|
* chore: commit nvim pack lockfile with plugin revisionsLibravatar sommerfeld28 hours1-1/+220
|
* refactor: audit and fix neovim keybindsLibravatar sommerfeld28 hours4-36/+30
| | | | | | | | | | | | - fix visual p register clobbering: use "_dP black-hole pattern - remove ; -> : mapping: restore native repeat-find motion - remove <C-a>/<C-e> -> ^/$ emacs mappings: anti-vim-philosophy - map dial.nvim to <C-a>/<C-x>/g<C-a>/g<C-x> (standard increment keys) - remove redundant <leader>oq diagnostic loclist (covered by <leader>tl) - collapse <leader>{,v,x,t}D type-def onto g{v,x,t}t pattern (0.12 grt) - move <leader>oc/<leader>ic calls to <leader>co/<leader>ci (Code group) - add gvr/gxr/gtr for references in splits - remove empty <leader>s and <leader>d which-key group declarations
* fix: replace deprecated codelens.refresh with codelens.enableLibravatar sommerfeld28 hours1-11/+1
| | | | | | vim.lsp.codelens.refresh({ bufnr }) is deprecated in 0.12. Use vim.lsp.codelens.enable(true, { bufnr }) which handles the autocmds internally.
* feat: add Alt+q keybind to detach from zellijLibravatar sommerfeld28 hours1-0/+3
|
* chore: set ghostty as default terminalLibravatar sommerfeld28 hours1-1/+1
|
* feat: set block blinking cursor in ghosttyLibravatar sommerfeld28 hours1-0/+5
|
* feat: add minimal ghostty terminal configLibravatar sommerfeld28 hours1-0/+26
| | | | | | | | | | | | | | | Minimal Ghostty config for use with zellij multiplexer: - Gruvbox Dark theme (built-in) - No window decorations (bspwm manages windows) - OSC 52 clipboard-read allowed (for zellij clipboard sync) - All built-in tab/split keybinds unbound (zellij handles this) - Scroll keybinds matching alacritty setup (Alt+U/D/G/Shift+G) - Font inherited from fontconfig monospace alias (Fira Code) Removed all redundant-with-defaults options: mouse-hide-while-typing, copy-on-select, clipboard-write, cursor-style-blink, scrollback-limit, gtk-titlebar, gtk-tabs-location, window-save-state (macOS-only)
* fix: restore WINIT_X11_SCALE_FACTOR for correct font scalingLibravatar sommerfeld28 hours1-0/+3
| | | | | Without this override, fonts render disproportionately large on X11 due to DPI auto-detection.