]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - flakes/grocy/default.nix
Squash changes containing private information
[perso/Immae/Config/Nix.git] / flakes / grocy / default.nix
CommitLineData
1a64deeb 1{ varDir ? "/var/lib/grocy", stdenv, callPackage, composerEnv, fetchurl, src, runCommand, git, which, jq, yarn2nix-moretea }:
c7627e14
IB
2let
3 version = "2.6.1-1";
1a64deeb
IB
4 patchedPackages = stdenv.mkDerivation rec {
5 name = "grocy";
6 inherit src;
c7627e14
IB
7 buildInputs = [ jq ];
8 patches = [ ./yarn.patch ];
9 installPhase = ''
10 mkdir $out
11 cat package.json | jq -r '.version = "${version}"' > $out/package.json
12 cp yarn.lock $out/
13 '';
1a64deeb 14 };
71b4786d 15 yarnModules = yarn2nix-moretea.mkYarnModules rec {
c7627e14
IB
16 name = "grocy-yarn";
17 pname = name;
18 version = version;
19 packageJSON = "${patchedPackages}/package.json";
20 yarnLock = "${patchedPackages}/yarn.lock";
21 yarnNix = ./yarn-packages.nix;
22 pkgConfig = {
23 all = {
71b4786d 24 buildInputs = [ git which ];
c7627e14
IB
25 };
26 };
27 };
28 app = composerEnv.buildPackage (
29 import ./php-packages.nix { inherit composerEnv fetchurl; } //
c7627e14 30 {
1a64deeb
IB
31 name = "grocy";
32 inherit src;
c7627e14
IB
33 noDev = true;
34 buildInputs = [ yarnModules ];
35 postInstall = ''
36 rm -rf data
37 ln -sf ${varDir}/data data
38 ln -sf ${yarnModules}/node_modules public
39 '';
40 passthru = {
41 inherit varDir yarnModules;
42 webRoot = "${app}/public";
43 };
44 }
45 );
46in
47 app