This is part of making the config easier to understand for users by only
having directories that directly map to flake outputs.
This also simplifies using the config a bit since it's possible to
remove containers entirely by simply deleting the containers.nix file.
The wg-mullvad interface was at some point renamed to wg0-mullvad.
Note that in the future this method can be used to prevent certain
containers from accessing the internet in a similar way.
At some point this started causing the /run/user/1000 directory to be
deleted when changing container configurations, which was definitely not
ideal.
An alternative approach will have to be taken if we want the wine
container to auto-start on boot.
This is the start of my fun attempt at using NixOS containers for web
services as a Docker replacement.
After spending some time on other servers I realized that I don't
actually *need* my dotfiles on those servers, so it becomes
significantly faster to build these containers without worrying about
home-manager and command-line programs I use on the host.
Main advantages include web service configuration with Nix instead of
Docker. Disadvantages include increased complexity for anything that
isn't already maintained by others in nixpkgs.
It turns out that I shouldn't actually need graphical container support
for most containers, which might also improve build times with multiple
containers.
Prevents an issue where previously it'd be possible for a nixos-rebuild
to stop during the middle of compilation during a build failure, which
is problematic for longer builds.
Note that deno was removed since it still fails to handle things like
Next.js with the 2.0 release candidate and I'd rather not have to deal
with all the other issues I faced while trying to use it with React.
Makes it easier to use stylix without depending on other parts of the
desktop. Mainly useful for using stylix with the phone module without
including desktop-related stuff.
Makes it possible to enable phone support for different devices in the
future.
Note that programs.man.generateCaches in home-manager is handled at the
system level to avoid having to later override it with mkForce.
Since the goal of this nix-config is to make a consistent environment
across any number of systems, having options goes against this.
If these configuration values need to be changed, they should affect all
systems using the config by default.