7 Commits

Author SHA1 Message Date
9dc0ad475e feat: add per-host hyprland config directory
- Add hosts/ directory with per-machine override files
- lazyworkhorse.conf: empty (main config already covers it)
- uconsole-cm5.conf: uConsole-specific overrides (monitor, mesa)
- Add source line to hyprland.conf for ~/.config/hypr/hosts/$HOST.conf
2026-06-14 17:22:06 -04:00
8e9204bc21 New scrip to live ocr screeshot to the clipboard 2026-06-08 16:14:26 -04:00
05a3a8546c Added better hermes-cp function to send folder 2026-06-08 16:14:05 -04:00
d23138ff2c Added a custom emacs agenda 2026-06-08 16:13:44 -04:00
af9fa42cd3 Merge pull request 'fix: add mocha.conf fallback for pywal colors' (#14) from fix/hyprland-color-fallback into master
Reviewed-on: #14
2026-06-08 20:08:03 +00:00
7220066149 fix: remove $schema key from yazi.toml
Yazi's newer TOML parser requires kebab-case key names.
$schema starts with a non-letter character, causing:
  TOML parse error at line 3: must be a kebab-cased string
2026-06-08 16:06:13 -04:00
a7e18db821 fix: add mocha.conf fallback for pywal colors
Add source = mocha.conf before pywal's colors-hyprland.conf so
Catppuccin Mocha colors always load as defaults. Also define
$color1, $color2, $color3, and $background in mocha.conf as
fallbacks for when pywal hasn't generated its color file.

Fixes two Hyprland errors:
- 'source= globbing error: found no match' when pywal file missing
- 'failed to parse $color2 as a color' gradient parsing error
2026-06-08 16:00:30 -04:00
12 changed files with 96 additions and 39 deletions

View File

@@ -496,6 +496,19 @@ change ~org-directory~. It must be set before org loads!
((org-agenda-tag-filter-preset '("+BA_ON_SITE")))
)
("wA" "Projet Airbus Vision"
((agenda ""
((org-agenda-span 150)
(org-agenda-start-day "2026-05-01")
(org-agenda-overriding-header "📅 Projet Airbus Vision")
(org-agenda-prefix-format " %12t") ;; reserve time space
(org-agenda-todo-keyword-format " %-5s") ;; fixed-width TODO
(org-agenda-tags-column -100) ;; right-align tags
(org-agenda-time-grid nil)
)))
((org-agenda-tag-filter-preset '("+airbus")))
)
)
)
)

View File

@@ -367,6 +367,19 @@
((org-agenda-tag-filter-preset '("+BA_ON_SITE")))
)
("wA" "Projet Airbus Vision"
((agenda ""
((org-agenda-span 150)
(org-agenda-start-day "2026-05-01")
(org-agenda-overriding-header "📅 Projet Airbus Vision")
(org-agenda-prefix-format " %12t") ;; reserve time space
(org-agenda-todo-keyword-format " %-5s") ;; fixed-width TODO
(org-agenda-tags-column -100) ;; right-align tags
(org-agenda-time-grid nil)
)))
((org-agenda-tag-filter-preset '("+airbus")))
)
)
)
)

View File

@@ -0,0 +1,3 @@
# Per-host overrides for lazyworkhorse (nixos-laptop)
# The main hyprland.conf already covers this machine.
# Add any lazyworkhorse-specific overrides here.

View File

@@ -0,0 +1,26 @@
# Per-host overrides for uconsole-cm5 (Raspberry Pi CM5)
# This file is sourced from the main hyprland.conf.
# Override monitor, env, and input settings specific to the uConsole here.
#
# Recommended overrides:
#
# Monitor (single 720×1280 portrait display):
# monitor = DSI-1, 720x1280, 0x0, 1
#
# No nvidia on this machine — remove nvidia env vars:
# env = LIBVA_DRIVER_NAME,mesa
# env = __GLX_VENDOR_LIBRARY_NAME,mesa
# env = GBM_BACKEND,
#
# uConsole keyboard (compact layout):
# kb_layout = us
#
# Smaller cursor on small screen:
# env = XCURSOR_SIZE,16
# env = HYPRCURSOR_SIZE,16
monitor = DSI-1, 720x1280, 0x0, 1
env = LIBVA_DRIVER_NAME,mesa
env = __GLX_VENDOR_LIBRARY_NAME,mesa
env = WLR_NO_HARDWARE_CURSOR,0

6
hypr/.config/hypr/hyprland.conf Normal file → Executable file
View File

@@ -8,6 +8,7 @@
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
source = mocha.conf
source = ~/.cache/wal/colors-hyprland.conf
################
@@ -422,3 +423,8 @@ bind = $mainMod, grave, exec, kitty --class btop btop
bind = $mainMod, grave, exec, kitty --class ncspot ncspot
bind = $mainMod, grave, exec, kitty --class ncpamixer ncpamixer
bind = $mainMod, grave, exec, kitty --class bluetuith bluetuith
# Per-host overrides (monitor, env, input)
# Each machine has its own override file in this directory.
# Create a file named after $HOST (e.g., lazyworkhorse.conf, uconsole-cm5.conf)
source = ~/.config/hypr/hosts/$HOST.conf

8
hypr/.config/hypr/mocha.conf Normal file → Executable file
View File

@@ -76,3 +76,11 @@ $mantleAlpha = 181825
$crust = rgb(11111b)
$crustAlpha = 11111b
# Fallback colors for when pywal hasn't generated colors-hyprland.conf
# (sourced by hyprland.conf — $color1/$color2 for active border gradients,
# $background for inactive border and general bg usage)
$color1 = rgb(cba6f7)
$color2 = rgb(f5c2e7)
$color3 = rgb(89b4fa)
$background = rgb(1e1e2e)

16
scripts/scrot-ocr.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
scrot-ocr: Select screen region → OCR → clipboard
Deps: grim, slurp, tesseract, wl-clipboard, libnotify
set -euo pipefail
LANG="${1:-eng}"
IMG="/tmp/scrot-ocr-$(date +%s).png"
grim -g "$(slurp -d)" "$IMG"
TEXT=$(tesseract "$IMG" stdout -l "$LANG" 2>/dev/null | sed '/^[[:space:]]*$/d')
echo -n "$TEXT" | wl-copy --paste-once
echo "$TEXT"
notify-send "scrot-ocr" "$(echo "$TEXT" | wc -l) lines copied to clipboard" -t 3000
rm -f "$IMG"

View File

@@ -25,7 +25,6 @@
"modules-right": [
"group/hardware",
"custom/disk-monitor",
"pulseaudio",
"bluetooth",
"network",

View File

@@ -89,13 +89,6 @@
"on-click": "kitty btop"
},
// disk monitor (standalone, color-coded)
"custom/disk-monitor": {
"exec": "$HOME/.config/waybar/scripts/disk-monitor.sh --waybar",
"return-type": "json",
"interval": 60
},
// memory
"memory": {
"format": "  {}% ",

View File

@@ -1,29 +0,0 @@
#!/usr/bin/env bash
# disk-monitor.sh -- Waybar disk usage monitor
# Outputs JSON for custom/disk-monitor module
# Class: "good" (<80%), "warning" (80-90%), "critical" (>90%)
set -euo pipefail
# Target partition (default: root)
TARGET="${1:-/}"
# Get disk usage percentage (strip % sign)
USAGE=$(df --output=pcent "$TARGET" | tail -1 | tr -d '% ')
# Determine icon and CSS class based on usage thresholds
if [ "$USAGE" -ge 90 ]; then
CLASS="critical"
TOOLTIP="Disk $TARGET at ${USAGE}% - CRITICAL"
elif [ "$USAGE" -ge 80 ]; then
CLASS="warning"
TOOLTIP="Disk $TARGET at ${USAGE}% - Warning"
else
CLASS="good"
TOOLTIP="Disk $TARGET at ${USAGE}%"
fi
# Output JSON for waybar
printf '{"text": " \uf4be %s%% ", "class": "%s", "alt": "%s", "tooltip": "%s"}\n' \
"$USAGE" "$CLASS" "disk-$CLASS" "$TOOLTIP"

View File

@@ -1,6 +1,5 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
[mgr]
ratio = [ 1, 4, 3 ]

View File

@@ -20,7 +20,17 @@ alias emacs="emacsclient -c -a emacs"
alias oc="opencode"
# Hermes Agent - SSH directly to remote server
alias hermes="ssh -t lazyworkhorse 'docker exec -it hermes /opt/hermes/.venv/bin/hermes'"
hermes() {
if [[ -n "$1" ]]; then
ssh -t lazyworkhorse \
"docker exec -e HERMES_HONCHO_PEER_NAME=$1 -it hermes \
/opt/hermes/.venv/bin/hermes --profile $1"
else
ssh -t lazyworkhorse \
"docker exec -e HERMES_HONCHO_PEER_NAME=thierry -it hermes \
/opt/hermes/.venv/bin/hermes"
fi
}
hermes-cp() {
if [ $# -eq 0 ]; then