From 24d832de3ad0bf749fd63fc5239a57371b2fdc3e Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Fri, 5 Jun 2026 11:05:58 +0100 Subject: fix(systemd,scripts): unhardcode /usr/bin paths for nix-migrated tools The chezmoi-owned user units and ~/.local/bin wrapper scripts called the migrated tools by absolute /usr/bin/ path. After the move to nix, those binaries live under ~/.nix-profile/bin (no /usr/bin alias). systemd user units: drop the /usr/bin/ prefix on cliphist-{text,image} (wl-paste), inhibridge, swayidle, swayrd, waybar, and the inner wob in wob.service (outer /usr/bin/sh stays, sh is system). systemd resolves bare names through the unit's inherited PATH, which includes ~/.nix-profile/bin via hm-session-vars. dictate: default_model now points at ~/.nix-profile/share/whisper-cpp-models/ggml-base.bin (overridable via $WHISPER_MODEL). Header rewritten to mention nix instead of AUR. yt-dlp / streamlink wrappers: pass $HOME/.nix-profile/bin/ to _sandbox-net-parser so the bwrap-sandboxed binary is resolved explicitly (the wrappers shadow PATH lookup inside their own ~/.local/bin so re-entry would loop). --- dot_local/bin/executable_dictate | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'dot_local/bin/executable_dictate') diff --git a/dot_local/bin/executable_dictate b/dot_local/bin/executable_dictate index dbf89b6..bf1157c 100644 --- a/dot_local/bin/executable_dictate +++ b/dot_local/bin/executable_dictate @@ -3,8 +3,9 @@ # 2nd stops, transcribes via whisper.cpp, types the result into the focused # window with wtype, and copies it to the clipboard. # -# Pacman: pipewire-pulse (parecord), wtype, wl-clipboard, libnotify -# AUR: whisper.cpp, whisper.cpp-model-large-v3-turbo-q5_0 +# Pacman: pipewire-pulse (parecord), libnotify +# Nix: whisper-cpp (+ vulkan), whisper-cpp-model-base, wtype, wl-clipboard +# (see nix/host.nix) # # Override via env: # WHISPER_MODEL path to a ggml-*.bin model @@ -16,7 +17,7 @@ state_dir="${XDG_RUNTIME_DIR:-/tmp}/dictate" pid_file="$state_dir/pid" wav_file="$state_dir/audio.wav" log_file="$state_dir/whisper.log" -default_model='/usr/share/whisper.cpp-model-base/ggml-base.bin' +default_model="$HOME/.nix-profile/share/whisper-cpp-models/ggml-base.bin" model="${WHISPER_MODEL:-$default_model}" lang="${WHISPER_LANG:-auto}" @@ -29,12 +30,12 @@ is_recording() { start_recording() { if ! command -v whisper-cli >/dev/null; then notify-send -u critical "🎙️ dictate" \ - "whisper-cli not found. Install whisper.cpp (AUR)." + "whisper-cli not found. Run 'just nix-switch' (host profile)." exit 1 fi if [ ! -r "$model" ]; then notify-send -u critical "🎙️ dictate" \ - "Model missing: $model. Install whisper.cpp-model-base (AUR)." + "Model missing: $model. Run 'just nix-switch' (host profile)." exit 1 fi rm -f "$wav_file" -- cgit v1.3.1