68 lines
1.2 KiB
Nix
68 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
with lib;
|
|
let
|
|
cfg = config.modules.tex;
|
|
in
|
|
{
|
|
options.modules.tex = {
|
|
enable = mkEnableOption "tex";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
# Development packages
|
|
home.packages = with pkgs; [
|
|
(texlive.combine {
|
|
inherit (texlive) scheme-full;
|
|
})
|
|
];
|
|
|
|
# Pygments for minted
|
|
modules.python.extraPythonPackages = p: [
|
|
p.pygments
|
|
];
|
|
|
|
# VSCode configuration
|
|
programs.vscode = {
|
|
extensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide ];
|
|
|
|
userSettings = {
|
|
"[tex]" = { };
|
|
};
|
|
};
|
|
|
|
# Neovim configuration
|
|
programs.nixvim = {
|
|
extraConfigVim = ''
|
|
" Enforce latexmk
|
|
let g:vimtex_compiler_method = 'latexmk'
|
|
|
|
" Set latexmk compilation settings
|
|
let g:vimtex_compiler_latexmk = {
|
|
\ 'options': [
|
|
\ '-shell-escape',
|
|
\ '-verbose',
|
|
\ '-file-line-error',
|
|
\ '-synctex=1',
|
|
\ '-interaction=nonstopmode',
|
|
\ ],
|
|
\}
|
|
'';
|
|
|
|
# Vimtex plugin
|
|
plugins.vimtex = {
|
|
enable = true;
|
|
texlivePackage = null;
|
|
settings = {
|
|
view_method = "zathura";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|