[Sync] replace the flat layout with the unified stow tree

Supersedes the old flat .config/ layout (last published 2026-06-28) with the
private repo's structure: one shared base plus per-host overlays.

- packages: common/ gui/ lw/ fl/ wm/ plus install.sh and bin/ tooling
  (dotsync, reconcile-hyde.sh)
- new README covering the layout, deploy order and the HyDE dependency
- current HyDE waybar rig (layouts/, cava), pi agent extensions, claude/
  config, tmux, presenterm, aichat roles
- fish: kp (keepassxc-cli + fzf picker, db path from $KP_DB) and
  bind_M_n_history (alt+1..9 recalls the nth history entry)
- drops cruft that should never have been tracked: the duplicate top-level
  .pi/ copy, btop.log, zellij config.kdl.bak, fish_variables
- .pi/agent/auth.json is gitignored; auth.json.example ships instead

Host-specific work sessions and the personal backlog stay in the private
tree. Endpoint locators in the llamacpp/whisper guides are placeholders
($SERVER, <own-domain>) — the guides themselves stay, since they are the
useful part.
This commit is contained in:
coja
2026-08-13 02:53:06 +02:00
parent f62cb40499
commit 1e39e0cb4b
314 changed files with 12306 additions and 10772 deletions
+207
View File
@@ -0,0 +1,207 @@
* {
border: none;
border-radius: 0px;
font-family: "JetBrainsMono Nerd Font";
font-weight: bold;
font-size: 10px;
min-height: 10px;
}
@import "../theme.css"; /* HyDE/wallbash-generated colors, lives one level up */
window#waybar {
/* transparent so the cavabar (bottom layer, same region) shows through; module pills keep @main-bg */
background: transparent;
}
tooltip {
background: @main-bg;
color: @main-fg;
border-radius: 5px;
border-width: 0px;
}
#workspaces {
border-radius: 8px;
}
#custom-padd {
padding-left: 5px;
padding-right: 5px;
}
#workspaces button {
box-shadow: none;
text-shadow: none;
padding: 0px;
border-radius: 5px;
margin-top: 3px;
margin-bottom: 3px;
margin-left: 0px;
padding-left: 3px;
padding-right: 3px;
margin-right: 0px;
color: @main-fg;
animation: ws_normal 20s ease-in-out 1;
}
#workspaces button.active {
background: @wb-act-bg;
color: @wb-act-fg;
animation: ws_active 20s ease-in-out 1;
transition: all 0.4s cubic-bezier(0.55, -0.68, 0.48, 1.682);
}
#workspaces button:hover {
background: @wb-hvr-bg;
color: @wb-hvr-fg;
animation: ws_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(0.55, -0.68, 0.48, 1.682);
}
#taskbar button {
box-shadow: none;
text-shadow: none;
padding: 0px;
border-radius: 6px;
margin-top: 3px;
margin-bottom: 3px;
margin-left: 0px;
padding-left: 3px;
padding-right: 3px;
margin-right: 0px;
color: @wb-color;
animation: tb_normal 20s ease-in-out 1;
}
#taskbar button.active {
background: @wb-act-bg;
color: @wb-act-color;
/*animation: tb_active 20s ease-in-out 1;*/
box-shadow: 0 0 1px 1px rgba(128, 128, 128, 0.4);
transition: all 0.4s cubic-bezier(0.55, -0.68, 0.48, 1.682);
}
#taskbar button:hover {
background: @wb-hvr-bg;
color: @wb-hvr-color;
opacity: 0.8;
animation: tb_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(0.55, -0.68, 0.48, 1.682);
}
#tray menu * {
min-height: 16px;
}
#tray menu separator {
min-height: 10px;
}
#backlight,
#battery,
#bluetooth,
#custom-cava,
#custom-cliphist,
#clock,
#custom-cpuinfo,
#cpu,
#custom-gpuinfo,
#idle_inhibitor,
#custom-keybindhint,
#language,
#memory,
#mpris,
#network,
#custom-notifications,
#custom-power,
#pulseaudio,
#custom-spotify,
#taskbar,
#custom-theme,
#tray,
#custom-updates,
#custom-wallchange,
#custom-wbar,
#window,
#workspaces,
#custom-l_end,
#custom-r_end,
#custom-sl_end,
#custom-sr_end,
#custom-rl_end,
#custom-rr_end {
color: @main-fg;
background: @main-bg;
opacity: 1;
margin: 4px 0px 4px 0px;
padding-left: 4px;
padding-right: 4px;
}
window#waybar.empty #window,
window#waybar.empty #custom-sl_end,
window#waybar.empty #custom-sr_end {
opacity: 0;
}
#workspaces {
padding-left: 5px;
padding-right: 5px;
}
#taskbar {
border-radius: 8px;
padding-left: 6px;
padding-right: 6px;
}
#custom-r_end {
border-radius: 0px 8px 8px 0px;
margin-right: 3px;
padding-right: 1px;
}
#custom-l_end {
border-radius: 8px 0px 0px 8px;
margin-left: 3px;
padding-left: 1px;
}
#custom-sr_end {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
margin-right: 9px;
padding-right: 3px;
}
#custom-sl_end {
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
margin-left: 9px;
padding-left: 3px;
}
#custom-rr_end {
border-radius: 0px 8px 8px 0px;
margin-right: 9px;
padding-right: 3px;
}
#custom-rl_end {
border-radius: 8px 0px 0px 8px;
margin-left: 9px;
padding-left: 3px;
}
window#waybar.cavabar {
background: transparent;
}
window#waybar.cavabar #custom-cava {
font-size: 24px;
color: alpha(@main-fg, 0.7);
background: rgba(0, 0, 0, 0.2);
margin: 0px;
padding: 0px;
}
+332
View File
@@ -0,0 +1,332 @@
// --// standalone two-bar cava rig — hand-maintained, NOT HyDE-generated (see README "Waybar") //-- //
[
{
// sourced from header module //
"layer": "top",
"position": "top",
"height": 33,
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"reload_style_on_change": true,
// positions generated based on config.ctl //
"modules-left": ["custom/l_end","custom/power","custom/r_end","hyprland/workspaces", "custom/sl_end","hyprland/window","custom/sr_end","custom/l_end","custom/wallchange","custom/cliphist","custom/r_end"],
"modules-center": ["wlr/taskbar"],
"modules-right": ["custom/l_end","backlight","pulseaudio","pulseaudio#microphone","mpris","custom/r_end","custom/l_end","memory","cpu","custom/cpuinfo","battery","custom/r_end","custom/l_end","tray","custom/r_end","custom/l_end","idle_inhibitor","clock","custom/r_end"],
// sourced from modules based on config.ctl //
"tray": {
"icon-size": 19,
"rotate": 0,
"spacing": 5
},
// NOTE: keep in sync with modules/window.jsonc — this layout is launched standalone
// (waybar -c), so the modules/ file is NOT read here; this inline copy is what renders.
"hyprland/window": {
"format": " {}",
"rotate": 0,
"separate-outputs": true,
"max-length": 1000,
"rewrite": {
"(.*) — Kitty": " $1",
"(.*)~": " $1",
"(.*) — Mozilla Firefox": "󰈹 $1",
"(.*)Mozilla Firefox": "󰈹 Firefox",
"(.*) — LibreWolf": "󰈹 $1",
"(.*)LibreWolf": "󰈹 LibreWolf",
"(.*) — Chromium": " $1",
"(.*)Chromium": " Chromium",
"(.*) - VSCodium": "󰨞 $1",
"(.*)VSCodium": "󰨞 VSCodium",
"(.*)Code - OSS": "󰨞 $1",
"(.*) - Visual Studio Code": "󰨞 $1",
"(.*)Visual Studio Code": "󰨞 Code",
"(.*) — Dolphin": "󰉋 $1",
"(.*) - Obsidian(.*)": "󰠮 $1",
"(.*)Ferdium": "󰭻 Ferdium",
"(.*)FreeTube": " FreeTube",
"(.*) - VLC media player": "󰕼 $1",
"(.*)Steam": "󰓓 Steam",
"(.*)Neovide": " Nvim",
"(.*)Neovim": " Nvim",
"(.*)Nvim": " Nvim",
"(.*)Gajim": "󰭹 Gajim",
"(.*)KeePassXC": " KeePassXC",
"(.*)Betterbird": "󰇮 Betterbird",
"(.*)Spotify": "󰓇 Spotify"
}
},
"hyprland/workspaces": {
"window-rewrite-default":"",
"all-outputs": true,
"active-only": false,
"on-click": "activate",
"disable-scroll": false,
"on-scroll-up": "hyprctl dispatch workspace -1",
"on-scroll-down": "hyprctl dispatch workspace +1",
"persistent-workspaces": {}
},
"cpu": {
"interval": 10,
"format": "󰍛 {usage}%",
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
},
"custom/cpuinfo": {
"exec": " cpuinfo.sh",
"return-type": "json",
"format": "{}",
"rotate": 0,
"interval": 5, // once every 5 seconds
"tooltip": true,
"max-length": 1000
},
"memory": {
"states": {
"c": 90, // critical
"h": 60, // high
"m": 30 // medium
},
"interval": 30,
"rotate": 0,
"format": "󰾆 {used:0.1f}GB",
"format-m": "󰾅 {used:0.1f}GB",
"format-h": "󰓅 {used:0.1f}GB",
"format-c": " {used:0.1f}GB",
"format-alt": "󰾆 {percentage}%",
"max-length": 10,
"tooltip": true,
"tooltip-format": "󰾆 {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
},
"custom/power": {
"format": "{}",
"rotate": 0,
"exec": "echo ; echo  logout",
"on-click": "logoutlaunch.sh 2",
"on-click-right": "logoutlaunch.sh 1",
"interval" : 86400, // once every day
"tooltip": true
},
"wlr/taskbar": {
"format": "{icon}",
"rotate": 0,
"icon-size": 19,
"icon-theme": "Tela-circle-dracula",
"spacing": 0,
"tooltip-format": "{title}",
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": [
"Alacritty"
],
"app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition"
}
},
"idle_inhibitor": {
"format": "{icon}",
"rotate": 0,
"format-icons": {
"activated": "󰅶",
"deactivated": "󰛊"
}
},
"clock": {
"format": "{:%H:%M}",
"rotate": 0,
"format-alt": "{:%R 󰃭 %d·%m·%y}",
"tooltip-format": "<span>{calendar}</span>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"on-scroll": 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b>{}</b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"custom/cliphist": {
"format": "{}",
"rotate": 0,
"exec": "echo ; echo 󰅇 clipboard history",
"on-click": "sleep 0.1 && cliphist.sh c",
"on-click-right": "sleep 0.1 && cliphist.sh d",
"on-click-middle": "sleep 0.1 && cliphist.sh w",
"interval" : 86400, // once every day
"tooltip": true
},
"custom/wallchange": {
"format": "{}",
"rotate": 0,
"exec": "echo ; echo 󰆊 switch wallpaper",
"on-click": "swwwallpaper.sh -n",
"on-click-right": "swwwallpaper.sh -p",
"on-click-middle": "sleep 0.1 && swwwallselect.sh",
"interval" : 86400, // once every day
"tooltip": true
},
"pulseaudio": {
"format": "{icon} {volume}",
"rotate": 0,
"format-muted": "婢",
"on-click": "pavucontrol -t 3",
"on-click-right": "volumecontrol.sh -s ''",
"on-click-middle": "volumecontrol.sh -o m",
"on-scroll-up": "volumecontrol.sh -o i",
"on-scroll-down": "volumecontrol.sh -o d",
"tooltip-format": "{icon} {desc} // {volume}%",
"scroll-step": 5,
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
}
},
"pulseaudio#microphone": {
"format": "{format_source}",
"rotate": 0,
"format-source": "",
"format-source-muted": "",
"on-click": "pavucontrol -t 4",
"on-click-middle": "volumecontrol.sh -i m",
"on-scroll-up": "volumecontrol.sh -i i",
"on-scroll-down": "volumecontrol.sh -i d",
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
"scroll-step": 5
},
"mpris": {
"format": "{player_icon} {dynamic}",
"rotate": 0,
"format-paused": "{status_icon} <i>{dynamic}</i>",
"player-icons": {
"default": "▶",
"mpv": "🎵"
},
"status-icons": {
"paused": ""
},
"max-length": 1000,
"interval": 1
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 20
},
"format": "{icon} {capacity}%",
"rotate": 0,
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{time} {icon}",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},
"backlight": {
"device": "intel_backlight",
"rotate": 0,
"format": "{icon} {percent}%",
"format-icons": ["", "", "", "", "", "", "", "", ""],
"on-scroll-up": "brightnessctl set 1%+",
"on-scroll-down": "brightnessctl set 1%-",
"min-length": 6
},
// modules for padding //
"custom/l_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/r_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/sl_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/sr_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/rl_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/rr_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/padd": {
"format": " ",
"interval" : "once",
"tooltip": false
}
},
// full-width cava visualizer layered behind the main bar //
{
"name": "cavabar",
"layer": "bottom",
"position": "top",
"height": 36,
"margin-top": -33,
"exclusive": false,
"passthrough": true,
"modules-center": ["custom/cava"],
"custom/cava": {
"format": "{}",
"exec": "bash $HOME/.config/waybar/cava-waybar.sh $(cat $HOME/.config/waybar/cava.width 2>/dev/null || echo 94)", // per-host cava.width (bars, even; ~screen_px / (font-size*0.6)). gui default 94; wm overrides to 218
"restart-interval": 1,
"hide-empty-text": true
}
}
]