From c1efceef559a3e1c1e51f201f4b140bab9ac8183 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Tue, 31 Mar 2026 14:23:32 -0500 Subject: [PATCH] roborock --- flake.lock | 134 +++--- .../services/homeassistant/default.nix | 432 +++++++++--------- 2 files changed, 284 insertions(+), 282 deletions(-) diff --git a/flake.lock b/flake.lock index 666c1cb..e1c22cc 100644 --- a/flake.lock +++ b/flake.lock @@ -134,16 +134,16 @@ "brew-src": { "flake": false, "locked": { - "lastModified": 1769363988, - "narHash": "sha256-BiGPeulrDVetXP+tjxhMcGLUROZAtZIhU5m4MqawCfM=", + "lastModified": 1774235677, + "narHash": "sha256-0ryNYmzDAeRlrzPTAgmzGH/Cgc8iv/LBN6jWGUANvIk=", "owner": "Homebrew", "repo": "brew", - "rev": "d01011cac6d72032c75fd2cd9489909e95d9faf2", + "rev": "894a3d23ac0c8aaf561b9874b528b9cb2e839201", "type": "github" }, "original": { "owner": "Homebrew", - "ref": "5.0.12", + "ref": "5.1.1", "repo": "brew", "type": "github" } @@ -151,11 +151,11 @@ "cachyos-kernel": { "flake": false, "locked": { - "lastModified": 1774160598, - "narHash": "sha256-ArPoVPHpXauFDGsz7nGBiXljj7keGcp/O4Pf4ZU4/30=", + "lastModified": 1774853038, + "narHash": "sha256-zMoAFZOALxk3/GhWYOPYRDOPi4WS/dC/2kAG3aoD/u4=", "owner": "CachyOS", "repo": "linux-cachyos", - "rev": "1caa0b77871d4537f0d629a2ce30edb2f6178d19", + "rev": "a82bb448f8aac6bb29dd417bffe062259bbf8f88", "type": "github" }, "original": { @@ -167,11 +167,11 @@ "cachyos-kernel-patches": { "flake": false, "locked": { - "lastModified": 1774023710, - "narHash": "sha256-Oc+4K6edCv0fdvfe6UW+OpJiXYWkXRrOH9TDMNwi+J8=", + "lastModified": 1774500343, + "narHash": "sha256-8sCdFTHJF0ZES8/Qa6DVbMAzZ1PLGYcZcQJBokoa7Bg=", "owner": "CachyOS", "repo": "kernel-patches", - "rev": "a4e26fa95257ac09bd42930334399b0eabd5b5b1", + "rev": "948e9c61779b0fafdf0c3b1ee6281502ff178fcc", "type": "github" }, "original": { @@ -568,11 +568,11 @@ ] }, "locked": { - "lastModified": 1774379316, - "narHash": "sha256-0nGNxWDUH2Hzlj/R3Zf4FEK6fsFNB/dvewuboSRZqiI=", + "lastModified": 1774984355, + "narHash": "sha256-/41Q8d4EB/bZRFfR5BYdlDl32avGyCqHNEZhznar8EI=", "owner": "nix-community", "repo": "home-manager", - "rev": "1eb0549a1ab3fe3f5acf86668249be15fa0e64f7", + "rev": "0adb9993274f27168ec0d6c13ec292f03dc328d0", "type": "github" }, "original": { @@ -588,11 +588,11 @@ ] }, "locked": { - "lastModified": 1774379316, - "narHash": "sha256-0nGNxWDUH2Hzlj/R3Zf4FEK6fsFNB/dvewuboSRZqiI=", + "lastModified": 1774984355, + "narHash": "sha256-/41Q8d4EB/bZRFfR5BYdlDl32avGyCqHNEZhznar8EI=", "owner": "nix-community", "repo": "home-manager", - "rev": "1eb0549a1ab3fe3f5acf86668249be15fa0e64f7", + "rev": "0adb9993274f27168ec0d6c13ec292f03dc328d0", "type": "github" }, "original": { @@ -642,11 +642,11 @@ "homebrew-cask": { "flake": false, "locked": { - "lastModified": 1774473207, - "narHash": "sha256-uzBowJgpnVUnIxItld3MUT6H9tUtKGDX6eGjFB9yFKE=", + "lastModified": 1774984634, + "narHash": "sha256-9QI3c8wULgSte8bf3amEaxWBNrqwGc0p/qEmbonpfso=", "owner": "homebrew", "repo": "homebrew-cask", - "rev": "672d1652fd7d9c32058f3e3f5b4d6ab2aba3853a", + "rev": "bc236e0094fdb4ab613f510e6ac07a569d9fc512", "type": "github" }, "original": { @@ -658,11 +658,11 @@ "homebrew-core": { "flake": false, "locked": { - "lastModified": 1774474683, - "narHash": "sha256-3INbCL2xoj8j2VPSXsc6bcuc+YvlDremZg9RoEjrNcs=", + "lastModified": 1774979390, + "narHash": "sha256-Nb5QWTApaPDPDLQzRk2o/zJTrHhx9gHicmzmgNPnRNk=", "owner": "homebrew", "repo": "homebrew-core", - "rev": "9da10921a2cb0751d8b7970cfea4c6e92c4e8f76", + "rev": "945f2be67e270a4be32ad65d1d87c384c08876e6", "type": "github" }, "original": { @@ -698,11 +698,11 @@ ] }, "locked": { - "lastModified": 1774333446, - "narHash": "sha256-jeAUd4mfLle7Zw8F3lDdXvw2cmeP3FgVphHq2XuEKbs=", + "lastModified": 1774679353, + "narHash": "sha256-N5L8U18JigqVqxMz1FuwbJVruCCa5lA6hgGeXLg8LI8=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "79b45622eff2ae0437d7a712610044bbc7b87fa2", + "rev": "8ffb6db9322542ec3cb541a232864084422f7e90", "type": "github" }, "original": { @@ -788,11 +788,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1774290535, - "narHash": "sha256-dnFbucSiAjjWmPENgyIiK/ocCuYSp4sM6Sq4WCVjG+8=", + "lastModified": 1774982062, + "narHash": "sha256-4EDoYaSztFSMD2K6rdPe/i4V3pl9jiz+ul+hwAZ7P1Q=", "owner": "xddxdd", "repo": "nix-cachyos-kernel", - "rev": "c0fcdf5cab21b7e3157e84046b57407a60934415", + "rev": "95a79dcd59c482dd3215ca5a32f1cbdf40e9f77f", "type": "github" }, "original": { @@ -829,11 +829,11 @@ "brew-src": "brew-src" }, "locked": { - "lastModified": 1769437432, - "narHash": "sha256-8d7KnCpT2LweRvSzZYEGd9IM3eFX+A78opcnDM0+ndk=", + "lastModified": 1774720267, + "narHash": "sha256-YYftFe8jyfpQI649yfr0E+dqEXE2jznZNcYvy/lKV1U=", "owner": "zhaofengli", "repo": "nix-homebrew", - "rev": "a5409abd0d5013d79775d3419bcac10eacb9d8c5", + "rev": "a7760a3a83f7609f742861afb5732210fdc437ed", "type": "github" }, "original": { @@ -849,11 +849,11 @@ ] }, "locked": { - "lastModified": 1774156144, - "narHash": "sha256-gdYe9wTPl4ignDyXUl1LlICWj41+S0GB5lG1fKP17+A=", + "lastModified": 1774762074, + "narHash": "sha256-89Mh4Eb/5stVJX6kGagVMijcU2FmfeD8Qv7UXc5d92o=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "55b588747fa3d7fc351a11831c4b874dab992862", + "rev": "bc13aeaed568be76eab84df88ff39261bb52ff70", "type": "github" }, "original": { @@ -906,11 +906,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1774406959, - "narHash": "sha256-LvsvRER3uhSMPFXm3d51j1HKtNvT5uaxeU2GiGhTx2Y=", + "lastModified": 1774925891, + "narHash": "sha256-8QGLGZJGnjPXFkWncYI9IXfUJEaPshX81W9LCJyQbGE=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "8e7124f1592e7f2cc8f76ce2639255f478d58838", + "rev": "01dbb479b5f70a18feaa6398077c3babba0d4ba9", "type": "github" }, "original": { @@ -940,11 +940,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1774465523, - "narHash": "sha256-4v7HPm63Q90nNn4fgkgKsjW1AH2Klw7XzPtHJr562nM=", + "lastModified": 1774933469, + "narHash": "sha256-OrnCQeUO2bqaWUl0lkDWyGWjKsOhtCyd7JSfTedQNUE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "de895be946ad1d8aafa0bb6dfc7e7e0e9e466a29", + "rev": "f4c4c2c0c923d7811ac2a63ccc154767e4195337", "type": "github" }, "original": { @@ -1034,11 +1034,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1774244481, - "narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=", + "lastModified": 1774799055, + "narHash": "sha256-Tsq9BCz0q47ej1uFF39m4tuhcwru/ls6vCCJzutEpaw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4590696c8693fea477850fe379a01544293ca4e2", + "rev": "107cba9eb4a8d8c9f8e9e61266d78d340867913a", "type": "github" }, "original": { @@ -1050,11 +1050,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1774106199, - "narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=", + "lastModified": 1774709303, + "narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655", + "rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685", "type": "github" }, "original": { @@ -1066,11 +1066,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1773840656, - "narHash": "sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0=", + "lastModified": 1774610258, + "narHash": "sha256-HaThtroVD9wRdx7KQk0B75JmFcXlMUoEdDFNOMOlsOs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9cf7092bdd603554bd8b63c216e8943cf9b12512", + "rev": "832efc09b4caf6b4569fbf9dc01bec3082a00611", "type": "github" }, "original": { @@ -1114,11 +1114,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1774235121, - "narHash": "sha256-CzpSER+YKq4yD+RPom6Su9c/4FutF+sD4rEnls+4MyM=", + "lastModified": 1774935083, + "narHash": "sha256-Mh6bLcYAcENBAZk3RoMPMFCGGMZmfaGMERE4siZOgP4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1116aed2cee959f7d054a462458513ad323b710a", + "rev": "2f4fd5e1abf9bac8c1d22750c701a7a5e6b524c6", "type": "github" }, "original": { @@ -1194,11 +1194,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1774106199, - "narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=", + "lastModified": 1774709303, + "narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655", + "rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685", "type": "github" }, "original": { @@ -1243,11 +1243,11 @@ ] }, "locked": { - "lastModified": 1772361940, - "narHash": "sha256-B1Cz+ydL1iaOnGlwOFld/C8lBECPtzhiy/pP93/CuyY=", + "lastModified": 1774915545, + "narHash": "sha256-COT4l/+ZddGBvrDVfPf7MEOJxV8EDKame6/aRnNIKcY=", "owner": "nix-community", "repo": "plasma-manager", - "rev": "a4b33606111c9c5dcd10009042bb710307174f51", + "rev": "f3177b3c69fb3f03201098d7fe8ab6422cce7fc1", "type": "github" }, "original": { @@ -1288,11 +1288,11 @@ ] }, "locked": { - "lastModified": 1774104215, - "narHash": "sha256-EAtviqz0sEAxdHS4crqu7JGR5oI3BwaqG0mw7CmXkO8=", + "lastModified": 1774959120, + "narHash": "sha256-Pzk6UbueeWy9WFiDY6iA1aHid+2AMzkS6gg2x2cSkz4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "f799ae951fde0627157f40aec28dec27b22076d0", + "rev": "c06f90f1eb6569bdaf6a4a10cb7e66db4454ac2a", "type": "github" }, "original": { @@ -1455,11 +1455,11 @@ "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1774303811, - "narHash": "sha256-fhG4JAcLgjKwt+XHbjs8brpWnyKUfU4LikLm3s0Q/ic=", + "lastModified": 1774910634, + "narHash": "sha256-B+rZDPyktGEjOMt8PcHKYmgmKoF+GaNAFJhguktXAo0=", "owner": "Mic92", "repo": "sops-nix", - "rev": "614e256310e0a4f8a9ccae3fa80c11844fba7042", + "rev": "19bf3d8678fbbfbc173beaa0b5b37d37938db301", "type": "github" }, "original": { @@ -1512,11 +1512,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1774124764, - "narHash": "sha256-Poz9WTjiRlqZIf197CrMMJfTifZhrZpbHFv0eU1Nhtg=", + "lastModified": 1774897726, + "narHash": "sha256-k/H2/oyex6GEC6uYXYetrboFQeTmX1Ouwv/zaW7b/Z0=", "owner": "nix-community", "repo": "stylix", - "rev": "e31c79f571c5595a155f84b9d77ce53a84745494", + "rev": "9b4a5eb409ceac2dd6ad495c7988e189a418cd30", "type": "github" }, "original": { diff --git a/modules/nixos/homeassistant/services/homeassistant/default.nix b/modules/nixos/homeassistant/services/homeassistant/default.nix index 17d82df..95f92a3 100644 --- a/modules/nixos/homeassistant/services/homeassistant/default.nix +++ b/modules/nixos/homeassistant/services/homeassistant/default.nix @@ -9,6 +9,14 @@ with lib; let cfg = config.${namespace}.services.home-assistant; net = lib.${namespace}.network; + + customPackages = with pkgs.${namespace}; [ + gehomesdk + magicattr + pyoverseerr + python-roborock + wyzeapy + ]; in { # disabledModules = [ @@ -61,214 +69,214 @@ in configDir = "/var/lib/homeassistant"; configWritable = true; # todo # All components - # extraComponents = config.services.home-assistant.package.availableComponents; - extraComponents = [ - "accuweather" - "adguard" - "air_quality" - "apcupsd" - "apple_tv" - "analytics" - "assist_pipeline" - "assist_satellite" - "backup" - "bluetooth" - "bluetooth_adapters" - "bluetooth_le_tracker" - "brother" - "browser" - "button" - "caldav" - "calendar" - "camera" - "cast" - "climate" - "cloud" - "cloudflare" - "co2signal" - "coinbase" - "color_extractor" - "config" - "configurator" - "conversation" - "counter" - "cpuspeed" - "date" - "datetime" - "deluge" - "device_automation" - "device_sun_light_trigger" - "device_tracker" - "dhcp" - "diagnostics" - "discord" - "dlna_dmr" - "dlna_dms" - "downloader" - "ecobee" - "energy" - "epic_games_store" - "esphome" - "event" - "fan" - "fastdotcom" - "ffmpeg" - "ffmpeg_motion" - "ffmpeg_noise" - "file" - "file_upload" - "filesize" - "filter" - "folder" - "fully_kiosk" - "generic" - "generic_thermostat" - # "geo_json_events" - # "geo_location" - # "geo_rss_events" - "github" - "gitlab_ci" - "glances" - "google" - "google_cloud" - "google_drive" - "google_mail" - "google_maps" - "google_photos" - "google_translate" - "govee_ble" - "gpsd" - "gpslogger" - "hardware" - "hddtemp" - "hdmi_cec" - "history" - "history_stats" - "holiday" - "homeassistant" - "homeassistant_alerts" - "homeassistant_sky_connect" - "homekit" - "homekit_controller" - "http" - "humidifier" - "ibeacon" - "image" - "image_processing" - "image_upload" - "immich" - "input_boolean" - "input_button" - "input_datetime" - "input_number" - "input_select" - "input_text" - "ios" - "ipp" - "isal" - "jellyfin" - "lidarr" - "light" - "litterrobot" - "local_calendar" - "local_file" - "local_ip" - "local_todo" - "logbook" - "logentries" - "logger" - "lovelace" - "manual_mqtt" - "matter" - "met" - "microsoft" - "min_max" - "mobile_app" - "mqtt" - "music_assistant" - "ntfy" - "nut" - "nextcloud" - "notify" - "nws" - "ollama" - "onedrive" - "onkyo" - "openhardwaremonitor" - "opensky" - "openweathermap" - "open_router" - "paperless_ngx" - "persistent_notification" - "pinecil" - "ping" - "piper" - "playstation_network" - "radarr" - "radio_browser" - "raspberry_pi" - "recorder" - "reddit" - "remote" - "remote_calendar" - "remote_rpi_gpio" - "roborock" # currently broken - "samsungtv" - "schedule" - "script" - "search" - "season" - "select" - "sense" - "sensor" - "shopping_list" - "simplefin" - "smartthings" - "sonarr" - "speedtestdotnet" - "sql" - "ssdp" - "statistics" - "stream" - "subaru" - "sun" - "switch" - "system_health" - "system_log" - "systemmonitor" - "tailscale" - "tasmota" - "tcp" - "template" - "text" - "thread" - "time" - "time_date" - "timer" - "torque" - "tplink" - "tuya" - "upnp" - "uptime" - "usb" - "vacuum" - "vlc" - "vesync" - "wake_on_lan" - "waze_travel_time" - "weather" - "weatherkit" - "webdav" - "webhook" - "whisper" - "whois" - "workday" - "wyoming" - "youtube" - "zeroconf" - "zha" - "zone" - ]; + extraComponents = config.services.home-assistant.package.availableComponents; + # extraComponents = [ + # "accuweather" + # "adguard" + # "air_quality" + # "apcupsd" + # "apple_tv" + # "analytics" + # "assist_pipeline" + # "assist_satellite" + # "backup" + # "bluetooth" + # "bluetooth_adapters" + # "bluetooth_le_tracker" + # "brother" + # "browser" + # "button" + # "caldav" + # "calendar" + # "camera" + # "cast" + # "climate" + # "cloud" + # "cloudflare" + # "co2signal" + # "coinbase" + # "color_extractor" + # "config" + # "configurator" + # "conversation" + # "counter" + # "cpuspeed" + # "date" + # "datetime" + # "deluge" + # "device_automation" + # "device_sun_light_trigger" + # "device_tracker" + # "dhcp" + # "diagnostics" + # "discord" + # "dlna_dmr" + # "dlna_dms" + # "downloader" + # "ecobee" + # "energy" + # "epic_games_store" + # "esphome" + # "event" + # "fan" + # "fastdotcom" + # "ffmpeg" + # "ffmpeg_motion" + # "ffmpeg_noise" + # "file" + # "file_upload" + # "filesize" + # "filter" + # "folder" + # "fully_kiosk" + # "generic" + # "generic_thermostat" + # # "geo_json_events" + # # "geo_location" + # # "geo_rss_events" + # "github" + # "gitlab_ci" + # "glances" + # "google" + # "google_cloud" + # "google_drive" + # "google_mail" + # "google_maps" + # "google_photos" + # "google_translate" + # "govee_ble" + # "gpsd" + # "gpslogger" + # "hardware" + # "hddtemp" + # "hdmi_cec" + # "history" + # "history_stats" + # "holiday" + # "homeassistant" + # "homeassistant_alerts" + # "homeassistant_sky_connect" + # "homekit" + # "homekit_controller" + # "http" + # "humidifier" + # "ibeacon" + # "image" + # "image_processing" + # "image_upload" + # "immich" + # "input_boolean" + # "input_button" + # "input_datetime" + # "input_number" + # "input_select" + # "input_text" + # "ios" + # "ipp" + # "isal" + # "jellyfin" + # "lidarr" + # "light" + # "litterrobot" + # "local_calendar" + # "local_file" + # "local_ip" + # "local_todo" + # "logbook" + # "logentries" + # "logger" + # "lovelace" + # "manual_mqtt" + # "matter" + # "met" + # "microsoft" + # "min_max" + # "mobile_app" + # "mqtt" + # "music_assistant" + # "ntfy" + # "nut" + # "nextcloud" + # "notify" + # "nws" + # "ollama" + # "onedrive" + # "onkyo" + # "openhardwaremonitor" + # "opensky" + # "openweathermap" + # "open_router" + # "paperless_ngx" + # "persistent_notification" + # "pinecil" + # "ping" + # "piper" + # "playstation_network" + # "radarr" + # "radio_browser" + # "raspberry_pi" + # "recorder" + # "reddit" + # "remote" + # "remote_calendar" + # "remote_rpi_gpio" + # "roborock" # currently broken + # "samsungtv" + # "schedule" + # "script" + # "search" + # "season" + # "select" + # "sense" + # "sensor" + # "shopping_list" + # "simplefin" + # "smartthings" + # "sonarr" + # "speedtestdotnet" + # "sql" + # "ssdp" + # "statistics" + # "stream" + # "subaru" + # "sun" + # "switch" + # "system_health" + # "system_log" + # "systemmonitor" + # "tailscale" + # "tasmota" + # "tcp" + # "template" + # "text" + # "thread" + # "time" + # "time_date" + # "timer" + # "torque" + # "tplink" + # "tuya" + # "upnp" + # "uptime" + # "usb" + # "vacuum" + # "vlc" + # "vesync" + # "wake_on_lan" + # "waze_travel_time" + # "weather" + # "weatherkit" + # "webdav" + # "webhook" + # "whisper" + # "whois" + # "workday" + # "wyoming" + # "youtube" + # "zeroconf" + # "zha" + # "zone" + # ]; customComponents = with pkgs.home-assistant-custom-components; @@ -320,13 +328,7 @@ in dateparser psycopg2 ] - ++ (with pkgs.${namespace}; [ - gehomesdk - magicattr - pyoverseerr - python-roborock - wyzeapy - ]); + ++ customPackages; config = { # Includes dependencies for a basic setup