1e8b0d4ab0
Earlier ClaudeCode sessions had wired a `~/.zshrc.d/*.zsh` snippet loop plus a `~/.zshrc.local` fallback into defaults/shell/zshrc and made post-install.sh create the directory unconditionally — neither is a zsh convention nor documented anywhere. Remove both, simplify post-install to write only `source /etc/zsh/zshrc.moonarch`, drop stale rustup next-step hint, drop dead `confirm()` in lib.sh (orphan since transform.sh deletion 2026-04-21). moonarch-doctor: replace useless existence checks (zshrc.moonarch, /usr/share/moonarch/) with real signal. User-service and helper-script lists now derive from `pacman -Qql moonarch-git` (drift-proof) plus an explicit list of post-install-enabled externals (currently `stasis`). New udev-effectiveness check for charge_control_end_threshold — verifies group=wheel + group-writable, surfaces broken rules instead of staying silent. Translate two German ABOUTME comments (moonarch-waybar-cpugov, moonarch-waybar-gpustat) to English for consistency.
34 lines
1.4 KiB
Bash
Executable File
34 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/bash
|
|
# ABOUTME: Waybar module that outputs GPU utilization as JSON.
|
|
# ABOUTME: Referenced by the Waybar custom/gpu-usage config.
|
|
|
|
GPU_STAT=$(cat /sys/class/hwmon/hwmon*/device/gpu_busy_percent 2>/dev/null | head -1 || echo "0")
|
|
GPU_STAT="${GPU_STAT:-0}"
|
|
ICON="<span color='#69ff94' size='8pt' rise='1.5pt'>▁</span>"
|
|
|
|
if [ "$GPU_STAT" -lt 10 ]; then
|
|
ICON="<span color='#69ff94' size='8pt' rise='1.5pt'>▁</span>"
|
|
elif [ "$GPU_STAT" -lt 20 ]; then
|
|
ICON="<span color='#2aa9ff' size='8pt' rise='1.5pt'>▂</span>"
|
|
elif [ "$GPU_STAT" -lt 40 ]; then
|
|
ICON="<span color='#f8f8f2' size='8pt' rise='1.5pt'>▃</span>"
|
|
elif [ "$GPU_STAT" -lt 50 ]; then
|
|
ICON="<span color='#f8f8f2' size='8pt' rise='1.5pt'>▄</span>"
|
|
elif [ "$GPU_STAT" -lt 60 ]; then
|
|
ICON="<span color='#ffffa5' size='8pt' rise='1.5pt'>▅</span>"
|
|
elif [ "$GPU_STAT" -lt 70 ]; then
|
|
ICON="<span color='#ffffa5' size='8pt' rise='1.5pt'>▆</span>"
|
|
elif [ "$GPU_STAT" -lt 80 ]; then
|
|
ICON="<span color='#ff9977' size='8pt' rise='1.5pt'>▇</span>"
|
|
elif [ "$GPU_STAT" -lt 100 ]; then
|
|
ICON="<span color='#dd532e' size='8pt' rise='1.5pt'>█</span>"
|
|
fi
|
|
|
|
jq --unbuffered --compact-output -n \
|
|
--arg text "GPU $ICON" \
|
|
--arg alt "GPU $ICON $GPU_STAT%" \
|
|
--arg tooltip "GPU $ICON $GPU_STAT%" \
|
|
--arg class "gpustat" \
|
|
--argjson percentage "$GPU_STAT" \
|
|
'{text: $text, alt: $alt, tooltip: $tooltip, class: $class, percentage: $percentage}'
|