{ description = "Music downloader"; inputs = { 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 = [ npm-buildpackage.overlay ]; }; 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; }); }