diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0e4cc5a62f1b..684af44fe44d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6930,6 +6930,12 @@ githubId = 13937320; name = "Dalton Caron"; }; + DomagojAlaber = { + email = "a.domagoj@hotmail.com"; + github = "DomagojAlaber"; + githubId = 86619082; + name = "Domagoj Alaber"; + }; domenkozar = { email = "domen@dev.si"; github = "domenkozar"; diff --git a/pkgs/by-name/ap/apidog/package.nix b/pkgs/by-name/ap/apidog/package.nix new file mode 100644 index 000000000000..0ba18226a5cc --- /dev/null +++ b/pkgs/by-name/ap/apidog/package.nix @@ -0,0 +1,68 @@ +{ + lib, + appimageTools, + fetchurl, + makeDesktopItem, +}: + +let + pname = "apidog"; + version = "2.7.51"; + + src = fetchurl { + url = "https://file-assets.apidog.com/download/${version}/Apidog-${version}.AppImage"; + hash = "sha256-MEVnpzVRj0Mi+ZX9CVi5dyDlV3rxuSC5tYM03bqdw0Q="; + }; + + appimageContents = appimageTools.extract { + inherit pname version src; + }; + + desktopItem = makeDesktopItem { + name = "apidog"; + exec = "apidog %U"; + icon = "apidog"; + desktopName = "Apidog"; + comment = "All-in-One API Platform: Design, Debug, Mock, Test, and Document."; + categories = [ + "Development" + "Utility" + ]; + mimeTypes = [ "x-scheme-handler/apidog" ]; + }; +in +appimageTools.wrapType2 { + inherit pname version src; + + extraPkgs = pkgs: [ + pkgs.nss + pkgs.gtk3 + pkgs.libx11 + pkgs.libxcb + pkgs.libxrandr + pkgs.libxcomposite + pkgs.libxdamage + pkgs.libxfixes + pkgs.libxext + pkgs.libdbusmenu + pkgs.alsa-lib + pkgs.nodejs + ]; + + extraInstallCommands = '' + install -Dm444 ${appimageContents}/apidog.png \ + $out/share/icons/hicolor/512x512/apps/apidog.png + ''; + + desktopItems = [ desktopItem ]; + + meta = with lib; { + description = "All-in-one API design, test, mock and documentation platform"; + homepage = "https://apidog.com"; + license = licenses.unfree; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + platforms = [ "x86_64-linux" ]; + mainProgram = "apidog"; + maintainers = with maintainers; [ DomagojAlaber ]; + }; +}