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