2023-02-20 11:42:13 +01:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
config,
|
|
|
|
...
|
|
|
|
}: let
|
2023-02-14 20:48:13 +01:00
|
|
|
cfg = config.plugins.vimtex;
|
2023-02-20 11:42:13 +01:00
|
|
|
helpers = import ../helpers.nix {inherit lib;};
|
2023-02-14 20:48:13 +01:00
|
|
|
in
|
2023-02-20 11:42:13 +01:00
|
|
|
with lib; {
|
|
|
|
options.plugins.vimtex = {
|
|
|
|
enable = mkEnableOption "vimtex";
|
2023-02-14 20:48:13 +01:00
|
|
|
|
2023-02-20 11:42:13 +01:00
|
|
|
package = helpers.mkPackageOption "vimtex" pkgs.vimPlugins.vimtex;
|
2023-02-14 20:48:13 +01:00
|
|
|
|
2023-03-02 14:01:31 +01:00
|
|
|
extraConfig = mkOption {
|
|
|
|
type = types.attrs;
|
|
|
|
description = ''
|
|
|
|
The configuration options for vimtex without the 'vimtex_' prefix.
|
|
|
|
Example: To set 'vimtex_compiler_enabled' to 1, write
|
|
|
|
extraConfig = {
|
|
|
|
compiler_enabled = true;
|
|
|
|
};
|
|
|
|
'';
|
|
|
|
default = {};
|
|
|
|
};
|
2023-02-20 11:42:13 +01:00
|
|
|
};
|
2023-02-14 20:48:13 +01:00
|
|
|
|
2023-02-20 11:42:13 +01:00
|
|
|
config = let
|
|
|
|
globals =
|
|
|
|
{
|
|
|
|
enabled = cfg.enable;
|
2023-03-01 16:21:07 +01:00
|
|
|
callback_progpath = "nvim";
|
2023-02-20 11:42:13 +01:00
|
|
|
}
|
|
|
|
// cfg.extraConfig;
|
2023-02-14 20:48:13 +01:00
|
|
|
in
|
2023-02-20 11:42:13 +01:00
|
|
|
mkIf cfg.enable {
|
|
|
|
extraPlugins = [cfg.package];
|
2023-02-14 20:48:13 +01:00
|
|
|
|
2023-02-20 11:42:13 +01:00
|
|
|
# Usefull for inverse search
|
|
|
|
extraPackages = with pkgs; [pstree xdotool];
|
2023-02-14 20:48:13 +01:00
|
|
|
|
2023-02-20 11:42:13 +01:00
|
|
|
globals = mapAttrs' (name: value: nameValuePair ("vimtex_" + name) value) globals;
|
|
|
|
};
|
|
|
|
}
|