49 lines
1.3 KiB
Nix
49 lines
1.3 KiB
Nix
|
# inspired by https://flyx.org/nix-flakes-latex/
|
||
|
{ description = "A latex template";
|
||
|
inputs = {
|
||
|
nixpkgs.url = github:nixos/nixpkgs/nixos-23.05;
|
||
|
flake-utils.url = github:numtide/flake-utils;
|
||
|
};
|
||
|
outputs = { self, nixpkgs, flake-utils}:
|
||
|
flake-utils.lib.eachDefaultSystem (system:
|
||
|
let pkgs = import nixpkgs { inherit system; };
|
||
|
texInput = "main";
|
||
|
# If you're not lazy, figure out what dependencies you need.
|
||
|
# If you are lazy, just take the full scheme.
|
||
|
tex = (pkgs.texlive.combine {
|
||
|
inherit (pkgs.texlive) scheme-full;
|
||
|
#scheme-basic latex-bin latexmk;
|
||
|
});
|
||
|
in {
|
||
|
packages = rec {
|
||
|
document = pkgs.stdenvNoCC.mkDerivation rec {
|
||
|
pname = throw "put document name here";
|
||
|
version = "0.0";
|
||
|
src = ./src;
|
||
|
buildInputs = with pkgs; [
|
||
|
tex
|
||
|
];
|
||
|
buildPhase = ''
|
||
|
mkdir -p .cache/texmf-var
|
||
|
env TEXMFHOME=.cache TEXMFVAR=.cache/texmf-var \
|
||
|
latexmk -interaction=nonstopmode -pdf -lualatex \
|
||
|
${texInput}.tex
|
||
|
'';
|
||
|
installPhase = ''
|
||
|
mkdir -p $out
|
||
|
cp ${texInput}.pdf $out/
|
||
|
'';
|
||
|
};
|
||
|
default = document;
|
||
|
};
|
||
|
|
||
|
devShells.default = pkgs.mkShell {
|
||
|
buildInputs = with pkgs; [
|
||
|
texlab # my language server of choice
|
||
|
tex
|
||
|
];
|
||
|
};
|
||
|
|
||
|
});
|
||
|
}
|