This commit is contained in:
shimun 2021-01-02 12:36:10 +01:00
parent f877703a3a
commit 5a4f91a51c
Signed by: shimun
GPG Key ID: E81D8382DC2F971B

View File

@ -17,44 +17,47 @@
nixpkgs.url = "nixpkgs/20.09"; nixpkgs.url = "nixpkgs/20.09";
}; };
outputs = { self, nixpkgs, resume-cli, nix-extras, flake-utils }: flake-utils.lib.eachSystem [ "x86_64-linux" ] outputs = { self, nixpkgs, resume-cli, nix-extras, flake-utils }:
(system: let
let forPkgs = pkgs:
pkgs = import nixpkgs { let
inherit system; dbg = pkgs.lib.traceVal;
}; callNode2nix = import "${nix-extras}/callNode2nix.nix";
dbg = pkgs.lib.traceVal; node2nix = callNode2nix { inherit pkgs; name = "resume-cli"; package = "${resume-cli}/package.json"; packageLock = "${resume-cli}/package-lock.json"; };
callNode2nix = import "${nix-extras}/callNode2nix.nix"; nixifiedSrc =
node2nix = callNode2nix { inherit pkgs; name = "resume-cli"; package = "${resume-cli}/package.json"; packageLock = "${resume-cli}/package-lock.json"; }; with pkgs;
nixifiedSrc = (runCommandLocal "node2nix-merge" { } ''
with pkgs; mkdir -p $out
(runCommandLocal "node2nix-merge" { } '' cp -r ${resume-cli}/* $out
mkdir -p $out cp -rf ${node2nix}/* $out/
cp -r ${resume-cli}/* $out ''
cp -rf ${node2nix}/* $out/ );
'' nodePackages = pkgs.callPackage "${nixifiedSrc}" { inherit pkgs; system = pkgs.system; };
); override = nodePackages // {
nodePackages = pkgs.callPackage "${nixifiedSrc}" { inherit pkgs system; }; package = nodePackages.package.override {
override = nodePackages // { PUPPETEER_SKIP_DOWNLOAD = 1;
package = nodePackages.package.override { PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = 1;
PUPPETEER_SKIP_DOWNLOAD = 1; buildInputs = [ pkgs.chromium ];
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = 1; nativeBuildInputs = [ pkgs.makeWrapper ];
buildInputs = [ pkgs.chromium ]; postInstall = ''
nativeBuildInputs = [ pkgs.makeWrapper ]; wrapProgram $out/bin/resume \
postInstall = '' --set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
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 forSystem = system: forPkgs (import nixpkgs { inherit system; });
rec { in
packages.resume-cli = override.package; (flake-utils.lib.eachSystem [ "x86_64-linux" ] forSystem) // {
defaultPackage = packages.resume-cli; overlay = final: prev: (forPkgs final).packages;
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 ];
};
});
} }