Files
NixOS-LuaLaTeX-flake/flake.nix
2026-02-25 09:44:12 +01:00

43 lines
1.2 KiB
Nix

# flake.nix
{
description = "LaTeX compilation environment for thesis and beamer presentation";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
fibeamer = {
url = "github:Witiko/fibeamer";
flake = false;
};
};
outputs = { self, nixpkgs, flake-utils, fibeamer }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
texlive = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-full;
};
# Build a TEXMF tree for fibeamer so LaTeX can find it
fibeamerTexmf = pkgs.runCommand "fibeamer-texmf" {} ''
mkdir -p $out/tex/latex/fibeamer
cp -r ${fibeamer}/* $out/tex/latex/fibeamer/
'';
in
{
devShells.default = pkgs.mkShell {
name = "latex-env";
buildInputs = [
texlive
pkgs.biber
];
shellHook = ''
export TEXMFHOME="${fibeamerTexmf}:"
echo "LaTeX environment loaded (pdflatex + biber + fibeamer)"
pdflatex --version | head -1
'';
};
});
}