diff --git a/modules/packages/desktop.nix b/modules/packages/desktop.nix index 6fd4c4f6..9979aaee 100644 --- a/modules/packages/desktop.nix +++ b/modules/packages/desktop.nix @@ -68,7 +68,7 @@ inputs: # for kdenlive auto subtitle openai-whisper # daily management - activitywatch + activitywatch localPackages.dida ] ++ (builtins.filter (p: !((p.meta.broken or false) || (builtins.elem p.pname or null [ "falkon" "kalzium" ]))) (builtins.filter inputs.lib.isDerivation (builtins.attrValues kdePackages.kdeGear))); diff --git a/packages/default.nix b/packages/default.nix index 17f3eccc..6c3c4cff 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -144,6 +144,7 @@ inputs: rec buildProxy = inputs.pkgs.lib.mkBuildproxy ./pybinding/proxy.nix; }; brokenaxes = inputs.pkgs.python3Packages.callPackage ./brokenaxes.nix { src = inputs.topInputs.brokenaxes; }; + dida = inputs.pkgs.callPackage ./dida.nix {}; fromYaml = content: builtins.fromJSON (builtins.readFile (inputs.pkgs.runCommand "toJSON" {} diff --git a/packages/dida.nix b/packages/dida.nix new file mode 100644 index 00000000..60d39ad3 --- /dev/null +++ b/packages/dida.nix @@ -0,0 +1,32 @@ +# port from nixpkgs ad10336d56fcc811dc4bc5af2f8f2d0b71a407d0 +{ + fetchurl, stdenv, + wrapGAppsHook3, dpkg, autoPatchelfHook, glibc, gcc-unwrapped, nss, libdrm, libgbm, alsa-lib, xdg-utils, systemd +}: stdenv.mkDerivation rec +{ + pname = "dida"; + version = "6.0.40"; + src = fetchurl + { + url = "https://cdn.dida365.cn/download/linux/linux_deb_x64/dida-${version}-amd64.deb"; + sha256 = "08wy9blzkhkn2fl8sv2prv7bzp77skg5m32jzvz3sy4j8x2nanmi"; + }; + nativeBuildInputs = [ wrapGAppsHook3 autoPatchelfHook dpkg ]; + buildInputs = [ nss glibc libdrm gcc-unwrapped libgbm alsa-lib xdg-utils ]; + runtimeDependencies = [ systemd ]; + unpackPhase = + '' + runHook preUnpack + mkdir -p "$out/share" "$out/opt/dida" "$out/bin" + dpkg-deb --fsys-tarfile "$src" | tar --extract --directory="$out" + runHook postUnpack + ''; + installPhase = '' + runHook preInstall + mv $out/usr/share $out + rm -r $out/usr + ln -sf "$out/opt/dida/dida" "$out/bin/dida" + substituteInPlace "$out/share/applications/dida.desktop" --replace "Exec=/opt/dida/dida" "Exec=$out/bin/dida" + runHook postInstall + ''; +}