Reduce complexity and in flake.nix and be more efficient in re-using
things
Removed some reduandant files in home/ and tidied up the structure
somewhat
Moved things from desktop, gui, etc... to top level
Changed env to shell, indiv shell expressions import relevant others
Move home config back into nixos, too annoying to
maintain as separate when not needed
Regoup nix expressions logically, make use of defaults and
create GUI collections to minimise code needed for common
machine definitions