{ 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 = "1p6512fslxbihl8nci61hfraizcsyn430932w28s8qg8ib36zgwc"; 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; }