# NixOS Configuration
Modular NixOS configuration, using Hyprland for a lightweight desktop.

To install, run `nixos-rebuild` with the `--flake` parameter from the `NixFlake` directory: `nixos-rebuild switch --flake .#nixinator`.
## NixFlake/system
Contains all the system configurations.
- There is a common configuration used for all systems: `NixFlake/system/default.nix`
- Every system has its own special configuration: `NixFlake/system//default.nix`
- System modules are located in `NixFlake/system/modules`
When creating a NixOS configuration inside the `NixFlake/flake.nix` the common configuration is imported.
Because the hostname is propagated to the common configuration, it can import the host-specific config by itself.
## NixFlake/home
Contains all the home-manager configurations.
- There is a common configuration for each user: `NixFlake/home//default.nix`
- There is a configuration for a single system of this user: `NixFlake/home///default.nix`
- Home-Manager modules are located in `NixFlake/home/modules`
When creating a NixOS configuration inside the `NixFlake/flake.nix` the common configuration is imported.
Because the hostname is propagated to the common configuration, it can import the host-specific config by itself.
## NixFlake/derivations
Contains all the stuff I packaged.
Each derivation is loaded into `NixFlake/derivations/default.nix`.
## NixFlake/overlays
Contains (not at the moment) all overlays.
The `NixFlake/overlays/default.nix` imports all of the overlays and all of the derivations.
It is then imported by the toplevel `NixFlake/flake.nix`, to make everything available to the system/home configurations.