Merge branch 'master' of git.07112025.xyz:0qln/itc.webengineering
This commit is contained in:
88
flake.nix
88
flake.nix
@@ -18,17 +18,86 @@
|
||||
system,
|
||||
...
|
||||
}:
|
||||
with pkgs.lib; {
|
||||
# packages.default = with pkgs; mkDerivation {
|
||||
with pkgs.lib; let
|
||||
latexPackages = with pkgs; [
|
||||
latexrun
|
||||
(texlive.withPackages
|
||||
(ps:
|
||||
with ps; [
|
||||
amsmath
|
||||
biber
|
||||
biblatex
|
||||
changepage
|
||||
csquotes
|
||||
enumitem
|
||||
fontaxes
|
||||
latexmk
|
||||
listings
|
||||
minted
|
||||
newtx
|
||||
newtxsf
|
||||
newtxtt
|
||||
scheme-medium
|
||||
textpos
|
||||
times
|
||||
titlesec
|
||||
transparent
|
||||
upquote
|
||||
]))
|
||||
];
|
||||
in {
|
||||
# Per-system attributes can be defined here. The self' and inputs'
|
||||
# module parameters provide easy access to attributes of the same
|
||||
# system.
|
||||
packages = with pkgs; let
|
||||
fmtNum = strings.fixedWidthNumber 2;
|
||||
fmtReleaseName = sem: author: chap: "${fmtNum sem} - ${fmtNum chap} - ${author.lastName}, ${author.firstName}.pdf";
|
||||
fmtRelease = fmtReleaseName 3 {
|
||||
firstName = "Linus";
|
||||
lastName = "Nagel";
|
||||
};
|
||||
mkUebungPdf = n: args:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
name = fmtRelease n;
|
||||
version = "1.0.0";
|
||||
src = ./.;
|
||||
buildInputs = latexPackages;
|
||||
buildPhase =
|
||||
# sh
|
||||
''
|
||||
cd docs/uebungen
|
||||
|
||||
latexmk \
|
||||
-pdf \
|
||||
-l -dir-report -file-line-error -verbose \
|
||||
-interaction=nonstopmode \
|
||||
"uebung-${toString n}.tex"
|
||||
'';
|
||||
installPhase =
|
||||
# sh
|
||||
''
|
||||
mkdir -p $out/share $out/log $out/artifacts
|
||||
cp out/uebung-${toString n}.pdf "$out/share/${name}"
|
||||
cp out/*.log $out/log/
|
||||
cp out/* $out/artifacts
|
||||
'';
|
||||
}
|
||||
// args;
|
||||
in {
|
||||
"uebung-5" = mkUebungPdf 5 {};
|
||||
};
|
||||
|
||||
# };
|
||||
devShells.default = with pkgs;
|
||||
mkShell {
|
||||
packages = [
|
||||
openjdk
|
||||
jetty
|
||||
ant
|
||||
];
|
||||
nativeBuildInputs = [];
|
||||
packages =
|
||||
[
|
||||
mermaid-cli
|
||||
openjdk
|
||||
jetty
|
||||
ant
|
||||
]
|
||||
++ latexPackages;
|
||||
|
||||
shellHook = ''
|
||||
echo "Usage Example:"
|
||||
@@ -37,6 +106,9 @@
|
||||
};
|
||||
};
|
||||
flake = {
|
||||
# The usual flake attributes can be defined here, including system-
|
||||
# agnostic ones like nixosModule and system-enumerating ones, although
|
||||
# those are more easily expressed in perSystem.
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user