{pkgs, ...}: { # allow openssl 1.1 because home-assistant requires it :( # https://github.com/NixOS/nixpkgs/issues/269713 nixpkgs.config.permittedInsecurePackages = ["openssl-1.1.1w"]; services.home-assistant = let package = (pkgs.home-assistant.override { extraPackages = pythonPackages: with pythonPackages; [ aiounifi # ubiquity router aiowebostv # lg webOS tv psycopg2 # postgres pyatv # apple tv pyicloud # apple icloud python-miio # roborock securetar # backup ]; }) .overrideAttrs (oldAttrs: { doInstallCheck = false; }); in { inherit package; enable = true; extraComponents = [ "met" "radio_browser" ]; config = { # Includes dependencies for a basic setup # https://www.home-assistant.io/integrations/default_config/ default_config = {}; recorder.db_url = "postgresql://@/hass"; }; }; services.postgresql = { enable = true; package = pkgs.postgresql_14; ensureDatabases = ["hass"]; ensureUsers = [ { name = "hass"; ensureDBOwnership = true; } ]; }; }