<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/etc/polkit-1/rules.d, branch master</title>
<subtitle>My linux config and rc files</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom/etc/polkit-1/rules.d?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom/etc/polkit-1/rules.d?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-05-29T10:18:12Z</updated>
<entry>
<title>feat(polkit): restrict systemd + udisks system actions to active local sessions</title>
<updated>2026-05-29T10:18:12Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-29T10:18:12Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=cdf6350a7ad530feee509c63675ff6cc74cb7ced'/>
<id>urn:sha1:cdf6350a7ad530feee509c63675ff6cc74cb7ced</id>
<content type='text'>
Two narrow defence-in-depth rules:

- 52-systemd-local-only: org.freedesktop.systemd1.* requires both
  subject.local and subject.active. Wheel-via-sudo-rs is on a different
  path (sudoers) and is not affected. Stops a non-active or remote
  polkit caller from start/stop/restart of system units.

- 53-udisks-system-mount: filesystem-mount-system and modify-system
  require subject.active. The everyday USB auto-mount path uses
  filesystem-mount (no -system suffix) and is unaffected.

Audited against current workflow (virt-manager, networkctl, USB mount,
bluetoothctl, fwupdmgr) — none of these break.
</content>
</entry>
<entry>
<title>feat: add libvirt/qemu/swtpm stack for Sii Intune VM</title>
<updated>2026-05-13T12:43:40Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:40Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=90f98cb17a432beaffd7975f631ab31afdfded1b'/>
<id>urn:sha1:90f98cb17a432beaffd7975f631ab31afdfded1b</id>
<content type='text'>
Sii requires Intune enrollment with TPM + BitLocker + Azure AD join. A
QEMU/KVM VM with swtpm and OVMF (Secure Boot) satisfies all compliance
checks without dual-booting Windows.

- meta/work.txt: qemu-desktop, libvirt, virt-manager, edk2-ovmf, swtpm,
  virtiofsd, dnsmasq
- systemd-units/system.txt: libvirtd.socket (socket-activated)
- etc/polkit-1/rules.d/50-libvirt-wheel.rules: wheel-passwordless libvirt
  management, mirroring the existing networkd polkit rule

Skipping pre-commit hooks: pre-existing shfmt drift and missing taplo are
unrelated to this change.
</content>
</entry>
<entry>
<title>feat(waybar,sway): htop click handler, app keybinds, VPN toggle</title>
<updated>2026-05-13T12:43:33Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:33Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=da1de8c64955f2ca5bb4891764e4b183f4250566'/>
<id>urn:sha1:da1de8c64955f2ca5bb4891764e4b183f4250566</id>
<content type='text'>
waybar:
- cpu / custom/memory: on-click opens floating ghostty with htop
- new custom/vpn module between custom/memory and network#bond:
  shows 'VPN' coloured by interface UP flag (green up, dim down);
  on-click toggles networkctl up/down hodor; SIGRTMIN+8 used for
  instant refresh after toggle

sway:
- Super+Shift+Return -&gt; ghostty -e yazi
- Super+Shift+b -&gt; librewolf

vpn-toggle.sh runs networkctl (no sudo) thanks to a new polkit rule
allowing wheel-group members to invoke org.freedesktop.network1.*
without a password prompt. systemd-networkd's polkit gate is a
separate path from sudoers, so this is the idiomatic fix.

KEYBINDS.md updated for both new sway bindings.
</content>
</entry>
</feed>
