= User-specific configuration :toc: This is where user-specific configurations comes in. Similar to modules, the top-level of this directory contains users for various profiles (e.g., home-manager, NixOS). As such, files put in here are only a part of the total sum of configuration (whether it is a home-manager configuration or a NixOS system). It shouldn't fully configure their respective system and should be put as a host configuration otherwise. Users shouldn't also have their own set of modules similar to this project's own modules. They should be imported as a profile or hardcoded in the user config. Take note of the following structure: [source, tree] ---- users/ ├── home-manager/ │ ├── foo-dogsquared/ │ ├── harepoint/ │   └── polski/ ├── nixos/ │ ├── foo-dogsquared/ │ ├── harepoint/ │   └── vmguest/ └── README.adoc ---- This folder is to be expected to be imported through `lib.filesToAttr` from the link:../lib/default.nix[`../lib/default.nix`]. There are conventions for setting in each user type. * For NixOS user configuration, it is expect to only have one user with their respective user-specific configuration. This includes user-specific packages, home-manager-specific configuration footnote:[Though, it is encouraged to put it as a separate home-manager user configuration if it's big enough.], and so forth. If you want to set users from the host, see link:../hosts/README.adoc[Host-specific configurations] for more details. * home-manager users are just home-manager configurations (i.e., `$XDG_CONFIG_HOME/nix/home.nix`). Take note that it is assumed that my link:../modules/home-manager/[own home-manager modules] are imported.