{ 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 = "0lhf0pd8vmdxq6ss2q6xrkicdmwpgdmzydgp7v1hql766ccwsc93"; }; ticker-serve = (build { pname = "ticker-serve"; cargoSha256 = "1m2fjb2s5xy08wki6cfbyinb9xvllbifh6zsyigcrwbjxp7fjz37"; }).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/ ''; }); }