Add options to disable the systemd user service and override
`home.sessionVariables`.
The systemd user service is often unnecessary when the desktop
environment supports XDG Autostart. Overriding `home.sessionVariables`
allows users to define the environment variables appropriate for their
desktop environment.
Fcitx5 accepts only exact True/False values for typed boolean options.
Normalize booleans before generating fcitx5 config files so Home Manager emits values that upstream will parse instead of resetting to defaults.
Instead of having to manually stub packages that should not be
downloaded we instead automatically stub all packages (except a small
list of whitelisted ones). Tests can re-introduce the real package by
using the `realPkgs` module argument.
This option provides a more convenient way to overlay dummy packages.
It also adds a function `config.lib.test.mkStubPackage` that can,
e.g., be used for `package` options.