···11+# NixOS Config
22+33+> New! Improved! Weird!
44+55+This repo contains the flake I use to configure any of my NixOS-configured devices.
66+77+## Structure
88+99+- flake.nix: Central file for exporting all my configs and anything else I need.
1010+- lib.nix: Helper functions
1111+- systems/: All systems this flake configures, each system has some options that describe but the main thing that determines what configs they use are *roles*.
1212+- 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.
1313+- base/: This folder contains modules applied unconditionally to all systems.
1414+- res/: Non-nix files used in the config. Pictures, etc.
1515+- pkgs/: Custom nix packages made for my config.
1616+- create-sys/: WIP tool for automating the creation of new systems. Currently just has an interactive prompt for adding a new `.nix` file to `systems/`.
1717+1818+## Implementation
1919+2020+I'm not going to lie, I have no idea what I'm doing. Is every feature here implmemented well? Definitely not, but that's okay!