forked from deepState/trivionomicon
Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
|
12b7c09c0b | ||
|
a78a4f764e | ||
![]() |
517c240c19 | ||
![]() |
12cd697209 |
|
@ -16,6 +16,12 @@
|
||||||
in
|
in
|
||||||
flake-utils.lib.eachDefaultSystem (system: {
|
flake-utils.lib.eachDefaultSystem (system: {
|
||||||
formatter = (import nixpkgs {inherit system;}).alejandra;
|
formatter = (import nixpkgs {inherit system;}).alejandra;
|
||||||
|
|
||||||
|
packages =
|
||||||
|
(import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
overlays = [(mapOverlayOverride "local" (import ./pkgs))];
|
||||||
|
}).local;
|
||||||
})
|
})
|
||||||
// {
|
// {
|
||||||
templates = let
|
templates = let
|
||||||
|
|
|
@ -5,4 +5,6 @@ in {
|
||||||
lib = callPackage ./lib {};
|
lib = callPackage ./lib {};
|
||||||
|
|
||||||
override = {};
|
override = {};
|
||||||
|
|
||||||
|
spliit = callPackage ./spliit {};
|
||||||
}
|
}
|
||||||
|
|
77
pkgs/spliit/default.nix
Normal file
77
pkgs/spliit/default.nix
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
{
|
||||||
|
buildNpmPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
nodePackages,
|
||||||
|
lib,
|
||||||
|
writeShellScriptBin,
|
||||||
|
pkgs
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
schemaEngine = "${pkgs.prisma-engines}/bin/schema-engine";
|
||||||
|
queryEngineBin = "${pkgs.prisma-engines}/bin/query-engine";
|
||||||
|
queryEngineLib = "${pkgs.prisma-engines}/lib/libquery_engine.node";
|
||||||
|
buildFlags = [ "--ignore-scripts" ];
|
||||||
|
in
|
||||||
|
buildNpmPackage {
|
||||||
|
pname = "spliit2";
|
||||||
|
version = "master-20250420";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
repo = "spliit";
|
||||||
|
owner = "spliit-app";
|
||||||
|
|
||||||
|
rev = "a11efc79c13298c0d282e47496d132538752405f";
|
||||||
|
hash = "sha256-v4gaPzLzBbbqw/LDYxe1fiyficcrqcGOop23YPiTrdc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
npmDepsHash = "sha256-sd0/7ruNUFxUKTeTwx/v8Vc/G3llkXP6RSDE78h3qVU=";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgs.openssl ];
|
||||||
|
|
||||||
|
npmRebuildFlags = buildFlags;
|
||||||
|
|
||||||
|
PRISMA_SCHEMA_ENGINE_BINARY = schemaEngine;
|
||||||
|
PRISMA_QUERY_ENGINE_BINARY = queryEngineBin;
|
||||||
|
PRISMA_QUERY_ENGINE_LIBRARY = queryEngineLib;
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
cp -v scripts/build.env .env
|
||||||
|
|
||||||
|
npx prisma generate
|
||||||
|
'';
|
||||||
|
|
||||||
|
npmBuildFlags = buildFlags;
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
cp -r .next public package.json next.config.mjs $out/lib/node_modules/spliit2
|
||||||
|
|
||||||
|
install -Dvm755 -t $out/bin ${lib.getExe (writeShellScriptBin "spliit2" ''
|
||||||
|
set -euxo pipefail
|
||||||
|
|
||||||
|
cd @out@/lib/node_modules/spliit2
|
||||||
|
|
||||||
|
export PATH="$PWD/node_modules/.bin:$PATH"
|
||||||
|
export NEXT_TELEMETRY_DISABLED=1
|
||||||
|
|
||||||
|
export PRISMA_SCHEMA_ENGINE_BINARY="${schemaEngine}"
|
||||||
|
export PRISMA_QUERY_ENGINE_BINARY="${queryEngineBin}"
|
||||||
|
export PRISMA_QUERY_ENGINE_LIBRARY="${queryEngineLib}"
|
||||||
|
|
||||||
|
prisma migrate deploy
|
||||||
|
next start
|
||||||
|
'')}
|
||||||
|
|
||||||
|
substituteInPlace $out/bin/spliit2 \
|
||||||
|
--replace @out@ $out
|
||||||
|
|
||||||
|
wrapProgram $out/bin/spliit2 \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ pkgs.openssl ]}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Free and Open Source Alternative to Splitwise. Share expenses with your friends and family.";
|
||||||
|
homepage = "https://spliit.app";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue