···11# NixOS Config
2233-This repo contains the flake I use to configure any of my NixOS-configured devices.
33+This repo contains the flake I use to configure any of my NixOS-configured
44+devices.
4556## Structure
6778- flake.nix: Central file for exporting all my configs and anything else I need.
89- lib.nix: Helper functions
99-- systemconfigs/: All systems this flake configures, each system has some options
1010- that describe it but the main thing that determines what options they set
1111- are _roles_.
1212-- nixosModules/: A set of path-"routed" NixOS modules that represent "roles".
1313- A role is a feature a system can have (ex. the `graphics` role enables
1414- Hyprland, GUI apps, etc). Roles can either be a singular nix file, or a folder
1515- of them if they're complicated. Files named `role1+role2.nix` represent an
1616- _overlap_ role, which is applied if all roles delimited by `+` are turned on.
1010+- systemconfigs/: All systems this flake configures, each system has some
1111+ options that describe it but the main thing that determines what options they
1212+ set are _roles_.
1313+- nixosModules/: A set of path-"routed" NixOS modules that represent "roles". A
1414+ role is a feature a system can have (ex. the `graphics` role enables Hyprland,
1515+ GUI apps, etc). Roles can either be a singular nix file, or a folder of them
1616+ if they're complicated. Files named `role1+role2.nix` represent an _overlap_
1717+ role, which is applied if all roles delimited by `+` are turned on.
1718- base/: This folder contains modules applied unconditionally to all systems.
1819- res/: Non-nix files used in the config. Pictures, scripts, etc.
1920- pkgs/: Custom nix packages made for my config.
···22232324## Implementation
24252525-I'm not going to lie, I have no idea what I'm doing.
2626-Is every feature here implmemented well? Definitely not, but that's okay!
2626+I'm not going to lie, I have no idea what I'm doing. Is every feature here
2727+implmemented well? Definitely not, but that's okay!