charla-gpul-nixos/flake.nix
2025-12-15 23:39:39 +01:00

75 lines
1.6 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
};
outputs =
{
self,
nixpkgs,
}:
let
supportedSystems = [
"x86_64-linux"
];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; });
in
{
packages = forAllSystems (
system:
let
pkgs = nixpkgsFor.${system};
src = ./src;
slides = "${src}/slides.md";
presenterm_config = ./presenterm_config.yaml;
in
rec {
run-presentation = pkgs.writeShellApplication {
name = "run-presentation";
runtimeInputs = with pkgs; [
presenterm
nix # For snippet execution
qrencode
];
text = ''
presenterm -x ${slides} -c ${presenterm_config}
'';
};
run-presentation-kitty = pkgs.writeShellApplication {
name = "run-presentation-kitty";
runtimeInputs = [
run-presentation
pkgs.kitty
];
text = ''
kitty --config=NONE run-presentation
'';
};
}
);
devShells = forAllSystems (
system:
let
pkgs = nixpkgsFor.${system};
in
{
default = pkgs.mkShell {
buildInputs = with pkgs; [
presenterm
python3Packages.weasyprint
markdown-oxide
qrencode
];
};
}
);
};
}