overlay
This commit is contained in:
parent
f877703a3a
commit
5a4f91a51c
79
flake.nix
79
flake.nix
@ -17,44 +17,47 @@
|
||||
nixpkgs.url = "nixpkgs/20.09";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, resume-cli, nix-extras, flake-utils }: flake-utils.lib.eachSystem [ "x86_64-linux" ]
|
||||
(system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
};
|
||||
dbg = pkgs.lib.traceVal;
|
||||
callNode2nix = import "${nix-extras}/callNode2nix.nix";
|
||||
node2nix = callNode2nix { inherit pkgs; name = "resume-cli"; package = "${resume-cli}/package.json"; packageLock = "${resume-cli}/package-lock.json"; };
|
||||
nixifiedSrc =
|
||||
with pkgs;
|
||||
(runCommandLocal "node2nix-merge" { } ''
|
||||
mkdir -p $out
|
||||
cp -r ${resume-cli}/* $out
|
||||
cp -rf ${node2nix}/* $out/
|
||||
''
|
||||
);
|
||||
nodePackages = pkgs.callPackage "${nixifiedSrc}" { inherit pkgs system; };
|
||||
override = nodePackages // {
|
||||
package = nodePackages.package.override {
|
||||
PUPPETEER_SKIP_DOWNLOAD = 1;
|
||||
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = 1;
|
||||
buildInputs = [ pkgs.chromium ];
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/resume \
|
||||
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
|
||||
'';
|
||||
outputs = { self, nixpkgs, resume-cli, nix-extras, flake-utils }:
|
||||
let
|
||||
forPkgs = pkgs:
|
||||
let
|
||||
dbg = pkgs.lib.traceVal;
|
||||
callNode2nix = import "${nix-extras}/callNode2nix.nix";
|
||||
node2nix = callNode2nix { inherit pkgs; name = "resume-cli"; package = "${resume-cli}/package.json"; packageLock = "${resume-cli}/package-lock.json"; };
|
||||
nixifiedSrc =
|
||||
with pkgs;
|
||||
(runCommandLocal "node2nix-merge" { } ''
|
||||
mkdir -p $out
|
||||
cp -r ${resume-cli}/* $out
|
||||
cp -rf ${node2nix}/* $out/
|
||||
''
|
||||
);
|
||||
nodePackages = pkgs.callPackage "${nixifiedSrc}" { inherit pkgs; system = pkgs.system; };
|
||||
override = nodePackages // {
|
||||
package = nodePackages.package.override {
|
||||
PUPPETEER_SKIP_DOWNLOAD = 1;
|
||||
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = 1;
|
||||
buildInputs = [ pkgs.chromium ];
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/resume \
|
||||
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
|
||||
'';
|
||||
};
|
||||
};
|
||||
in
|
||||
rec {
|
||||
packages.resume-cli = override.package;
|
||||
defaultPackage = packages.resume-cli;
|
||||
apps.resume-cli = flake-utils.lib.mkApp { drv = defaultPackage; exePath = "/bin/resume"; };
|
||||
defaultApp = apps.resume-cli;
|
||||
devShell = with pkgs; mkShell {
|
||||
buildInputs = [ nodejs packages.resume-cli ];
|
||||
};
|
||||
};
|
||||
in
|
||||
rec {
|
||||
packages.resume-cli = override.package;
|
||||
defaultPackage = packages.resume-cli;
|
||||
apps.resume-cli = flake-utils.lib.mkApp { drv = defaultPackage; exePath = "/bin/resume"; };
|
||||
defaultApp = apps.resume-cli;
|
||||
devShell = with pkgs; mkShell {
|
||||
buildInputs = [ nodejs packages.resume-cli ];
|
||||
};
|
||||
});
|
||||
forSystem = system: forPkgs (import nixpkgs { inherit system; });
|
||||
in
|
||||
(flake-utils.lib.eachSystem [ "x86_64-linux" ] forSystem) // {
|
||||
overlay = final: prev: (forPkgs final).packages;
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user