# The pkgs argument is normal for any package, and we add skew to pass in the skew. { pkgs, skew, ... }: with pkgs; stdenvNoCC.mkDerivation { name = "recipe"; src = lib.fileset.toSource { root = ./.; # We only need these files, no sense including anything else fileset = lib.fileset.unions [ ./Makefile ./recipe.el ./recipe.org ]; }; buildInputs = [gnumake emacs-nox texliveMedium]; phases = [ "unpackPhase" "buildPhase" "installPhase" ]; # Generate ze files buildPhase = '' set -euo pipefail make recipe-${skew}.pdf ''; # Copy ze files into the out dir installPhase = '' set -euo pipefail mkdir -p $out cp recipe-${skew}.tex $out/ cp recipe-${skew}.pdf $out/ ''; }