From 788d47d8c312d0d622752ae7c0a9a8bad43cbff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20=22Capypara=22=20K=C3=B6pcke?= Date: Sat, 23 Aug 2025 10:11:17 +0200 Subject: [PATCH] vacuum-tube: init at 1.3.15 --- pkgs/by-name/va/vacuum-tube/package.nix | 72 +++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 pkgs/by-name/va/vacuum-tube/package.nix diff --git a/pkgs/by-name/va/vacuum-tube/package.nix b/pkgs/by-name/va/vacuum-tube/package.nix new file mode 100644 index 000000000000..0dfb54ba3bdc --- /dev/null +++ b/pkgs/by-name/va/vacuum-tube/package.nix @@ -0,0 +1,72 @@ +{ + buildNpmPackage, + fetchFromGitHub, + lib, + electron, + makeWrapper, + writableTmpDirAsHomeHook, +}: + +buildNpmPackage rec { + pname = "vacuum-tube"; + version = "1.3.15"; + + src = fetchFromGitHub { + owner = "shy1132"; + repo = "VacuumTube"; + tag = "v${version}"; + hash = "sha256-dwUmAMogBBzpMFsoF2OP0otMz1tH9Jo3fchjWqMWIV0="; + }; + + npmDepsHash = "sha256-Qi9oMV8nFSfXXbhNYRDRZgLx+kQ8JbdgM8BK3hiEH44="; + + env = { + ELECTRON_SKIP_BINARY_DOWNLOAD = true; + }; + + nativeBuildInputs = [ + makeWrapper + writableTmpDirAsHomeHook + ]; + + buildPhase = '' + runHook preBuild + + npx electron-builder -l --dir \ + -c.electronDist="${electron.dist}" \ + -c.electronVersion=${electron.version} + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/opt + cp -r ./dist/*-unpacked $out/opt/VacuumTube + + for i in 16 32 48 64 256 512; do + install -Dm644 "assets/icons/$i"x"$i.png" \ + "$out/share/icons/hicolor/$i"x"$i/apps/rocks.shy.VacuumTube.png" + done + + install -Dm644 flatpak/rocks.shy.VacuumTube.desktop $out/share/applications/VacuumTube.desktop + + substituteInPlace $out/share/applications/VacuumTube.desktop \ + --replace-fail 'Exec=startvacuumtube' 'Exec=VacuumTube' + + makeWrapper "${electron}/bin/electron" "$out/bin/VacuumTube" \ + --add-flags "$out/opt/VacuumTube/resources/app.asar" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" + + runHook postInstall + ''; + + meta = { + description = "YouTube Leanback on the desktop, with enhancements"; + homepage = "https://github.com/shy1132/VacuumTube"; + mainProgram = "VacuumTube"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ theCapypara ]; + }; +}