···6677- flake.nix: Central file for exporting all my configs and anything else I need.
88- lib.nix: Helper functions
99-- systems/: All systems this flake configures, each system has some options that describe it but the main thing that determines what options they set are _roles_.
1010-- roles/: A role is a feature a system can have (ex. the `graphics` role enables Hyprland, GUI apps, etc). Roles can either be a singular nix file, or a folder of them if they're complicated. Files named `role1+role2.nix` represent an _overlap_ role, which is applied if all roles delimited by `+` are turned on.
99+- systems/: All systems this flake configures, each system has some options that
1010+ describe it but the main thing that determines what options they set are _roles_.
1111+- roles/: A role is a feature a system can have (ex. the `graphics` role enables
1212+ Hyprland, GUI apps, etc). Roles can either be a singular nix file, or a folder
1313+ of them if they're complicated. Files named `role1+role2.nix` represent an
1414+ _overlap_ role, which is applied if all roles delimited by `+` are turned on.
1115- base/: This folder contains modules applied unconditionally to all systems.
1216- res/: Non-nix files used in the config. Pictures, scripts, etc.
1317- pkgs/: Custom nix packages made for my config.