{ mozillaOverlay ? import , rustManifest ? ./channel-rust-nightly.toml, }: let pkgs = import { overlays = [ mozillaOverlay ]; }; in with pkgs; let rustChannelOfTargets = _channel: _date: (pkgs.lib.rustLib.fromManifestFile rustManifest { inherit (pkgs) stdenv fetchurl patchelf; }).rust; rust = rustChannelOfTargets "nightly" null; rustPlatform = pkgs.recurseIntoAttrs (pkgs.makeRustPlatform { rustc = rust; cargo = rust; }); cargoSha256 = "0jbpwr84ncfj5nigznr06fpwaj89n839534n81hqwacflh1z43ix"; ticker-update = rustPlatform.buildRustPackage { name = "ticker-update"; src = ./.; buildInputs = [ pkg-config openssl postgresql.lib rust ]; preBuild = "pushd ticker-update"; postBuild = "popd"; inherit cargoSha256; }; ticker-serve = rustPlatform.buildRustPackage { name = "ticker-serve"; src = ./.; buildInputs = [ pkg-config openssl postgresql.lib rust ]; preBuild = "pushd ticker-serve"; postBuild = "popd"; inherit cargoSha256; }; in { inherit rustPlatform ticker-update ticker-serve; }