{ inputs, ... }: { perSystem = { self', system, pkgs, lib, ... }: { packages = { default = self'.packages.amarth-customer-portal; amarth-customer-portal = inputs.bun2nix.lib.${system}.mkBunDerivation rec { pname = "amarth-customer-portal"; version = "0.0.1"; index = "app.config.ts"; src = ../..; bunNix = ../../bun.nix; dontFixup = true; nativeBuildInputs = with pkgs; [ makeWrapper ]; buildPhase = '' runHook preBuild bun run build --bun # bun build --compile --target bun-linux-x64 --minify --outfile ${pname} ./.output/server/index.mjs runHook postBuild ''; installPhase = '' runHook preInstall # install -pDm755 -t $out/bin ${pname} mkdir -p $out cp -r ./.output/* $out touch $out/auth.sqlite makeWrapper ${lib.getExe pkgs.bun} $out/bin/${pname} \ --chdir $out \ --append-flags "server/index.mjs" runHook postInstall ''; meta = { description = "Customer portal for Amarth cloud"; longDescription = '' This is the application where customers of the cloud you are building with Amarth. Your customer be able to manage there resources from within this portal. This application is the equivalent of the Azure and AWS portals. ''; homepage = "https://git.amarth.cloud"; changelog = "https://git.amarth.cloud/releases"; license = pkgs.lib.licenses.mit; maintainers = [ { name = "chris"; github = "chris-kruining"; githubId = 5786905; } ]; platforms = pkgs.lib.platforms.all; mainProgram = pname; }; }; }; }; }