5f077e2296
Option aliases/deprecations can now be declared in any NixOS module, not just in nixos/modules/rename.nix. This is more modular (since it allows for example grub-related aliases to be declared in the grub module), and allows aliases outside of NixOS (e.g. in NixOps modules). The syntax is a bit funky. Ideally we'd have something like: options = { foo.bar.newOption = mkOption { ... }; foo.bar.oldOption = mkAliasOption [ "foo" "bar" "newOption" ]; }; but that's not possible because options cannot define values in *other* options - you need to have a "config" for that. So instead we have functions that return a *module*: mkRemovedOptionModule, mkRenamedOptionModule and mkAliasOptionModule. These can be used via "imports", e.g. imports = [ (mkAliasOptionModule [ "foo" "bar" "oldOption" ] [ "foo" "bar" "newOption" ]); ]; As an added bonus, deprecation warnings now show the file name of the offending module. Fixes #10385. |
||
---|---|---|
.. | ||
tests | ||
attrsets.nix | ||
composable-derivation.nix | ||
customisation.nix | ||
debug.nix | ||
default.nix | ||
deprecated.nix | ||
licenses.nix | ||
lists.nix | ||
maintainers.nix | ||
meta.nix | ||
modules.nix | ||
options.nix | ||
platforms.nix | ||
sources.nix | ||
strings-with-deps.nix | ||
strings.nix | ||
systems.nix | ||
tests.nix | ||
trivial.nix | ||
types.nix |