I originally thought a monorepo was the way to go here and, although it
worked, I do want to keep this config as simple as possible for people
that just want to see how to set up Hyprland/dwm on NixOS.
For those curious in running NixOS on a phone specifically, there will
soon be a separate mobile-config repository that should make learning
from it easier.
Reduces complexity since we no longer have to manually update each
package from a non-firefox source.
Requires internet connectivity at runtime but should ensure that the
extensions are always up to date.
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.