Starting modularizing tex.nix into smaller sections

This commit is contained in:
isaacST08 2025-01-23 16:08:31 -07:00
commit 1f08c4eda7
3 changed files with 65 additions and 21 deletions

View file

@ -35,7 +35,7 @@ in {
./svelte.nix
./tailwind.nix
./terraform.nix
./tex.nix
./tex
./ts.nix
./typst.nix
./vala.nix

View file

@ -142,20 +142,25 @@
custom = buildConfig: buildConfig.custom.args;
};
in {
imports = [
./treesitter.nix
];
options.vim.languages.tex = {
enable = mkEnableOption "Tex support";
# Treesitter options for latex and bibtex flavours of tex.
treesitter = {
latex = {
enable = mkEnableTreesitterOption "Whether to enable Latex treesitter";
package = mkGrammarOption pkgs "latex";
};
bibtex = {
enable = mkEnableTreesitterOption "Whether to enable Bibtex treesitter";
package = mkGrammarOption pkgs "bibtex";
};
};
# # Treesitter options for latex and bibtex flavours of tex.
# treesitter = {
# latex = {
# enable = mkEnableTreesitterOption "Whether to enable Latex treesitter";
# package = mkGrammarOption pkgs "latex";
# };
# bibtex = {
# enable = mkEnableTreesitterOption "Whether to enable Bibtex treesitter";
# package = mkGrammarOption pkgs "bibtex";
# };
# };
# LSP options
# Because tex LSPs also including building/compiling tex, they have
@ -485,15 +490,15 @@ in {
};
config = mkIf cfg.enable (mkMerge [
# Treesitter
(mkIf cfg.treesitter.latex.enable {
vim.treesitter.enable = true;
vim.treesitter.grammars = [cfg.treesitter.latex.package];
})
(mkIf cfg.treesitter.bibtex.enable {
vim.treesitter.enable = true;
vim.treesitter.grammars = [cfg.treesitter.bibtex.package];
})
# # Treesitter
# (mkIf cfg.treesitter.latex.enable {
# vim.treesitter.enable = true;
# vim.treesitter.grammars = [cfg.treesitter.latex.package];
# })
# (mkIf cfg.treesitter.bibtex.enable {
# vim.treesitter.enable = true;
# vim.treesitter.grammars = [cfg.treesitter.bibtex.package];
# })
# LSP
(mkIf (any (x: x.enable) (attrValues cfg.lsp)) (

View file

@ -0,0 +1,39 @@
{
config,
pkgs,
lib,
...
}:
let
inherit (lib.options) mkEnableOption;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption;
cfg = config.vim.languages.tex;
mkEnableTreesitterOption =
description: mkEnableOption description // { default = config.vim.languages.enableTreesitter; };
in
{
options.vim.languages.tex.treesitter = {
latex = {
enable = mkEnableTreesitterOption "Whether to enable Latex treesitter";
package = mkGrammarOption pkgs "latex";
};
bibtex = {
enable = mkEnableTreesitterOption "Whether to enable Bibtex treesitter";
package = mkGrammarOption pkgs "bibtex";
};
};
config = mkIf cfg.enable (mkMerge [
(mkIf cfg.treesitter.latex.enable {
vim.treesitter.enable = true;
vim.treesitter.grammars = [ cfg.treesitter.latex.package ];
})
(mkIf cfg.treesitter.bibtex.enable {
vim.treesitter.enable = true;
vim.treesitter.grammars = [ cfg.treesitter.bibtex.package ];
})
]);
}