convert to using flake-parts and easy-hosts for the flake system. This
allows me to remove my poor file-system based code and replace it with
the code done in easy-hosts. Which also has good knock-on effects.
This change factors users out of hosts, which is probably a good change
since users aren't a nixos-module, but aren't completely untangled
either.
I'm going to leave users broken for a minute as I decide exactly how I
want to handle them.
Sets up a config for Niri which involved both the host and user config
settings. It's a semi basic set up to be improved on further later.
This also needs to bump flake so that niri can be added to the flake
update. I don't know what the flake bump date was at this point, so I'll
have to bump it again soon.
This needs to break apart the "waylandcompositors" service to allow niri
and hypr to better fit the directory structure. Otherwise Hypr is
unchanged.
need to update the tuigreet default WM based on the currently selected
one. Currently prioritizes Hyprland > Niri because I didn't want to
write assert code...
This converts from the old manually defined users in flake.nix to a
dynamically defined users based on the directory structure. This is the
same as ba5fd48 but for users instead of hosts.
This adds some code to flake.nix to read the directory of hosts/ and
find all hosts based on their host.nix file, and set the hostname based
on the directory.
I don't know enough about hostnames to know what are valid characters,
but in the future this could allow a hostname such as "servers/madoka"
which may be an issue. For now the structure is simple enough of
"hosts/name" resulting in hostname "name"
Another commit is planned which will do the same thing for users
Previously the home-manager and nixos sections of my config had been
separated into different branches on the same repository. This commit
merges the home-manager modules into the directory, and convert the
"systems" that used to be on each branch into hosts and users.
The goal of this change is to make it easier to see the hosts and users
paradigm, as well as limit the number of locations the git repository is
installed. Additionally, having different branches tracking different
changes was silly for a git repository.