about summary refs log tree commit diff
path: root/web/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'web/default.nix')
-rw-r--r--web/default.nix50
1 files changed, 15 insertions, 35 deletions
diff --git a/web/default.nix b/web/default.nix
index ea3733b..32aa17a 100644
--- a/web/default.nix
+++ b/web/default.nix
@@ -1,50 +1,30 @@
-{ stdenv, lib, fetchFromGitHub, callPackage, esbuild }:
+{ stdenv, lib, esbuild, napalm, nix-gitignore }:
 
 let
-  pkgInfo = lib.importJSON ./package.json;
-  src = yarn2nix-lib.removePrefixes [ "node_modules" "dist" ] ./.;
-#  yarn2nixSrc = /home/lukas/src/nix/yarn2nix;
-  yarn2nixSrc = fetchFromGitHub {
-    owner  = "sternenseemann";
-    repo   = "yarn2nix";
-    rev    = "b0825bbe4b40f39763d53ba0044431a44b5f25cf";
-    sha256 = "1q8wc5rnb00xwzcqsgb6wfkmymipf2bv1g2i33l5wyadp0hd18cp";
+  src = builtins.path {
+    name = "likely-music-frontend-source";
+    path = ./.;
+    filter = nix-gitignore.gitignoreFilter (builtins.readFile ../.gitignore) ./..;
   };
-  yarn2nix = import yarn2nixSrc { };
-  yarn2nix-lib = yarn2nix.nixLib;
-  deps = yarn2nix-lib.callYarnLock ./yarn.lock { };
-  template = yarn2nix-lib.callPackageJson ./package.json { };
-  calledTemplate = template (yarn2nix-lib.buildNodeDeps deps);
-  node_modules = yarn2nix-lib.linkNodeDeps {
-    inherit (pkgInfo) name;
-    dependencies = calledTemplate.nodeBuildInputs;
-  };
-
 in
 
-stdenv.mkDerivation rec {
-  pname = pkgInfo.name;
-  inherit (pkgInfo) version;
-  inherit src;
-
-  nativeBuildInputs = [ esbuild ];
-
-  makeFlags = [
-    "OFFLINE=true"
+napalm.buildPackage src {
+  nativeBuildInputs = [
+    esbuild
   ];
 
-  NODE_PATH = node_modules;
-  preBuild = ''
-    ln -s ${node_modules} node_modules
-  '';
+  npmCommands = "make";
 
   installPhase = ''
-    mkdir -p $out/share/
-    mv dist $out/share/${pname}
+    runHook preInstall
+    mkdir -p $out/share
+    mv dist $out/share/likely-music-frontend
+    runHook postInstall
   '';
 
-  meta = calledTemplate.meta // {
+  meta = {
     description = "Frontend of likely music, a probabilistic music notation software";
     homepage = "https://github.com/sternenseemann/likely-music";
+    license = lib.licenses.agpl3Only;
   };
 }