<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/dot_config/systemd/user/wob.service, branch master</title>
<subtitle>My linux config and rc files</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom/dot_config/systemd/user/wob.service?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom/dot_config/systemd/user/wob.service?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-06-05T10:06:02Z</updated>
<entry>
<title>Move more host tooling to Nix</title>
<updated>2026-06-05T10:06:02Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-06-05T10:06:02Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=b0e83e2ee3fc328e55119ee7c1f09ad7ed20a635'/>
<id>urn:sha1:b0e83e2ee3fc328e55119ee7c1f09ad7ed20a635</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(systemd): use absolute %h/.nix-profile/bin paths in user units</title>
<updated>2026-06-05T10:06:00Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-06-05T10:06:00Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=cd050f0bdfea14f031e4a671a366c77d4f62b19d'/>
<id>urn:sha1:cd050f0bdfea14f031e4a671a366c77d4f62b19d</id>
<content type='text'>
The previous environment.d fix was insufficient: even with the nix profile
on the --user manager's PATH (confirmed via `systemctl --user
show-environment`), bare-name ExecStart= still fails 203/EXEC. systemd's
--user manager does not resolve a bare ExecStart binary against the
imported/environment.d PATH.

Invoke each unit's main binary by absolute path %h/.nix-profile/bin/&lt;name&gt;
(waybar, swayidle, swayrd, inhibridge, wl-paste, wob). %h expands to $HOME
at unit load. Secondary lookups those binaries/scripts perform (cliphist,
swaymsg, playerctl) still rely on PATH, which environment.d provides — so
that file stays, with its comment corrected to reflect this split.
</content>
</entry>
<entry>
<title>fix(systemd,scripts): unhardcode /usr/bin paths for nix-migrated tools</title>
<updated>2026-06-05T10:05:58Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-06-05T10:05:58Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=24d832de3ad0bf749fd63fc5239a57371b2fdc3e'/>
<id>urn:sha1:24d832de3ad0bf749fd63fc5239a57371b2fdc3e</id>
<content type='text'>
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/&lt;tool&gt; 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).
</content>
</entry>
<entry>
<title>fix(wob): keep fifo writer open via tail -f</title>
<updated>2026-05-13T12:43:38Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:38Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=4b5d9fff2b42784c5c483de0f731d66f85954ba1'/>
<id>urn:sha1:4b5d9fff2b42784c5c483de0f731d66f85954ba1</id>
<content type='text'>
Reading directly from the fifo (`wob &lt;fifo`) makes wob exit as soon
as the first wrapper closes its write end (EOF after one printf). The
upstream pattern is to pipe `tail -f` into wob so there's always a
writer holding the fifo open.
</content>
</entry>
<entry>
<title>feat(desktop): xdg-desktop-portal pinning, wob OSD, mako DND toggle</title>
<updated>2026-05-13T12:43:37Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:37Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=12b08e19cbd65988c51de40ffd06ce01418c2bb6'/>
<id>urn:sha1:12b08e19cbd65988c51de40ffd06ce01418c2bb6</id>
<content type='text'>
- xdg-desktop-portal: pin wlr for ScreenCast/Screenshot, gtk for the
  rest, so flatpak browsers (Meet, Slack, Discord) get a working
  screen-share path instead of whatever the portal frontend happens to
  pick first.
- wob: small wayland overlay bar fed via a fifo. New vol-osd.sh /
  brightness-osd.sh wrappers replace the bare pactl/brightnessctl
  invocations in keybinds so adjusting volume or backlight flashes a
  bar at the bottom of the screen. wob.service owns the fifo lifecycle
  (mkfifo before, rm after).
- mako: add a [mode=do-not-disturb] section that hides notifications
  while the mode is active, plus a Super+x n submode binding to toggle
  it. Notifications still accumulate in history; just no popups.
</content>
</entry>
</feed>
