This repository has been archived on 2022-03-27. You can view files and clone it, but cannot push or open issues or pull requests.
presis/flake.nix

85 lines
2 KiB
Nix
Raw Normal View History

{
inputs = {
#nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
# At the time of writing, netlify-clis build is failing on unstable.
nixpkgs.url = "github:sbruder/nixpkgs/fix-netlify-cli";
flake-utils.url = "github:numtide/flake-utils";
revealjs.url = "github:hakimel/reveal.js/4.1.0";
revealjs.flake = false;
};
outputs = { self, flake-utils, nixpkgs, revealjs }: flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
rec {
packages.sbruder.presis =
let
python = (pkgs.python38.withPackages (ps: with ps; [
CommonMark
jinja2
pyyaml
]));
texlive = pkgs.texlive.combine {
inherit (pkgs.texlive)
scheme-medium
appendixnumberbeamer
beamertheme-focus
beamertheme-metropolis
biber
biblatex
csquotes
datetime
datetime2
datetime2-german
enumitem
fmtcount
multirow
pgfopts;
};
in
pkgs.stdenv.mkDerivation {
name = "sbruder-presis";
nativeBuildInputs = [
python
texlive
];
src = self;
FONTCONFIG_FILE = pkgs.makeFontsConf {
fontDirectories = with pkgs; [
fira
iosevka
];
};
enableParallelBuilding = true;
configurePhase = ''
ln -sfT ${revealjs} revealjs/_assets/reveal.js
'';
installPhase = ''
cp -r . $out;
'';
dontFixup = true;
};
defaultPackage = packages.sbruder.presis;
devShell = pkgs.mkShell {
buildInputs = packages.sbruder.presis.nativeBuildInputs ++ (with pkgs; [
bash
netlify-cli
]);
shellHook = packages.sbruder.presis.configurePhase;
};
});
}