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.
- GIT_DISCOVERY_ACROSS_FILESYSTEM shouldn't be needed anymore and was
likely a skill issue in the past.
- NODE_OPTIONS should be set per-project instead of globally.
- GATSBY_TELEMETRY_DISABLED should also be set per-project, although the
framework seems to be in standby mode currently.
I added specializations over a year ago when I was still new to NixOS
and trying out some of the many different features unique to it. These
days I don't need much more than a terminal and a web browser, and I
haven't used GNOME or Plasma in over a year at this point.
Nowadays everything I need from a computer I can accomplish with the
terminal. Nixpkgs trained me to dig deep into source code to figure out
how to do things, and using a PinePhone significantly improved my
awareness of how Linux interacts with hardware and how to configure it.
One of the biggest motivators for dropping these environments is that I
can't keep up with the changes that are made to GNOME and Plasma.
Hyprland has served my needs well and feels more stable since there
isn't a user interface that's constantly changing.