{ pkgs ? import {}, }: let src = builtins.filterSource (path: type: !builtins.elem (baseNameOf path) [ "target" "default.nix" "shell.nix" "nixos-module.nix" ] ) ./.; build = { pname, cargoSha256 }: pkgs.rustPlatform.buildRustPackage { inherit pname cargoSha256 src; version = "0.1.0"; nativeBuildInputs = with pkgs; [ pkg-config ]; buildInputs = with pkgs; [ openssl postgresql.lib ]; preBuild = "pushd ${pname}"; postBuild = "popd"; }; in { ticker-update = build { pname = "ticker-update"; cargoSha256 = "12bc1nyy7pajzcv5997hx7z48dkpdx1hncfkn5dg607wly8bmqcw"; }; ticker-serve = (build { pname = "ticker-serve"; cargoSha256 = "0xkvn6a9f4ary2w57vq30lx1d73cbmfgk34594hfybrk67m194zr"; }).overrideAttrs (oa: { postBuild = '' ${oa.postBuild} mkdir -p $out/shared/libticker $out/shared/ticker-serve cp -ar ticker-serve/static $out/shared/ticker-serve/ cp -ar schema.sql $out/shared/libticker/ ''; }); }