{ ... }: {
	# Allow Hass to talk to Zigbee dongle.
	users.users.hass.extraGroups = [
		"dialout"
		"tty"
	];

	services.home-assistant = {
		# NOTE: Missing: hacs. Inside hacs: `card-mod`, `Clock Weather Card`, `WallPanel` and `Yandex.Station`.
		enable = true;
		# NOTE: Using imperative config because of secrets.
		config = null;
		extraComponents = [
			"caldav"
			"met"
			"sun"
			"systemmonitor"
			"zha"
		];
		extraPackages = python3Packages: with python3Packages; [
			aiodhcpwatcher
			aiodiscover
			aiogithubapi
			arrow
			async-upnp-client
			av
			go2rtc-client
			gtts
			ha-ffmpeg
			hassil
			home-assistant-intents
			mutagen
			numpy
			pymicro-vad
			pynacl
			pyspeex-noise
			python-telegram-bot
			pyturbojpeg
			zeroconf
		];
		# lovelaceConfig = {
		#   title = "Home IoT control center.";
		# };
	};
}