{ description = "Build LaTeX Academic CV - Matt Morin"; inputs = { nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable; flake-utils.url = github:numtide/flake-utils; }; outputs = { self, nixpkgs, flake-utils }: with flake-utils.lib; eachSystem allSystems (system: let pkgs = nixpkgs.legacyPackages.${system}; tex = pkgs.texlive.combine { inherit (pkgs.texlive) scheme-basic latexmk fontawesome5 accsupp geometry extsizes etoolbox pdfx xcolor # xparse # scrlfile tikzpagenodes hyperref # arrows fontspec cmap # inputenc # fontenc # tikz tcolorbox enumitem # graphicx # trimclip dashrule multirow # tabularx changepage # pgffor ; }; vars = ["sender" "receiver"]; texvars = toString (pkgs.lib.imap1 (i: n: ''\def\${n}{${"$" + (toString i)}}'') vars); in rec { packages = { document = pkgs.stdenvNoCC.mkDerivation rec { name = "matt_morin_cv"; src = self; propagatedBuildInputs = [ pkgs.coreutils tex ]; phases = ["unpackPhase" "buildPhase" "installPhase"]; buildPhase = '' export PATH="${pkgs.lib.makeBinPath propagatedBuildInputs }"; DIR=$(mktemp -d) mkdir -p "$DIR/.texcache/texmf-var" env TEXMFHOME="$DIR/.cache" \ TEXMFVAR="$DIR/.cache/texmf-var" \ OSFONTDIR=${pkgs.font-awesome_5}/share/fonts \ latexmk -interaction=nonstopmode -pdf -lualatex \ -output-directory="$DIR" \ -pretex="\pdfvariable suppressoptionalinfo 512\relax" \ **matt_morin_cv.tex # source cp "$DIR/matt_morin_cv.pdf" matt_morin_cv.pdf # from /build/tmp... to pwd cp "$DIR/matt_morin_cv.log" matt_morin_cv.log # Copy the log file rm -rf "$DIR" ''; installPhase = '' mkdir -p $out/{bin,share} cp document.tex $out/share/document.tex cp matt_morin_cv $out/bin/matt_morin_cv chmod u+x $out/bin/matt_morin_cv ''; }; }; defaultPackage = packages.document; }); }