diff --git a/modules/nixos/homeassistant/services/homeassistant/default.nix b/modules/nixos/homeassistant/services/homeassistant/default.nix index 9635fe2..87c5561 100644 --- a/modules/nixos/homeassistant/services/homeassistant/default.nix +++ b/modules/nixos/homeassistant/services/homeassistant/default.nix @@ -234,6 +234,7 @@ in # /packages pkgs.${namespace}.ha-anycubic pkgs.${namespace}.ha-bambulab + pkgs.${namespace}.ha-bedjet pkgs.${namespace}.ha-gehome pkgs.${namespace}.ha-icloud3 pkgs.${namespace}.ha-mail-and-packages diff --git a/modules/nixos/services/matrix/default.nix.conduit b/modules/nixos/services/matrix/default.nix.conduit new file mode 100644 index 0000000..d1707a2 --- /dev/null +++ b/modules/nixos/services/matrix/default.nix.conduit @@ -0,0 +1,82 @@ +{ config, lib, namespace, ... }: +let + inherit (lib.${namespace}) mkOpt mkReverseProxyOpt; + cfg = config.${namespace}.services.matrix; + + matrixConfig = { + services = { + matrix-conduit = { + enable = true; + settings = { + global = { + server_name = "mjallen.dev"; + address = "0.0.0.0"; + port = cfg.port; + allow_registration = false; + well_known = { + client = "https://matrix.mjallen.dev"; + server = "matrix.mjallen.dev:443"; + }; + }; + }; + }; + }; + + networking = { + firewall = { + enable = true; + allowedTCPPorts = [ cfg.port 8448 ]; + allowedUDPPorts = [ cfg.port 8448 ]; + }; + # Use systemd-resolved inside the container + # Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686 + useHostResolvConf = lib.mkForce false; + }; + services.resolved.enable = true; + }; + + bindMounts = { + "/var/lib" = { + hostPath = cfg.dataDir; + isReadOnly = false; + }; + }; + + # Create reverse proxy configuration using mkReverseProxy + reverseProxyConfig = lib.${namespace}.mkReverseProxy { + name = "matrix"; + subdomain = cfg.reverseProxy.subdomain; + url = "http://${cfg.localAddress}:${toString cfg.port}"; + middlewares = cfg.reverseProxy.middlewares; + }; + + matrixContainer = (lib.${namespace}.mkContainer { + name = "matrix-conduit"; + localAddress = cfg.localAddress; + port = cfg.port; + bindMounts = bindMounts; + config = matrixConfig; + }) { inherit lib; }; + + fullConfig = { + ${namespace}.services.traefik = lib.mkIf cfg.reverseProxy.enable { + reverseProxies = [ reverseProxyConfig ]; + }; + } // matrixContainer; +in +with lib; +{ + options.${namespace}.services.matrix = { + enable = mkEnableOption "matrix service"; + + port = mkOpt types.int 8008 "Port for Actual to be hosted on"; + + localAddress = mkOpt types.str "127.0.0.1" "local address of the service"; + + dataDir = mkOpt types.str "" "Path to the data dir"; + + reverseProxy = mkReverseProxyOpt; + }; + + config = lib.mkIf cfg.enable fullConfig; +} \ No newline at end of file diff --git a/packages/homeassistant/ha-bedjet/default.nix b/packages/homeassistant/ha-bedjet/default.nix index aa66347..115812a 100644 --- a/packages/homeassistant/ha-bedjet/default.nix +++ b/packages/homeassistant/ha-bedjet/default.nix @@ -2,7 +2,6 @@ buildHomeAssistantComponent, python3Packages, fetchFromGitHub, - lib, ... }: buildHomeAssistantComponent rec { @@ -14,7 +13,7 @@ buildHomeAssistantComponent rec { owner = owner; repo = "ha-bedjet"; rev = version; - hash = lib.fakeHash; + hash = "sha256-rjn9dUM6Tntps2KECdHCdp1FhFg1uEaByXFlrwn4AAU="; }; propagatedBuildInputs = with python3Packages; [