11 dataDir ? "/var/lib/firefly-iii",
14 stdenvNoCC.mkDerivation (finalAttrs: {
15 pname = "firefly-iii";
18 src = fetchFromGitHub {
19 owner = "firefly-iii";
21 rev = "v${finalAttrs.version}";
22 hash = "sha256-6DZwTk67bKvgB+Zf7aPakrWWYCAjkYggrRiaFKgsMkk=";
25 buildInputs = [ php83 ];
30 buildPackages.npmHooks.npmConfigHook
31 php83.composerHooks.composerInstallHook
32 php83.packages.composer-local-repo-plugin
36 composerNoPlugins = true;
37 composerNoScripts = true;
38 composerStrictValidation = true;
41 vendorHash = "sha256-5uUjb5EPcoEBuFbWGb1EIC/U/VaSUsRp09S9COIx25E=";
43 npmDeps = fetchNpmDeps {
44 inherit (finalAttrs) src;
45 name = "${finalAttrs.pname}-npm-deps";
46 hash = "sha256-j49iltvW7xGOCV+FIB4f+ECfQo50U+wTugyaK9JGN3A=";
49 composerRepository = php83.mkComposerRepository {
57 composerNoPlugins = true;
58 composerNoScripts = true;
59 composerStrictValidation = true;
63 npm run prod --workspace=v1
64 npm run build --workspace=v2
69 tests = nixosTests.firefly-iii;
70 updateScript = nix-update-script { };
74 mv $out/share/php/firefly-iii/* $out/
75 rm -R $out/share $out/storage $out/bootstrap/cache $out/node_modules
76 ln -s ${dataDir}/storage $out/storage
77 ln -s ${dataDir}/cache $out/bootstrap/cache
81 changelog = "https://github.com/firefly-iii/firefly-iii/releases/tag/v${finalAttrs.version}";
82 description = "Firefly III: a personal finances manager";
83 homepage = "https://github.com/firefly-iii/firefly-iii";
84 license = lib.licenses.agpl3Only;
86 lib.maintainers.savyajha
87 lib.maintainers.patrickdag
89 hydraPlatforms = lib.platforms.linux; # build hangs on both Darwin platforms, needs investigation