diff --git a/flake.nix b/flake.nix index f475255..95415ee 100644 --- a/flake.nix +++ b/flake.nix @@ -15,13 +15,29 @@ in { packages = rec { + imagemagick7_pict-rs = pkgs.callPackage ./nix/pkgs/imagemagick_pict-rs {}; + ffmpeg6_pict-rs = pkgs.callPackage ./nix/pkgs/ffmpeg_pict-rs {}; + pict-rs = pkgs.callPackage ./pict-rs.nix { inherit (pkgs.darwin.apple_sdk.frameworks) Security; + inherit imagemagick7_pict-rs ffmpeg6_pict-rs; }; default = pict-rs; }; + docker = pkgs.dockerTools.buildLayeredImage { + name = "pict-rs"; + tag = "latest"; + + contents = [ pkgs.tini self.packages.${system}.pict-rs ]; + + config = { + Entrypoint = [ "/bin/tini" "--" "/bin/pict-rs" ]; + Cmd = [ "run" ]; + }; + }; + apps = rec { dev = flake-utils.lib.mkApp { drv = self.packages.${system}.pict-rs; }; default = dev; @@ -36,9 +52,9 @@ curl diesel-cli exiftool - ffmpeg_6-full garage - imagemagick + self.packages.${system}.imagemagick7_pict-rs + self.packages.${system}.ffmpeg6_pict-rs jq minio-client rust-analyzer diff --git a/nix/pkgs/ffmpeg_pict-rs/default.nix b/nix/pkgs/ffmpeg_pict-rs/default.nix new file mode 100644 index 0000000..4db6f5b --- /dev/null +++ b/nix/pkgs/ffmpeg_pict-rs/default.nix @@ -0,0 +1,5 @@ +{ ffmpeg_6-headless }: + +ffmpeg_6-headless.override { + withWebp = true; +} diff --git a/nix/pkgs/imagemagick_pict-rs/default.nix b/nix/pkgs/imagemagick_pict-rs/default.nix new file mode 100644 index 0000000..00674e8 --- /dev/null +++ b/nix/pkgs/imagemagick_pict-rs/default.nix @@ -0,0 +1,23 @@ +{ imagemagick7 }: + +imagemagick7.override { + bzip2Support = true; + zlibSupport = true; + libX11Support = false; + libXtSupport = false; + fontconfigSupport = false; + freetypeSupport = false; + libjpegSupport = true; + djvulibreSupport = false; + lcms2Support = false; + openexrSupport = false; + libjxlSupport = true; + libpngSupport = true; + liblqr1Support = false; + librsvgSupport = false; + libtiffSupport = false; + libxml2Support = false; + openjpegSupport = true; + libwebpSupport = true; + libheifSupport = true; +} diff --git a/pict-rs.nix b/pict-rs.nix index cce1d59..875a3a4 100644 --- a/pict-rs.nix +++ b/pict-rs.nix @@ -1,6 +1,6 @@ { exiftool -, ffmpeg_6-full -, imagemagick +, ffmpeg6_pict-rs +, imagemagick7_pict-rs , lib , makeWrapper , nixosTests @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage { postInstall = '' wrapProgram $out/bin/pict-rs \ - --prefix PATH : "${lib.makeBinPath [ imagemagick ffmpeg_6-full exiftool ]}" + --prefix PATH : "${lib.makeBinPath [ imagemagick7_pict-rs ffmpeg6_pict-rs exiftool ]}" ''; passthru.tests = { inherit (nixosTests) pict-rs; };