photomk/flake.nix
2025-03-19 21:11:08 +01:00

51 lines
1.4 KiB
Nix

{
inputs = {
handlebars-rust-src = {
url = "github:sunng87/handlebars-rust";
flake = false;
};
naersk.url = "github:nix-community/naersk/master";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, utils, naersk, handlebars-rust-src }:
utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
naersk-lib = pkgs.callPackage naersk { };
in
rec {
packages = {
# naersk doesnt work without a Cargo.lock => patch it in
handlebars-rust = naersk-lib.buildPackage (pkgs.applyPatches {
name = "patched-handlebars-rust-src";
src = handlebars-rust-src;
patches = [ ./add-cargo-lockfile.patch ];
});
squeezer = naersk-lib.buildPackage ./squeezer;
};
devShells = {
default = pkgs.mkShell {
nativeBuildInputs = [
packages.handlebars-rust
packages.squeezer
pkgs.imagemagick
pkgs.gnumake
pkgs.remake
pkgs.jq
pkgs.zip
(pkgs.python3.withPackages (ps: [ps.clize]))
];
};
rust = pkgs.mkShell {
nativeBuildInputs = [
pkgs.cargo
pkgs.rustc
];
};
};
}
);
}