Flake for my NixOS devices
at stylus-try 27 lines 1.3 kB view raw view rendered
1# NixOS Config 2 3This repo contains the flake I use to configure any of my NixOS-configured 4devices. 5 6## Structure 7 8- flake.nix: Central file for exporting all my configs and anything else I need. 9- lib.nix: Helper functions 10- systemconfigs/: All systems this flake configures, each system has some 11 options that describe it but the main thing that determines what options they 12 set are _roles_. 13- nixosModules/: A set of path-"routed" NixOS modules that represent "roles". A 14 role is a feature a system can have (ex. the `graphics` role enables Hyprland, 15 GUI apps, etc). Roles can either be a singular nix file, or a folder of them 16 if they're complicated. Files named `role1+role2.nix` represent an _overlap_ 17 role, which is applied if all roles delimited by `+` are turned on. 18- base/: This folder contains modules applied unconditionally to all systems. 19- res/: Non-nix files used in the config. Pictures, scripts, etc. 20- pkgs/: Custom nix packages made for my config. 21- create-sys/: WIP tool for automating the creation of new systems. Currently 22 just has an interactive prompt for adding a new `.nix` file to `systems/`. 23 24## Implementation 25 26I'm not going to lie, I have no idea what I'm doing. Is every feature here 27implmemented well? Definitely not, but that's okay!