charla-gpul-software-libre/flake.nix

61 lines
1.7 KiB
Nix

{
description = "LaTeX Beamer Presentation for GPUL Schools: Software Libre";
inputs = {
nixpkgs.url = github:NixOS/nixpkgs/nixos-25.05;
flake-utils.url = github:numtide/flake-utils;
};
outputs = {
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system: let
pkgs = nixpkgs.legacyPackages.${system};
tex = pkgs.texlive.combine {
inherit
(pkgs.texlive)
scheme-basic
latex-bin
latexmk
collection-langspanish
beamer
biblatex
biber
csquotes
emoji
fontspec
noto-emoji
;
};
# tex = pkgs.texliveFull;
in rec {
packages = {
document = pkgs.stdenvNoCC.mkDerivation rec {
name = "latex-beamer-gpul-schools-software-libre";
src = self;
buildInputs = [pkgs.coreutils tex];
phases = ["unpackPhase" "buildPhase" "installPhase"];
buildPhase = ''
export PATH="${pkgs.lib.makeBinPath buildInputs}";
env TEXMFVAR=$(mktemp -d) \
SOURCE_DATE_EPOCH=${toString self.lastModified} \
latexmk -interaction=nonstopmode -pdf -lualatex \
-pretex="\pdfvariable suppressoptionalinfo 512\relax" \
-usepretex main.tex
'';
installPhase = ''
mkdir -p $out
cp main.pdf $out/
'';
};
};
defaultPackage = packages.document;
devShells.default = pkgs.mkShell {
buildInputs = packages.document.buildInputs;
};
}
);
}