mudl/flake.nix
2022-01-11 10:30:42 -07:00

36 lines
1.1 KiB
Nix

{
description = "Music downloader";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
npm-buildpackage.url = "github:serokell/nix-npm-buildpackage";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, npm-buildpackage, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs { inherit system; overlays = [(final: prev: {
inherit (final.callPackage "${npm-buildpackage}" { nodejs = final.nodejs-14_x; }) mkNodeModules buildNpmPackage buildYarnPackage;
})]; };
in {
packages.mudl = pkgs.buildNpmPackage {
src = ./.;
buildInputs = [ pkgs.makeWrapper ];
postInstall = ''
chmod +x $out/index.js
makeWrapper $out/index.js $out/bin/mudl --prefix PATH : ${nixpkgs.lib.makeBinPath (with pkgs; [ yt-dlp imagemagick sacad id3v2 ])}
rm $out/bin/npm
'';
};
defaultPackage = self.packages.${system}.mudl;
apps.mudl = {
type = "app";
program = "${self.packages.${system}.mudl}/bin/mudl";
};
defaultApp = self.apps.${system}.mudl;
});
}