resume/flake.nix
2024-10-25 05:48:06 +00:00

89 lines
2.1 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
systems.url = "github:nix-systems/default";
};
outputs = {
self,
systems,
nixpkgs,
...
} @ inputs: let
eachSystem = f:
nixpkgs.lib.genAttrs (import systems) (
system:
f nixpkgs.legacyPackages.${system}
);
in {
packages = eachSystem (pkgs: {
default = pkgs.stdenvNoCC.mkDerivation rec {
name = "resume-latex";
src = self;
buildInputs = with pkgs;[
pkgs.coreutils
pkgs.findutils
(texlive.combine {
inherit
(texlive)
scheme-small
academicons
arydshln
fontawesome5
marvosym
moderncv
multirow
latexmk
;
})
];
buildPhase = ''
export PATH="${pkgs.lib.makeBinPath buildInputs}"
echo $PATH
mkdir -p .cache/texmf-var
env TEXMFHOME=.cache TEXMFVAR=.cache/texmf-var \
latexmk -interaction=nonstopmode -f -pdf \
resume.tex
'';
installPhase = ''
mkdir -p $out
cp resume.pdf $out/
'';
};
pdf = pkgs.runCommand "resume-pdf" {} ''
mkdir -p $out/nix-support
cp ${self.packages.${pkgs.system}.default}/resume.pdf $out/
echo "file pdf $out/resume.pdf" > $out/nix-support/hydra-build-products
'';
});
hydraJobs = let
system = "x86_64-linux";
in {
build = self.packages.${system}.default;
pdf = self.packages.${system}.pdf;
};
devShells = eachSystem (pkgs: {
default = pkgs.mkShell {
buildInputs = with pkgs; [
(texlive.combine {
inherit
(texlive)
scheme-small
academicons
arydshln
fontawesome5
marvosym
moderncv
multirow
latexmk
;
})
pkgs.texlab
pkgs.termpdfpy
];
};
});
};
}