diff options
author | tv <tv@krebsco.de> | 2021-12-08 01:05:35 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2021-12-08 03:15:44 +0100 |
commit | c934073436f1b19289634ad1abda6d40d26afb14 (patch) | |
tree | 0c02f31e599443390dd61692079c30e31fa917bc /README.md |
import tex2nix bits
From https://github.com/Mic92/tex2nix commit 9379d49
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..1072dcf --- /dev/null +++ b/README.md @@ -0,0 +1,68 @@ +# tex2nix + +Generate Texlive environment containing all dependencies for your document +rather than downloading gigabytes of texlive packages. + +## Installation + +With stable nix you can do: + +``` console +nix-build && ./result/bin/tex2nix +``` + +If you use flakes put the following in your inputs + +```nix +{ + inputs.tex2nix.url = "github:Mic92/tex2nix"; + inputs.tex2nix.inputs.utils.follows = "nixpkgs"; +} +``` + +or just do: + +```console +$ nix run github:Mic92/tex2nix +``` + + +## USAGE + +```console +$ tex2nix main.tex +wrote tex-env.nix +$ cat tex-env.nix +# Generated with tex2nix 0.0.0 +{ texlive }: +(texlive.combine { + inherit (texlive) scheme-small; + "varwidth" = texlive."varwidth"; + "tabu" = texlive."tabu"; + +}) +``` + +tex2nix does not follow `\input` or `\include`. However you can specify multiple +texfiles as input + +```console +$ tex2nix *.tex +``` + +The resulting expression can be imported like this to in your document directory: + +```nix +# shell.nix +with import <nixpkgs> {}; +mkShell { + buildInputs = [ (pkgs.callPackage ./tex-env.nix {}) ]; +} +``` + +``` console +$ nix-shell shell.nix +nix-shell> pdflatex --version +pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020/NixOS.org) +... +``` |