summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
...
* refactor: fully modernize SSH configsommerfeld2026-04-171-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 configssommerfeld2026-04-174-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 settingssommerfeld2026-04-177-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 filessommerfeld2026-04-175-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 algorithmssommerfeld2026-04-171-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 old meta package artifactssommerfeld2026-04-1717-0/+0
| | | | | Delete 8 strisemarx-* packages (old username) and 9 old sommerfeld-* versions. Only the latest version of each package is retained.
* chore: remove stale and outdated configuration filessommerfeld2026-04-1725-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 zellijsommerfeld2026-04-171-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 zellijsommerfeld2026-04-171-2/+6
|
* feat: replace lf with yazi file managersommerfeld2026-04-175-113/+38
| | | | | | | | - 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 keybindsommerfeld2026-04-172-4/+0
|
* feat: add Ctrl+Shift+u to copy URL under cursor in ghosttysommerfeld2026-04-172-0/+4
|
* feat: add Alt+m to toggle mouse mode in zellijsommerfeld2026-04-172-0/+4
|
* feat: enable bell urgency hints in ghosttysommerfeld2026-04-171-0/+3
|
* feat: list PATH executables in fuzzel and set terminalsommerfeld2026-04-171-0/+2
|
* chore: remove all X11/Xorg configs and referencessommerfeld2026-04-1736-1410/+9
| | | | | | | | | | | | | | | 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-sidesommerfeld2026-04-174-30/+5
| | | | | | | - 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-togglesommerfeld2026-04-171-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-togglesommerfeld2026-04-172-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 switchsommerfeld2026-04-171-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 modesommerfeld2026-04-172-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 mirroringsommerfeld2026-04-173-17/+43
| | | | | | | | | 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 startupsommerfeld2026-04-171-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.
* feat: add wayland desktop metapackagesommerfeld2026-04-171-0/+59
| | | | | | Combines and replaces x-base, x-de, and x-extra metapackages. Includes sway, waybar, fuzzel, mako, swaylock, grim, slurp, wf-recorder, imv, wl-clipboard, ghostty, and desktop apps.
* refactor: migrate image viewers from sxiv/feh to imvsommerfeld2026-04-172-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-recordersommerfeld2026-04-171-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-clipboardsommerfeld2026-04-176-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/waylandsommerfeld2026-04-176-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)
* docs: update keybinds and copilot instructions for swaysommerfeld2026-04-172-12/+43
| | | | | | | - Add sway keybinds section to KEYBINDS.md - Update cross-tool conflict matrix with sway column - Add sway architecture to copilot instructions - Mark old X11 configs as legacy
* refactor: update nvim autocmds for sway/waybar/makosommerfeld2026-04-171-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 waylandsommerfeld2026-04-172-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 configsommerfeld2026-04-171-0/+18
| | | | | | - Gruvbox dark theme, mono font - Proper [colors] and [border] sections - Replaces rofi for Wayland
* feat: add mako notification daemon configsommerfeld2026-04-171-0/+21
| | | | | - Gruvbox dark theme with urgency-based colors - Replaces dunst for Wayland
* feat: add waybar status bar configsommerfeld2026-04-172-0/+138
| | | | | - Gruvbox dark themed bar replacing polybar - Modules: workspaces, cpu, memory, temperature, network, battery, pulseaudio, clock, tray
* feat: add sway wayland compositor configsommerfeld2026-04-172-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
* docs: add comprehensive keybinds reference and copilot update rulesommerfeld2026-04-172-0/+273
|
* feat: add Ctrl-F to accept Copilot NES in insert modesommerfeld2026-04-171-0/+11
|
* feat: emit OSC 7 CWD for zellij pane/tab inheritancesommerfeld2026-04-171-0/+7
|
* chore: commit nvim pack lockfile with plugin revisionssommerfeld2026-04-171-1/+220
|
* refactor: audit and fix neovim keybindssommerfeld2026-04-174-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.enablesommerfeld2026-04-171-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 zellijsommerfeld2026-04-171-0/+3
|
* chore: set ghostty as default terminalsommerfeld2026-04-171-1/+1
|
* feat: set block blinking cursor in ghosttysommerfeld2026-04-171-0/+5
|
* feat: add minimal ghostty terminal configsommerfeld2026-04-171-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 scalingsommerfeld2026-04-171-0/+3
| | | | | Without this override, fonts render disproportionately large on X11 due to DPI auto-detection.
* chore: clean up alacritty minor optionssommerfeld2026-04-171-4/+4
| | | | | | | - Enable live_config_reload (apply config changes without restart) - Remove WINIT_X11_SCALE_FACTOR env override (no longer needed) - Add terminal.osc52 = CopyPaste for full clipboard via OSC 52 (used by zellij for clipboard sync)
* fix: remap alacritty scroll bindings to avoid zellij conflictsommerfeld2026-04-171-4/+4
| | | | | | | | Alt+[/] for ScrollLineUp/Down conflicted with zellij's Alt+[/] GoToPreviousTab/GoToNextTab — alacritty intercepted them before zellij could see them. Remap to Ctrl+Shift+Up/Down which don't conflict.
* fix: restore dynamic tab number prefixsommerfeld2026-04-171-2/+3
| | | | | | | The compact bar does not show tab numbers on its own, so the prefix is needed. The index is queried dynamically via current-tab-info on each prompt. Inactive tabs may briefly show a stale number after a tab close but correct on focus.
* fix: drop tab number prefix from zellij tab namessommerfeld2026-04-171-3/+2
| | | | | | | The number prefix was redundant with zellij's compact bar which already shows tab numbers. Worse, inactive tabs showed stale numbers after tab closes since each shell can only update its own tab name on prompt. Now tabs show just dir or dir:cmd.