diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-10-14 18:05:50 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-10-14 18:18:47 +0200 |
commit | 5f077e229625583072ebf63ea48b11170771b0ed (patch) | |
tree | fcd1a6ee296febd5d0ba956dcff2f0176c9661b0 /nixos/modules/config | |
parent | 7b001ed68a6cc0dd4c2982fdf72c9c26d0595eee (diff) | |
download | nixpkgs-5f077e229625583072ebf63ea48b11170771b0ed.tar nixpkgs-5f077e229625583072ebf63ea48b11170771b0ed.tar.gz nixpkgs-5f077e229625583072ebf63ea48b11170771b0ed.tar.bz2 nixpkgs-5f077e229625583072ebf63ea48b11170771b0ed.tar.lz nixpkgs-5f077e229625583072ebf63ea48b11170771b0ed.tar.xz nixpkgs-5f077e229625583072ebf63ea48b11170771b0ed.tar.zst nixpkgs-5f077e229625583072ebf63ea48b11170771b0ed.zip |
Factor out option renaming
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.
Diffstat (limited to 'nixos/modules/config')
-rw-r--r-- | nixos/modules/config/users-groups.nix | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index adc014eed41..485926fb1dd 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -550,4 +550,8 @@ in { }; + imports = + [ (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ]) + (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ]) + ]; } |