neovim: support new extraPython*Packages options

Also fix `configure` argument.
This commit is contained in:
Roman Volosatovs 2018-09-08 17:10:32 +02:00 committed by Robert Helgesson
parent 8d2cb0ef9b
commit 63efd26767
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89

View file

@ -6,6 +6,24 @@ let
cfg = config.programs.neovim;
extraPythonPackageType = mkOptionType {
name = "extra-python-packages";
description = "python packages in python.withPackages format";
check = with types; (x: if isFunction x
then isList (x pkgs.pythonPackages)
else false);
merge = mergeOneOption;
};
extraPython3PackageType = mkOptionType {
name = "extra-python3-packages";
description = "python3 packages in python.withPackages format";
check = with types; (x: if isFunction x
then isList (x pkgs.python3Packages)
else false);
merge = mergeOneOption;
};
in
{
@ -39,12 +57,13 @@ in
};
extraPythonPackages = mkOption {
type = types.listOf types.package;
default = [ ];
example = literalExample "with pkgs.python2Packages; [ pandas jedi ]";
type = with types; either extraPythonPackageType (listOf package);
default = (_: []);
defaultText = "ps: []";
example = literalExample "(ps: with ps; [ pandas jedi ])";
description = ''
List here Python 2 packages required for your plugins to
work.
A function in python.withPackages format, which returns a
list of Python 2 packages required for your plugins to work.
'';
};
@ -66,18 +85,19 @@ in
};
extraPython3Packages = mkOption {
type = types.listOf types.package;
default = [ ];
example = literalExample
"with pkgs.python3Packages; [ python-language-server ]";
type = with types; either extraPython3PackageType (listOf package);
default = (_: []);
defaultText = "ps: []";
example = literalExample "(ps: with ps; [ python-language-server ])";
description = ''
List here Python 3 packages required for your plugins to work.
A function in python.withPackages format, which returns a
list of Python 3 packages required for your plugins to work.
'';
};
configure = mkOption {
type = types.nullOr types.attrs;
default = null;
type = types.attrs;
default = {};
example = literalExample ''
configure = {
customRC = $''''
@ -92,7 +112,7 @@ in
};
'';
description = ''
Generate your init file from your list of plugins and custom commands,
Generate your init file from your list of plugins and custom commands,
and loads it from the store via <command>nvim -u /nix/store/hash-vimrc</command>
'';
};