Move home-manager setup back into being NixOS module where possible
Parameterise common elements of system config to minimise rewriting and
pass as function to all places needed
nvim repo has been converted to flake for easier inclusion but still
stand-alone for non-nix systems
Move tokyonight repo fetch to flake input to keep consistent and reduce
multiple fetch calls
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