Moved everything from core into modules. I want to get all the NixOS
stuff moved first, and do home-manager after. I used the different
profiles to disable configuration that might break my server, as it has
its own configuration already. This will need to be refactored later, as
I want to ultimately only use the local module system.
The next step in the refactoring is to add different profiles, so that
we may toggle them easily in our hosts. Here's the profiles I went for:
- desktop: enables everything a desktop computer needs (graphics,
productivity apps, base apps such as browsers...)
- gaming: enables gaming configurations (steam, gamescope...)
- server: enables server configurations (website hosting, git forge...)
I made sure the server profile can not be enabled if desktop/gaming are
enabled, as it would not make sense to have desktop applications and
configurations on a server.
This is temporary, as we're going to get rid of that awkward style
module that was meant to be shared, but ended up being too specific to
my use-case. We just put it in a nix directory for now, as we will with
everything else. This will be refactored later to be mixed with the
relevant program's configuration.
The idea of this refactor is, as the configuration is getting bigger and
more complex, to move everything into a local modules system. The idea
is to simplify hosts declaration and add a new layer of abstraction to
avoid the long and redundant imports in hosts/default.nix, that I am
currently using.
First, we're going to move everything to the modules directory, and
split options from the proper configuration. That allows us to have an
easier time understanding how the options are structured, as they will
follow the directory structure and won't be mixed with the module
configuration.