Commit Graph

262 Commits

Author SHA1 Message Date
marthsincemelee f53f2331d0 docs: add implementation plan for Jellyfin hardware transcoding
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 14:31:20 +02:00
marthsincemelee 84cec9e935 docs: add design spec for Jellyfin hardware transcoding on jupiter
Jupiter's Intel iGPU is configured at the OS level but Jellyfin has no
access to it, so transcodes run on CPU only and stutter.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 14:27:30 +02:00
finn.markwitz 59b5cfb47c chore: Flake update 2026-07-20 11:08:47 +02:00
finn.markwitz a8364f21ca chore: Flake update 2026-07-14 17:33:45 +02:00
finn.markwitz f135c1646f Merge pull request 'feat(home-assistant): add Apple TV and Tuya integrations' (#1) from feat/ha-appletv-tuya-irrigation into main
Reviewed-on: #1
2026-07-05 12:15:22 +02:00
marthsincemelee 7a1b0541c2 feat(home-assistant): add Apple TV and Tuya integrations
Enable the apple_tv (pyatv) and tuya (SmartLife cloud) components on
jupiter. Tuya covers the Unistyle WLAN irrigation computer; both are
config-flow integrations paired through the HA web UI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 17:19:53 +02:00
marthsincemelee 6c5f61997d fix: Homepage Domain 2026-06-27 15:45:06 +02:00
finn.markwitz 763253693c chore: Flake Update 2026-06-27 15:28:11 +02:00
finn.markwitz b6f4bb7955 chore: Flake Update 2026-06-23 16:55:42 +02:00
finn.markwitz 74d65a0d75 Revert "chore: flake update"
This reverts commit 85bd12778a.
2026-06-15 11:55:29 +02:00
finn.markwitz 85bd12778a chore: flake update 2026-06-15 11:51:59 +02:00
finn.markwitz d9565448b9 Merge branch 'feature/ha-zbt-2-thread' into 'master'
feat(home-assistant): enable ZHA for ZBT-2 Zigbee dongle

See merge request finn.markwitz/nixos!18
2026-06-09 06:38:56 +00:00
finn.markwitz af2655f9e2 Merge branch 'master' into 'feature/ha-zbt-2-thread'
# Conflicts:
#   machines/mibook/configuration.nix
2026-06-09 06:37:07 +00:00
finn.markwitz 6d0684610e chore: Flake Update 2026-06-09 08:28:11 +02:00
finn.markwitz 17c3a3189f chore(NixOS Version): Update to 26.05 2026-06-09 08:16:08 +02:00
finn.markwitz 18d1ce711d chore(HA): Removed uneccessary Unstable Overlay import 2026-06-09 08:10:45 +02:00
finn.markwitz cbdb42f333 chore: Flake Update 2026-06-01 10:02:27 +02:00
finn.markwitz b44775e3e5 docs: add CLAUDE.md with repo architecture and development commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 12:34:24 +02:00
marthsincemelee 9ed0fb6f07 feat: SSH for mibook 2026-05-25 12:33:40 +02:00
marthsincemelee ff6e25b708 fix: Duplicated NVIDIA PCI 2026-05-25 12:16:59 +02:00
marthsincemelee 2e5568611a feat(mibook): add claude-code profile module
Installs claude-code (stable), ripgrep, fd, gh, and jq for user finn.
Includes annotation for future headless service upgrade path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 12:03:54 +02:00
marthsincemelee b44220adf1 docs(plan): mibook claude-code module implementation plan
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 11:56:53 +02:00
marthsincemelee 45c6d978f2 docs(spec): add pkgs.unstable contingency note to claude-code spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 11:54:09 +02:00
marthsincemelee 62875c0b1a docs(spec): mibook claude-code execution machine design
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 11:53:36 +02:00
marthsincemelee d2775e35d9 feat(home-assistant): set internal/external URLs for mobile_app push
The HA Companion app needs an external_url for clickable notification
deep-links to resolve when the phone is off the home Wi-Fi. Reach is via
Tailscale (Headscale tailnet solar.internal), so external_url points at
the FQDN jupiter.solar.internal:8123; internal_url stays on the bare
hostname for LAN-attached devices.

Phase A only: device registration + notify group + smoke-test land in a
follow-up commit once Companion has registered real mobile_app_<slug>
service names. See docs/superpowers/specs/2026-05-18-ha-push-notifications.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 12:07:31 +02:00
marthsincemelee 4cb4455d37 fix(home-assistant): use xiaomi_miio for Mi Home devices
The bare "xiaomi" component only ships the legacy IP-camera platform.
Mi Home Wi-Fi devices (vacuums, air purifiers, Yeelight, fans, etc.)
are provided by the xiaomi_miio integration.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 18:23:16 +02:00
marthsincemelee 933c2f8b41 feat: HA Xiaomi Support 2026-05-17 18:01:16 +02:00
finn.markwitz 1444912326 config: Disable Prime Sync MiBook 2026-05-17 14:23:55 +02:00
marthsincemelee d1299ed112 fix(home-assistant): wire automation/script/scene !include directives
UI-saved automations land in /var/lib/hass/automations.yaml, but HA
won't load them unless configuration.yaml has \`automation: !include
automations.yaml\`. The Nix-managed config didn't have it, so HA's
post-save reload found no automations and timed out.

The NixOS HA module's renderYAMLFile post-processes the generated YAML
to convert quoted bang-strings into real YAML tags (see the sed step
in nixos/modules/services/home-automation/home-assistant.nix), so a
plain Nix string is enough — no escape-hatch needed.

Pre-create the three include targets via systemd.tmpfiles so HA
doesn't fail at startup if the user hasn't saved anything yet.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 21:50:41 +02:00
marthsincemelee 96fbeb04ef fix(home-assistant): nest name/unit_system under homeassistant block
HA expects \`name\` and \`unit_system\` as keys of the top-level
\`homeassistant:\` block, not as top-level integration names. Recent HA
versions tightened config validation, so this surfaced as
"Integration 'unit_system' not found" / "Integration 'name' not found"
warnings, blocking the automation reload that runs after saving an
automation in the UI.

Pre-existing bug, unrelated to OTBR — surfaced now because automation
edits trigger strict validation. Bonus: NixOS auto-populates
\`time_zone\` from the system locale once \`homeassistant\` is a real block.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 21:35:44 +02:00
marthsincemelee 68f2c65246 fix(home-assistant): set OTBR radio.baudRate to 460800 for ZBT-2 RCP firmware
Nabu Casa's prebuilt OpenThread RCP image for the ZBT-2
(zbt2_openthread_rcp_2.7.2.0_GitHub-fb0446f53_gsdk_2025.6.2.gbl)
runs at 460800 baud, not the module's 115200 default. Aligns the
radio URL with the firmware so otbr-agent can actually open the
Spinel link after rebuild.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 20:41:49 +02:00
marthsincemelee 787427e7c8 feat(home-assistant): enable OTBR for ZBT-2 + add HA otbr/thread components
Brings up otbr-agent against the ZBT-2 over Spinel/UART, opens the
REST API on :8081, and wires HA's otbr + thread integrations so
Matter-over-Thread devices can commission through the existing
matter-server.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 20:21:30 +02:00
marthsincemelee 6251c8edef feat(home-assistant): import openthread-border-router module from unstable
Pulls the services.openthread-border-router NixOS module directly from
nixpkgs-unstable since it isn't in 25.11 yet. Service stays disabled
in this commit; configuration follows.

Also promotes `self` from `_module.args` to `specialArgs` in
machines/configuration.nix, since `imports` are evaluated before
`config` and so can't reach `_module.args.self`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 18:52:43 +02:00
marthsincemelee 311e358d88 docs(plan): correct Task 2 scope — specialArgs needed for self in imports
The original plan claimed no flake-level changes were needed because
machines/configuration.nix:21 already passes `_module.args.self = self;`.
That's only true for `config`-time evaluation; `imports` are collected
before `config` is available, so referencing `self` in `imports` causes
infinite recursion. Fix: promote `self` to `specialArgs` on each
nixosSystem call. The implementer of Task 2 caught this on first
dispatch.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 15:52:20 +02:00
marthsincemelee 9ff3603d40 Revert "feat(home-assistant): enable ZHA for ZBT-2 Zigbee dongle"
This reverts commit e8d09f40f6.
2026-05-10 15:39:10 +02:00
marthsincemelee 6d12940205 docs(home-assistant): implementation plan for ZBT-2 Thread + OTBR
Task-by-task plan covering: revert of prior ZHA commit, unstable
OTBR module import, OTBR enablement against the ZBT-2, firmware
flash via universal-silabs-flasher, rebuild on jupiter, and
end-to-end smoke test through the HA UI.

Designed for execution via superpowers:subagent-driven-development
or superpowers:executing-plans, with operator handoffs marked
explicitly (per the 'no SSH' workflow rule).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 15:36:12 +02:00
marthsincemelee dbeda276e1 docs(home-assistant): design spec for ZBT-2 Thread + OTBR setup
Captures the architecture, operator workflow, and verification for
running the Connect ZBT-2 as an OpenThread Border Router on jupiter
(via nixos-unstable's services.openthread-border-router module),
with HA's otbr + thread integrations driving the Thread network
and the existing matter-server consuming credentials for
Matter-over-Thread device commissioning.

Supersedes the ZHA-direction commit on this branch (e8d09f4),
which will be reverted at the start of implementation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 15:29:21 +02:00
marthsincemelee e8d09f40f6 feat(home-assistant): enable ZHA for ZBT-2 Zigbee dongle
Adds the `zha` extra component so Home Assistant can drive the
Nabu Casa Connect ZBT-2 radio, and puts the `hass` service user in
`dialout` so it can open `/dev/serial/by-id/usb-Nabu_Casa_..._ZBT-2_*`.

Pairing is then handled through the standard ZHA wizard in the HA UI.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 14:55:55 +02:00
finn.markwitz 098e632405 chores: Update Flake 2026-05-10 14:40:22 +02:00
finn.markwitz ede28c8bb4 Merge branch 'home-assistant-matter' into 'master'
fix: enable mobile_app integration in HA config

See merge request finn.markwitz/nixos!15
2026-05-05 11:37:32 +00:00
finn.markwitz db1f44c4ea Merge branch 'feature/homepage-widgets' into 'master'
Feature/homepage widgets

See merge request finn.markwitz/nixos!14
2026-05-05 11:27:44 +00:00
finn.markwitz df05fe451e feature/homepage widgets 2026-05-05 11:27:44 +00:00
marthsincemelee 74abfe35a2 fix: enable mobile_app integration in HA config
extraComponents only installs packages; mobile_app needs to be declared
in configuration.yaml to actually load.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 16:28:24 +02:00
marthsincemelee c51a658b18 feat: Mobile-App Component 2026-04-30 16:10:12 +02:00
marthsincemelee 1b64ea5930 feat: Matter Server 2026-04-30 16:05:29 +02:00
finn.markwitz eb21cb998f Merge branch 'feature/homepage-icons' into 'master'
feat: add homepage icons and Home Assistant entry

See merge request finn.markwitz/nixos!13
2026-04-22 09:55:34 +00:00
marthsincemelee 9342809975 feat: add manual homepage services file 2026-04-20 18:19:49 +02:00
marthsincemelee 2d43ed36ea feat: add homepage icons and Home Assistant entry 2026-04-20 16:34:27 +02:00
finn.markwitz 004f04eca5 Merge branch 'homeassistant' into 'master'
Homeassistant

See merge request finn.markwitz/nixos!11
2026-04-20 14:08:40 +00:00
finn.markwitz 4296dda7f8 Merge branch 'nvidia' into 'master'
feat(Hardware): Nvidia GPU Support

See merge request finn.markwitz/nixos!9
2026-04-20 14:07:05 +00:00