Add an overlay to the flake.
This commit is contained in:
66
flake.nix
66
flake.nix
@@ -57,11 +57,45 @@
|
|||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system overlays;
|
inherit system overlays;
|
||||||
};
|
};
|
||||||
|
appliedOverlay = self.overlays.default pkgs pkgs;
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
default = all;
|
||||||
|
all = pkgs.symlinkJoin {
|
||||||
|
name = "all";
|
||||||
|
paths = [
|
||||||
|
library
|
||||||
|
devTools
|
||||||
|
wasm_bundler
|
||||||
|
wasm_web
|
||||||
|
];
|
||||||
|
};
|
||||||
|
inherit (appliedOverlay.organic)
|
||||||
|
library
|
||||||
|
devTools
|
||||||
|
wasm_bundler
|
||||||
|
wasm_web
|
||||||
|
;
|
||||||
|
docker_env = pkgs.buildEnv {
|
||||||
|
name = "organic";
|
||||||
|
paths = with pkgs; [
|
||||||
|
appliedOverlay.organic.devTools
|
||||||
|
bash
|
||||||
|
uutils-coreutils-noprefix
|
||||||
|
# toybox # Smaller than uutils-coreutils?
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
overlays.default = final: prev: {
|
||||||
|
organic = final.lib.makeScope final.newScope (
|
||||||
|
organicScope:
|
||||||
|
let
|
||||||
build_wasm =
|
build_wasm =
|
||||||
{
|
{
|
||||||
bindgenTarget ? null,
|
bindgenTarget ? null,
|
||||||
}:
|
}:
|
||||||
(pkgs.callPackage ./nix/package.nix {
|
(organicScope.callPackage ./nix/package.nix {
|
||||||
targetBins = [
|
targetBins = [
|
||||||
"wasm"
|
"wasm"
|
||||||
];
|
];
|
||||||
@@ -73,7 +107,7 @@
|
|||||||
old:
|
old:
|
||||||
let
|
let
|
||||||
bindgen_command = [
|
bindgen_command = [
|
||||||
"${pkgs.wasm-bindgen-cli}/bin/wasm-bindgen"
|
"${final.wasm-bindgen-cli}/bin/wasm-bindgen"
|
||||||
"--target"
|
"--target"
|
||||||
bindgenTarget
|
bindgenTarget
|
||||||
"--out-dir"
|
"--out-dir"
|
||||||
@@ -83,7 +117,7 @@
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
${pkgs.lib.escapeShellArgs bindgen_command}
|
${final.lib.escapeShellArgs bindgen_command}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@@ -93,17 +127,8 @@
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
rec {
|
{
|
||||||
all = pkgs.symlinkJoin {
|
library = (organicScope.callPackage ./nix/package.nix { buildLib = true; }).overrideAttrs (
|
||||||
name = "all";
|
|
||||||
paths = [
|
|
||||||
library
|
|
||||||
devTools
|
|
||||||
wasm_bundler
|
|
||||||
wasm_web
|
|
||||||
];
|
|
||||||
};
|
|
||||||
library = (pkgs.callPackage ./nix/package.nix { buildLib = true; }).overrideAttrs (
|
|
||||||
old:
|
old:
|
||||||
let
|
let
|
||||||
in
|
in
|
||||||
@@ -114,7 +139,7 @@
|
|||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
devTools = pkgs.callPackage ./nix/package.nix {
|
devTools = organicScope.callPackage ./nix/package.nix {
|
||||||
targetBins = [
|
targetBins = [
|
||||||
"parse"
|
"parse"
|
||||||
"compare"
|
"compare"
|
||||||
@@ -123,17 +148,8 @@
|
|||||||
};
|
};
|
||||||
wasm_bundler = build_wasm { bindgenTarget = "bundler"; };
|
wasm_bundler = build_wasm { bindgenTarget = "bundler"; };
|
||||||
wasm_web = build_wasm { bindgenTarget = "web"; };
|
wasm_web = build_wasm { bindgenTarget = "web"; };
|
||||||
docker_env = pkgs.buildEnv {
|
|
||||||
name = "organic";
|
|
||||||
paths = with pkgs; [
|
|
||||||
devTools
|
|
||||||
bash
|
|
||||||
uutils-coreutils-noprefix
|
|
||||||
# toybox # Smaller than uutils-coreutils?
|
|
||||||
];
|
|
||||||
};
|
|
||||||
default = all;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user