Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 72 lines 1.4 kB view raw
1{ 2 lib, 3 python3Packages, 4 fetchFromGitHub, 5 aria2, 6 meson, 7 ninja, 8 pkg-config, 9 gobject-introspection, 10 wrapGAppsHook4, 11 desktop-file-utils, 12 libadwaita, 13 ffmpeg, 14}: 15 16python3Packages.buildPythonApplication rec { 17 pname = "varia"; 18 version = "2025.7.19"; 19 pyproject = false; 20 21 src = fetchFromGitHub { 22 owner = "giantpinkrobots"; 23 repo = "varia"; 24 tag = "v${version}"; 25 hash = "sha256-/u6Eb9Se/Lt8Hisv24zfOgNE9ZxC3AJXbZHmukVLSRA="; 26 }; 27 28 nativeBuildInputs = [ 29 meson 30 ninja 31 pkg-config 32 gobject-introspection 33 wrapGAppsHook4 34 desktop-file-utils 35 ]; 36 37 buildInputs = [ 38 libadwaita 39 ]; 40 41 dependencies = with python3Packages; [ 42 pygobject3 43 aria2p 44 yt-dlp 45 ]; 46 47 postInstall = '' 48 rm $out/bin/varia 49 mv $out/bin/varia-py.py $out/bin/varia 50 ''; 51 52 dontWrapGApps = true; 53 54 # This replaces original varia wrapper 55 preFixup = '' 56 makeWrapperArgs+=( 57 "''${gappsWrapperArgs[@]}" 58 --add-flag "${lib.getExe aria2}" 59 --add-flag "${lib.getExe ffmpeg}" 60 --add-flag "NOSNAP" 61 ) 62 ''; 63 64 meta = { 65 description = "Simple download manager based on aria2 and libadwaita"; 66 homepage = "https://giantpinkrobots.github.io/varia"; 67 license = lib.licenses.mpl20; 68 mainProgram = "varia"; 69 maintainers = with lib.maintainers; [ aleksana ]; 70 platforms = lib.platforms.linux; 71 }; 72}