Made it snow

This commit is contained in:
2025-11-27 12:27:34 +01:00
parent eb71f51071
commit bf6ded80ee
3 changed files with 251 additions and 0 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@ tul-thesis
template.zip
autogen.js
version
result

215
flake.lock generated Normal file
View File

@@ -0,0 +1,215 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"much_pdf_tools": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2",
"systems": "systems"
},
"locked": {
"lastModified": 1764192868,
"narHash": "sha256-0h4Fqg3C+VMS2+gvJUKKEjJJDWEeRcMCFkXerl9kPc0=",
"ref": "refs/heads/master",
"rev": "bf65c77e3b0e02b6f22bd20840277c603cd9c2bf",
"revCount": 1,
"type": "git",
"url": "https://git.zumepro.cz/ondrej.mekina/much_pdf_tools.git"
},
"original": {
"type": "git",
"url": "https://git.zumepro.cz/ondrej.mekina/much_pdf_tools.git"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1764167966,
"narHash": "sha256-nXv6xb7cq+XpjBYIjWEGTLCqQetxJu6zvVlrqHMsCOA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5c46f3bd98147c8d82366df95bbef2cab3a967ea",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1743296961,
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1745804731,
"narHash": "sha256-v/sK3AS0QKu/Tu5sHIfddiEHCvrbNYPv8X10Fpux68g=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "29335f23bea5e34228349ea739f31ee79e267b88",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1764138170,
"narHash": "sha256-2bCmfCUZyi2yj9FFXYKwsDiaZmizN75cLhI/eWmf3tk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bb813de6d2241bcb1b5af2d3059f560c66329967",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"tultemplate2": "tultemplate2",
"utils": "utils_2"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tultemplate2": {
"inputs": {
"much_pdf_tools": "much_pdf_tools",
"nixpkgs": "nixpkgs_3",
"utils": "utils"
},
"locked": {
"lastModified": 1764241385,
"narHash": "sha256-gXYvhdBDPJ+I5NKNYM6luOhxLPEZ5eBVadwX4lhlGtQ=",
"ref": "refs/heads/master",
"rev": "76f72131c5cff070a74ac5993f7cc8dbacdd4c99",
"revCount": 186,
"type": "git",
"url": "https://git.zumepro.cz/tul/tultemplate2"
},
"original": {
"type": "git",
"url": "https://git.zumepro.cz/tul/tultemplate2"
}
},
"utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"utils_2": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

35
flake.nix Normal file
View File

@@ -0,0 +1,35 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
utils.url = "github:numtide/flake-utils";
tultemplate2.url = "git+https://git.zumepro.cz/tul/tultemplate2";
};
outputs = { nixpkgs, utils, tultemplate2, ... }: (utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
in
{
packages.templatePack = pkgs.stdenv.mkDerivation {
name = "tultemplategen";
src = ./.;
packageRootDir = "tul-thesis";
autogenFile = "src/data/autogen.js";
buildPhase = ''
cp -R ${tultemplate2.packages.${system}.bundle} $packageRootDir
chmod -R +w $packageRootDir
cp assets/title-pages.pdf assets/assignment.pdf $packageRootDir
${pkgs.zip}/bin/zip -r template.zip $packageRootDir
echo "const available_templates = [" > $autogenFile
ls -1 $packageRootDir | grep "\.typ$" | sed -e 's/\(.*\)\..*/\t"\1",/g' >> $autogenFile
echo "];" >> $autogenFile
'';
installPhase = ''
mkdir -p $out
cp -R src lib assets index.html template.zip $out
'';
};
}
));
}