diff --git a/flake.nix b/flake.nix index 2d29c8e..506d597 100644 --- a/flake.nix +++ b/flake.nix @@ -14,37 +14,28 @@ flake-utils.lib.eachDefaultSystem ( system: let pkgs = nixpkgs.legacyPackages.${system}; - in { - packages.default = pkgs.mkYarnPackage { - name = "kucinako"; + frontend = pkgs.stdenv.mkDerivation (finalAttrs: { + pname = "kucinako"; + version = "0.1"; src = ./.; - packageJSON = ./package.json; - yarnLock = ./yarn.lock; - - buildPhase = '' - export HOME=$(mktemp -d) - yarn --offline build - ''; - - installPhase = '' - mkdir -p $out - cp -r deps/kucinako/dist/* $out/ - ''; - - # Ensure Parcel and other build tools are available + yarnOfflineCache = pkgs.fetchYarnDeps { + yarnLock = finalAttrs.src + "/yarn.lock"; + hash = "sha256-g5g2xlwDxH8O8zaLJ4meO1+DQdJIomVPqd6RXTAhDuE="; + }; nativeBuildInputs = with pkgs; [ + yarnConfigHook + yarnBuildHook + # Needed for executing package.json scripts nodejs - yarn - nodePackages.typescript - ]; - }; - - devShells.default = pkgs.mkShell { - buildInputs = with pkgs; [ - nodejs - yarn - nodePackages.typescript ]; + installPhase = '' + mkdir $out + mv dist/* $out + ''; + }); + in { + packages = { + default = frontend; }; } );