nixos-config/users
Gabriel Arazas c35bb4b185
config: improve conditional for checking NixOS module
This is mainly for integrating NixOS modules with home-manager by
setting them conditionally if certain options are enabled. This prevents
duplicate configurations which often result in conflicts (like the
Firefox module that is both available on NixOS and home-manager).
2023-09-25 23:00:40 +08:00
..
home-manager config: improve conditional for checking NixOS module 2023-09-25 23:00:40 +08:00
nixos users/nixos: update Nix caches 2023-06-27 15:58:02 +08:00
README.adoc docs: update 2022-11-29 15:58:33 +08:00

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 shouldnt fully configure their respective system and should be put as a host configuration otherwise.

Users shouldnt also have their own set of modules similar to this projects own modules. They should be imported as a profile or hardcoded in the user config.

Take note of the following structure:

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 ../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 [1], and so forth. If you want to set users from the host, see 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 own home-manager modules are imported.


1. Though, it is encouraged to put it as a separate home-manager user configuration if its big enough.