{ description = "Resume development environment"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; tex = ( pkgs.texlive.combine { inherit (pkgs.texlive) scheme-basic preprint titlesec enumitem sourcesanspro fontawesome7 latexmk marvosym ly1 xkeyval ; } ); preCommitTool = if pkgs ? prek then pkgs.prek else pkgs.pre-commit; resume_final_pdf = "Alice_Huston_Resume_Software_Engineer.pdf"; in { packages.default = pkgs.stdenvNoCC.mkDerivation { pname = "resume-pdf"; version = "0.1.0"; src = pkgs.lib.cleanSource ./.; nativeBuildInputs = [ tex ]; buildPhase = '' runHook preBuild latexmk -pdf -interaction=nonstopmode -halt-on-error main.tex mv main.pdf ${resume_final_pdf} runHook postBuild ''; installPhase = '' runHook preInstall mkdir -p "$out" install -m 0644 ${resume_final_pdf} "$out/${resume_final_pdf}" runHook postInstall ''; }; devShells.default = pkgs.mkShell { packages = [ tex pkgs.tex-fmt preCommitTool ]; }; } ); }