It is both.
Home Assistant created an OS for appliance like installations.
But there is also the docker images, repo packages (I know Arch Linux has it in the repo) and pip based packages too.
docker images
Is not distro packages.
Arch Linux
It’s not in Debian. There’s no Red Hat packages either. Or OpenSUSE. It’s not even in OpenWrt which would make the most sense. So it looks like no useful, practical distro packages.
pip
Is not distro packages.
A lot of software isn’t packaged for Debian. Especially complex ones and webapplications tend to be Docker containers or something like that. Home Assistant has a lot of Python dependencies which are a chore to maintain the Debian way. Same probably applies to some other distros. I mean it can be done, as Arch and NixOS show…
And you have Docker, you can install HA core in a Python virtual environment on any distro, or install Supervised, or the appliance (OS).
So there are many ways to install it. And I have the same complaint for other software. For example I’d like Nextcloud and a few other collaboration services to be available as distro packages. Sadly they aren’t available like that.
A lot of software isn’t packaged for Debian.
Yes, often projects which are engineered without distros in mind. Which is to say, engineered poorly.
You didn’t mention in your OP that it had to be debian distro packages. I just gave examples of HA being packaged in other ways than a complete OS.
I could have said: “If you want to run HA from packages, you need to install Arch!” But I didn’t. Chill out.
I installed it on my home Ubuntu server many years ago. Every now and then I get notification in HA, that my OS is unsupported. And if I want to update HA, add-ons or Supervisor, I can’t, because “Docker is misconfigured” - I have Portainer installed. In order.to update, I have to stop Portainer and restart HA Supervisor. HA itself works, but sometimes I don’t get it. Especially the Portainer bit.
For some reason, on Ubuntu, the Supervisor container loses its “privileged” status. I’m not sure if it periodically restarts itself or something , but that also was happening to me.
I moved my setup to Debian 12, did a fresh Supervised install, and then restored a full backup from my Ubuntu instance and I haven’t had this issue since.