[Nix-dev] NixOS modules: restrict the values of a `types.listOf x`

Eric Sagnes eric.sagnes at gmail.com
Fri Jan 22 08:06:40 CET 2016


Following the previous email,
As I found nothing doing that in lib.types, I played a little with nix-repl and made a PR adding this functionality

https://github.com/NixOS/nixpkgs/pull/12534

It was the first time I seriously used nix-repl and it is really nice.
Thanks for making a such useful tool!

On Fri, Jan 22, 2016 at 01:31:37PM +0900, Eric Sagnes wrote:
> Hi,
> 
> I would like to force an option of type `types.listOf packages` to allow only a certain list of packages.
> Something like `types.someOf packages [ pkgs.pluginA pkgs.pluginB pkgs.pluginC ]`.
> 
> So that if a user set `myModule.plugins = [ pkgs.pluginA pkgs.firefox ]`, it gives an error like 
> "Invalid value `pkgs.firefox` for `myModule.plugins. Values should be some of [ pkgs.pluginA pkgs.pluginB pkgs.pluginC ]";
> 
> Is there a way to achieve this?
> 
-- 
Eric Sagnes
サニエ エリック


More information about the nix-dev mailing list