feat: Context for host with home-manager users. (#123)
See [#den > Set user unspecific home-manager
options](https://oeiuwq.zulipchat.com/#narrow/channel/548534-den/topic/Set.20user.20unspecific.20home-manager.20options/with/563739770)
This changeset introduces a new Den core context: `{ HM-OS-HOST }`
invoked on host aspects. This context is used by our home-manager
integration but can also be used by any other host aspect to detect when
HM is enabled, for example to set `useGlobalPkgs`.
This context is produced by `hm-os-host.nix` when it detects any host
that has an OS supported by home-manager AND has at least one user with
`homeManager` class.
The aspect from `hm-os-host.nix` is internal, always included in
`den.default`.
When `den._.home-manager` integration is enabled, it reacts to the
`host-aspect { HM-OS-HOST }` context and setups home-manager
integration. For each user it calls `user-aspect { HM-OS-USER }` for
hm-dependencies.nix to include the correct dependencies.
home-manager related code has been moved to ./provides/home-manager/.
authored by
oeiuwq.com
and committed by