neovim: support new extraPython*Packages options, fix configure

This commit is contained in:
Roman Volosatovs 2018-09-08 17:10:32 +02:00
parent 453d0494fb
commit 8961d516ce
No known key found for this signature in database
GPG key ID: 3AC661943D80C89E

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,12 @@ in
};
extraPythonPackages = mkOption {
type = types.listOf types.package;
default = [ ];
example = literalExample "with pkgs.python2Packages; [ pandas jedi ]";
type = with types; either extraPythonPackageType (listOf package);
default = (_: []);
example = literalExample "(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 +84,18 @@ 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 = (_: []);
example = literalExample "(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 +110,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>
'';
};