1 { stdenv, lib, fetchurl, appimageTools, makeWrapper, electron, nixosTests }:
3 stdenv.mkDerivation rec {
8 url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
9 sha256 = "add96ad3509d4d5c6d8658b005dfd046963cd6bb0a4e1f3e88f726a86c05810f";
12 passthru.tests = nixosTests.freetube;
14 appimageContents = appimageTools.extractType2 {
15 name = "${pname}-${version}";
23 nativeBuildInputs = [ makeWrapper ];
28 mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/icons/hicolor/scalable/apps
30 cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
31 cp -a ${appimageContents}/freetube.desktop $out/share/applications/${pname}.desktop
32 cp -a ${appimageContents}/usr/share/icons/hicolor/scalable/freetube.svg $out/share/icons/hicolor/scalable/apps
34 substituteInPlace $out/share/applications/${pname}.desktop \
35 --replace 'Exec=AppRun' 'Exec=${pname}'
41 makeWrapper ${electron}/bin/electron $out/bin/${pname} \
42 --add-flags $out/share/${pname}/resources/app.asar
46 description = "An Open Source YouTube app for privacy";
47 homepage = "https://freetubeapp.io/";
48 license = licenses.agpl3Only;
49 maintainers = with maintainers; [ ryneeverett alyaeanyx ];
50 inherit (electron.meta) platforms;