71 lines
1.9 KiB
Nix
71 lines
1.9 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
|
|
babel-galician
|
|
hyphen-galician
|
|
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 ++ (with pkgs; [ texlab ]);
|
|
};
|
|
}
|
|
);
|
|
}
|