Files
organic_ast_explorer/flake.nix

86 lines
2.2 KiB
Nix
Raw Normal View History

2026-07-08 21:13:56 -04:00
{
description = "Web demo of Organic Org Parser";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
organic = {
url = "git+https://code.fizz.buzz/talexander/organic.git";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{
self,
nixpkgs,
organic,
}:
let
forAllSystems =
func:
builtins.listToAttrs (
map (system: {
name = system;
value = func system;
}) nixpkgs.lib.systems.flakeExposed
);
overlays = [ organic.overlays.default ];
in
{
devShells = forAllSystems (
system:
let
pkgs = import nixpkgs {
inherit system overlays;
};
in
{
default = pkgs.mkShell {
nativeBuildInputs = [
# rustToolchain
];
buildInputs = with pkgs; [
nodejs
];
};
}
);
packages = forAllSystems (
system:
let
pkgs = import nixpkgs {
inherit system overlays;
};
appliedOverlay = self.overlays.default pkgs pkgs;
in
rec {
inherit (appliedOverlay.organic_ast_explorer)
release
;
default = release;
}
);
overlays.default = final: prev: {
organic_ast_explorer = final.lib.makeScope final.newScope (organic_ast_explorer_scope: {
release = final.buildNpmPackage {
pname = "organic_ast_explorer";
version = "0.0.0";
src = final.lib.cleanSource ./.;
npmDepsHash = "sha256-cIL9HRZIg8djOgFEuH7jwem7Eia7V5tPogONma+TO9U=";
npmBuildScript = "release";
preConfigure = ''
substituteInPlace src/Explorer.tsx --replace-fail '../../organic/target/wasm32-unknown-unknown/js/wasm' '${final.organic.wasm_bundler}/share/bundler/wasm'
'';
installPhase = ''
mkdir $out
runHook preInstall
cp -r dist/* "$out"
runHook postInstall
'';
};
});
};
};
}