{ description = "Latex Project Report Template"; inputs = { nixpkgs.url = "github:nixos/nixpkgs"; utils.url = "github:numtide/flake-utils"; gitignore = { url = "github:hercules-ci/gitignore"; flake = false; }; flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; }; outputs = { self, nixpkgs, utils, gitignore, ... }: utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages."${system}"; inherit (import gitignore { inherit (pkgs) lib; }) gitignoreSource; nativeBuildInputs = with pkgs; [ (texlive.combine { inherit (texlive) scheme-medium multirow hyperref blindtext fancyhdr etoolbox topiclongtable; }) gnumake ]; in rec { defaultPackage = stdenv.mkDerivation { pname = "report"; version = "0.1.0"; src = gitignoreSource ./.; buildInputs = nativeBuildInputs; buildPhase = '' latexmk -pdf \ -pdflatex="pdflatex -interaction=nonstopmode" \ -use-make ${pname}.tex ''; installPhase = '' mkdir -p $out cp ${pname}.pdf $out/ ''; }; devShell = pkgs.mkShell { nativeBuildInputs = nativeBuildInputs; }; }); }