Stop tracking fiction, and stop carrying 80 MiB of wallpaper per clone
Three things were in history that should not have been, all invisible to the tool that deploys them: - `home/dank/.omp/dotfiles/**` — 3 files re-hosting `niri/cfg/autostart.kdl`, `niri/cfg/keybinds.kdl` and `systemd-user/…/swayidle-lock.service` under a prefix `scripts/deploy.sh` never reads (it walks `dotfiles/<pkg>/`). The live package is deployed and symlinked, so the copy asserted nothing; it only misled. Moved to `.AGENTTRASH/20261020-tracked-debt/`. - `.pre-pull-backup/**` — 2 managed-skill files, a local backup in history, which `.gitignore` itself declares must stay on disk only. Same destination. - `dotfiles/noctalia/.local/share/noctalia/wallpapers/` — 23 images, 80.4 MiB. Untracked, files left in place: `~/.local/share/noctalia/wallpapers` symlinks into this directory and the theme reads it, so deleting them would have gone black. Every filename carries its wallhaven ID, so a fresh box restores the set with one `curl` per file plus `deploy.sh`; losing the set is an acceptable outcome, 80 MiB per clone forever is not. New page `omp-docs/tools/dotfiles-deploy.md` owns the deploy contract (the `--check`/sync/`--adopt` modes, `zz-$(hostname)` override semantics, the dconf and systemd-user special cases) because nothing documented it, plus two laws: media the pipeline consumes is content not config, and `systemctl --user enable` snapshots an absolute path — so enabling from a worktree means the seven-day reap silently kills the unit while `is-enabled` keeps answering `enabled`. That second law is not theoretical: `default.target.wants/blankpad-desk-autoswitch.service` pointed into the reaped `wt/de-redesign-20261009` and desk auto-switching had been off since. It is relinked to `dotfiles/zz-blankpad/` and left inactive rather than started mid- session; starting it applies a desk profile. Refs #40
This commit is contained in:
1 parent
04f93133fc
commit
411b32ff59
31 files changed
+99
-294
No files matched your search
@@ -1,4 +0,0 @@
|
||||
// ────────────── Startup Applications ──────────────
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#spawn-sh-at-startup
|
||||
|
||||
spawn-at-startup "noctalia"
|
||||
@@ -1,142 +0,0 @@
|
||||
binds {
|
||||
|
||||
// ────────────── Keybindings ──────────────
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Key-Bindings
|
||||
|
||||
// ─── noctalia-shell keybinds ───
|
||||
// https://docs.noctalia.dev/getting-started/keybinds/
|
||||
|
||||
Mod+Shift+Escape { show-hotkey-overlay; }
|
||||
|
||||
// ─── Applications ───
|
||||
Mod+Return hotkey-overlay-title="Open Terminal: Ghostty" { spawn "ghostty"; }
|
||||
Mod+CTRL+Return hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "noctalia msg panel-toggle launcher"; }
|
||||
Mod+B hotkey-overlay-title="Open Browser: firefox" { spawn "firefox"; }
|
||||
Mod+ALT+L hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "noctalia msg session lock"; }
|
||||
Mod+Shift+Q hotkey-overlay-title="Session Menu: noctalia session" { spawn-sh "noctalia msg panel-toggle session"; }
|
||||
|
||||
// Please choose your own file manager.
|
||||
Mod+E hotkey-overlay-title="File Manager: Nautilus" { spawn "nautilus"; }
|
||||
|
||||
// ─── Media Controls ───
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "noctalia msg volume-up"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "noctalia msg volume-down"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn-sh "noctalia msg volume-mute"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "noctalia msg mic-mute"; }
|
||||
XF86AudioNext allow-when-locked=true { spawn-sh "noctalia msg media next"; }
|
||||
XF86AudioPrev allow-when-locked=true { spawn-sh "noctalia msg media previous"; }
|
||||
XF86AudioPlay allow-when-locked=true { spawn-sh "noctalia msg media playPause"; }
|
||||
XF86AudioPause allow-when-locked=true { spawn-sh "noctalia msg media playPause"; }
|
||||
|
||||
// ─── Brightness Controls ───
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn-sh "noctalia msg brightness-up"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn-sh "noctalia msg brightness-down"; }
|
||||
|
||||
// ─── Window Movement and Focus ───
|
||||
Mod+Q { close-window; }
|
||||
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+L { focus-column-right; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+Down { focus-window-down; }
|
||||
Mod+J { focus-window-down; }
|
||||
|
||||
// Win+Ctrl consume/expel windows to/from columns
|
||||
Mod+CTRL+Left { consume-or-expel-window-left; }
|
||||
Mod+CTRL+H { consume-or-expel-window-left; }
|
||||
Mod+CTRL+Right { consume-or-expel-window-right; }
|
||||
Mod+CTRL+L { consume-or-expel-window-right; }
|
||||
Mod+CTRL+UP { expel-window-from-column; }
|
||||
Mod+CTRL+K { expel-window-from-column; }
|
||||
Mod+CTRL+Down { expel-window-from-column; }
|
||||
Mod+CTRL+J { expel-window-from-column; }
|
||||
Mod+Home { focus-column-first; }
|
||||
Mod+End { focus-column-last; }
|
||||
Mod+CTRL+Home { move-column-to-first; }
|
||||
Mod+CTRL+End { move-column-to-last; }
|
||||
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
Mod+Shift+UP { focus-monitor-up; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
|
||||
Mod+Shift+CTRL+Left { move-column-to-monitor-left; }
|
||||
Mod+Shift+CTRL+Right { move-column-to-monitor-right; }
|
||||
Mod+Shift+CTRL+UP { move-column-to-monitor-up; }
|
||||
Mod+Shift+CTRL+Down { move-column-to-monitor-down; }
|
||||
|
||||
// ─── Workspace Switching ───
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+CTRL+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||
Mod+CTRL+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||
|
||||
Mod+WheelScrollRight { focus-column-right; }
|
||||
Mod+WheelScrollLeft { focus-column-left; }
|
||||
Mod+CTRL+WheelScrollRight { move-column-right; }
|
||||
Mod+CTRL+WheelScrollLeft { move-column-left; }
|
||||
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+CTRL+Shift+WheelScrollDown { move-column-right; }
|
||||
Mod+CTRL+Shift+WheelScrollUp { move-column-left; }
|
||||
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
|
||||
Mod+CTRL+1 { move-column-to-workspace 1; }
|
||||
Mod+CTRL+2 { move-column-to-workspace 2; }
|
||||
Mod+CTRL+3 { move-column-to-workspace 3; }
|
||||
Mod+CTRL+4 { move-column-to-workspace 4; }
|
||||
Mod+CTRL+5 { move-column-to-workspace 5; }
|
||||
Mod+CTRL+6 { move-column-to-workspace 6; }
|
||||
Mod+CTRL+7 { move-column-to-workspace 7; }
|
||||
Mod+CTRL+8 { move-column-to-workspace 8; }
|
||||
Mod+CTRL+9 { move-column-to-workspace 9; }
|
||||
|
||||
Mod+TAB { focus-workspace-previous; }
|
||||
|
||||
// ─── Layout Controls ───
|
||||
Mod+CTRL+F { expand-column-to-available-width; }
|
||||
Mod+C hotkey-overlay-title="Calculator" { spawn "gnome-calculator"; }
|
||||
Mod+CTRL+C { center-visible-columns; }
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Equal { set-column-width "+10%"; }
|
||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||
|
||||
// ─── Split / Consume / Expel ───
|
||||
Mod+Shift+H { consume-or-expel-window-left; }
|
||||
Mod+Shift+L { consume-or-expel-window-right; }
|
||||
Mod+Shift+J { expel-window-from-column; }
|
||||
|
||||
// ─── Modes ───
|
||||
Mod+T { toggle-window-floating; }
|
||||
Mod+F { fullscreen-window; }
|
||||
Mod+W { toggle-column-tabbed-display; }
|
||||
|
||||
// ─── Screenshots ───
|
||||
CTRL+Shift+1 hotkey-overlay-title="Screenshot: flameshot full" { spawn-sh "flameshot full"; }
|
||||
CTRL+Shift+2 hotkey-overlay-title="Screenshot: flameshot screen" { spawn-sh "flameshot screen"; }
|
||||
CTRL+Shift+3 hotkey-overlay-title="Screenshot: flameshot region" { spawn-sh "flameshot gui"; }
|
||||
|
||||
// ─── Emergency Escape Key ───
|
||||
// Use this when a fullscreen app blocks your keybinds.
|
||||
// It disables any active keyboard shortcut inhibitor, restoring control.
|
||||
Mod+ESCAPE allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
|
||||
// ─── Exit / Power ───
|
||||
CTRL+ALT+Delete { quit; } // Also quits Niri
|
||||
Mod+Shift+P { power-off-monitors; } // Turn off screens (useful for OLED or privacy)
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
[Unit]
|
||||
Description=swayidle idle lock (locks via noctalia-shell IPC, suspends on lid)
|
||||
Documentation=https://github.com/swaywm/swayidle
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
# Locks via the noctalia v5 shell; `noctalia msg` resolves the running instance
|
||||
# through the D-Bus session bus, so no WAYLAND_DISPLAY pinning is needed in unit context.
|
||||
# deploy.sh enables it only where the ExecStart binary resolves, so it stays inert until swayidle is installed.
|
||||
ExecStart=/usr/bin/swayidle -w \
|
||||
timeout 300 '/usr/bin/noctalia msg session lock' \
|
||||
before-sleep '/usr/bin/noctalia msg session lock' \
|
||||
after-resume '/usr/bin/noctalia msg session lock'
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Reference in new issue
Block a user