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
Simon Bruder 46f08e1817
All checks were successful
continuous-integration/drone/push Build is passing
Convert to flake
This also changes how reveal.js is vendored and as a consequence of this
change, it needs to dereference the build result before deploying it
with netlify. This is because flakes do not like submodules and netlify
does not like symlinks.
2021-05-12 21:44:31 +02:00

85 lines
2 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
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;
};
});
}