This repository has been archived on 2022-01-02. You can view files and clone it, but cannot push or open issues/pull-requests.
AriaNg/flake.nix

58 lines
1.5 KiB
Nix

{
description = "A modern web frontend for aria2";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, flake-utils, nixpkgs }: {
overlay = final: prev: {
AriaNg =
let
nodeDependencies = (prev.callPackage ./build-dependencies.nix { pkgs = prev; }).shell.nodeDependencies;
in
prev.stdenvNoCC.mkDerivation {
pname = "AriaNg";
version = "1.1.7";
src = self;
buildPhase = ''
ln -s ${nodeDependencies}/lib/node_modules ./node_modules
# shebang uses nodejs-12_x?
${prev.nodejs-10_x}/bin/node ${nodeDependencies}/bin/gulp clean build
'';
installPhase = ''
cp -r dist $out
'';
};
};
} // flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; overlays = [ self.overlay ]; };
in
rec {
packages = {
inherit (pkgs) AriaNg;
};
defaultPackage = packages.AriaNg;
apps = {
update = {
type = "app";
program = toString (pkgs.writeShellScript "update" ''
${pkgs.nodePackages.node2nix}/bin/node2nix \
--nodejs-10 \
--development \
--composition build-dependencies.nix \
--lock package-lock.json
'');
};
};
});
}