Currently there are too many serious issues to realistically use
Hyprland on the PinePhone, and Phosh supports most of the features
we need out of the box anyway, so it makes sense to use that full-time
over trying to make something else work.
Now it's possible to use whatever username you want for your system. The
default value of "user" is good if you're concerned about information
disclosure attacks through things like the username being visible in
logs or other output.
Now it's possible to use the specializations in arbitrary configs. Note
that specializations do slow things down a bit so they may be disabled
by default in the future.
This makes it possible to define specializations that are technically
modules without having them placed in the modules directory. This is
mainly useful to separate core Hyprland logic from desktop environment
logic.
This *works*, and the best part is I didn't have to do *anything* (besides
write this configuration file, that is).
Thanks to NixOS, it is possible to have GNOME, Plasma, Hyprland, and
whatever else you want installed on the same computer without those
desktop environments conflicting with each other. This configuration is
done in a fully reproducible and declarative setup with minimal code,
without having to modify any external files or run any imperative
commands.
This makes it possible to boot into either Hyprland (the default) or
GNOME. Having separate configurations implemented in combination with
home-manager and impermanence guarantees that desktop environments don't
conflict withe each other, so this could also be used to implement a
Plasma specialization in the future.