<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/systemd-units/base.txt, branch master</title>
<subtitle>My linux config and rc files
</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-04-21T00:23:39Z</updated>
<entry>
<title>fix(services): drop systemd-networkd.socket from curated, add to .ignore</title>
<updated>2026-04-21T00:23:39Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:39Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=e03330b027f3f7a9dd03204fedfe33602fb73f5c'/>
<id>urn:sha1:e03330b027f3f7a9dd03204fedfe33602fb73f5c</id>
<content type='text'>
systemd-networkd.socket has no [Install] section; it's auto-activated
by systemd-networkd.service via Sockets=. systemctl enable fails on it.
It still shows as enabled (symlinked from the service's dependency
graph), so add it to .ignore to keep drift output clean.
</content>
</entry>
<entry>
<title>feat(services): curate systemd-networkd alongside iwd</title>
<updated>2026-04-21T00:23:39Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:39Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=3a6f276f43c15b3fed1bcd1632eeb1584b37df29'/>
<id>urn:sha1:3a6f276f43c15b3fed1bcd1632eeb1584b37df29</id>
<content type='text'>
User runs iwd (wifi auth) + systemd-networkd (IP config) together,
with systemd-networkd-wait-online as boot gate.
</content>
</entry>
<entry>
<title>feat(services): curate tor + pcscd, filter @ templates from drift</title>
<updated>2026-04-21T00:23:39Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:39Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=f742696eb6262ee65f29c8b51ffd85f2f76ab44c'/>
<id>urn:sha1:f742696eb6262ee65f29c8b51ffd85f2f76ab44c</id>
<content type='text'>
- tor.service -&gt; systemd-units/btc.txt (pairs with tor in meta/btc.txt)
- pcscd.socket -&gt; systemd-units/base.txt (smartcards, used by GPG)
- services-drift now filters @-template units (getty@ etc.), which
  are abstract and can't be curated meaningfully anyway

systemd-networkd.{service,socket,wait-online} remain uncurated;
that's a real decision (conflicts with iwd) left to disable by hand.
</content>
</entry>
<entry>
<title>feat(services): curated systemd units via just recipes</title>
<updated>2026-04-21T00:23:39Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:39Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=f1837fdee1df25022a975e60a48ca6085b2d1b55'/>
<id>urn:sha1:f1837fdee1df25022a975e60a48ca6085b2d1b55</id>
<content type='text'>
Introduce systemd-units/&lt;group&gt;.txt files paired by name with meta
groups (systemd-units/base.txt &lt;-&gt; meta/base.txt). Units listed there
are enabled by a new 'just services-enable' recipe, wired into 'just
init' so bootstrap.sh no longer needs its own systemctl loop.

New justfile recipes (Services section):
  services         list curated units with enabled/active state
  services-enable  idempotent 'systemctl enable --now', soft-fail per unit
  services-drift   two-way diff vs systemctl list-unit-files

bootstrap.sh drops its hardcoded 9-unit loop and laptop TLP block
(~22 lines); 'just init' now handles it. tlp.service lives directly in
systemd-units/base.txt (no laptop gating).
</content>
</entry>
</feed>
