mirror of
https://github.com/nix-community/home-manager
synced 2024-11-26 21:19:45 +01:00
26e72d85e6
This enables a module system feature documented here: https://nixos.org/manual/nixpkgs/stable/index.html#module-system-lib-evalModules-param-class For example, it allows a mistake to be caught, which is loading a NixOS module into home-manager. This only works when the offending module declares what it's for with a `_class` attribute. It is not expected that users declare the `_type`, because the payoff is small. It is only expected to be set by generic code, such as functions or libraries that help with the "publishing" of modules (e.g. flake-parts, flake-utils). The class feature has been available in the module system since https://github.com/NixOS/nixpkgs/pull/197547, merged May 6, 2023. It has been part of all releases since 23.05-beta. The last NixOS release that did _not_ support it has been end-of-life for close to a year now. Example: (lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = [{ _class = "nixos"; imports = [ ./foo.nix ]; }]; }).activation-script Corresponding error: error: The module <unknown-file> was imported into homeManager instead of nixos. (`<unknown-file>` can be improved by also setting `_file`, if known; a much older feature) PR #5339 |
||
---|---|---|
.. | ||
accounts | ||
config | ||
files | ||
i18n/input-method | ||
launchd | ||
lib | ||
lib-bash | ||
misc | ||
po | ||
programs | ||
services | ||
targets | ||
default.nix | ||
files.nix | ||
home-environment.nix | ||
manual.nix | ||
modules.nix | ||
systemd-activate.rb | ||
systemd-activate.sh | ||
systemd.nix | ||
xresources.nix | ||
xsession.nix |