about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaciej Krüger <mkg20001@gmail.com>2024-03-09 19:00:23 +0100
committerGitHub <noreply@github.com>2024-03-09 19:00:23 +0100
commit32146f31615787cc28af373e5bceaa256077b26c (patch)
tree221ec9b60ee69c65531ce0370772212b14ec39f5
parent469d04ae7767bb19440a7f84b9958af87552a49c (diff)
parentf48a35b0702366ef9c0ac3a95906e68f3d1eb7ca (diff)
downloadnixlib-32146f31615787cc28af373e5bceaa256077b26c.tar
nixlib-32146f31615787cc28af373e5bceaa256077b26c.tar.gz
nixlib-32146f31615787cc28af373e5bceaa256077b26c.tar.bz2
nixlib-32146f31615787cc28af373e5bceaa256077b26c.tar.lz
nixlib-32146f31615787cc28af373e5bceaa256077b26c.tar.xz
nixlib-32146f31615787cc28af373e5bceaa256077b26c.tar.zst
nixlib-32146f31615787cc28af373e5bceaa256077b26c.zip
Merge pull request #294517 from chewblacka/fix-ytdownloader
ytdownloader: add patch to set correct config dir
-rw-r--r--pkgs/by-name/yt/ytdownloader/config-dir.patch18
-rw-r--r--pkgs/by-name/yt/ytdownloader/package.nix10
2 files changed, 25 insertions, 3 deletions
diff --git a/pkgs/by-name/yt/ytdownloader/config-dir.patch b/pkgs/by-name/yt/ytdownloader/config-dir.patch
new file mode 100644
index 000000000000..eb3684a24887
--- /dev/null
+++ b/pkgs/by-name/yt/ytdownloader/config-dir.patch
@@ -0,0 +1,18 @@
+--- a/main.js
++++ b/main.js
+@@ -13,6 +13,15 @@
+ const fs = require("fs");
+ const path = require("path");
+ autoUpdater.autoDownload = false;
++
++// Set the config directory to XDG_CONFIG_HOME/ytdownloader
++const xdgConfigHome = process.env.XDG_CONFIG_HOME;
++let configDir = app.getPath('home') + "/.config/ytdownloader";
++if (xdgConfigHome) {
++	configDir = xdgConfigHome + "/ytdownloader";
++}
++app.setPath ('userData', configDir);
++
+ /**@type {BrowserWindow} */
+ let win = null;
+ let secondaryWindow = null;
diff --git a/pkgs/by-name/yt/ytdownloader/package.nix b/pkgs/by-name/yt/ytdownloader/package.nix
index e5e3c202e81d..9a607c16e4aa 100644
--- a/pkgs/by-name/yt/ytdownloader/package.nix
+++ b/pkgs/by-name/yt/ytdownloader/package.nix
@@ -25,19 +25,23 @@ buildNpmPackage rec {
   buildInputs = [ ffmpeg yt-dlp ];
 
   desktopItem = makeDesktopItem {
-    name = "YTDownloader";
+    name = "ytDownloader";
     exec = "ytdownloader %U";
     icon = "ytdownloader";
-    desktopName = "YT Downloader";
+    desktopName = "ytDownloader";
     comment = "A modern GUI video and audio downloader";
     categories = [ "Utility" ];
-    startupWMClass = "YTDownloader";
+    startupWMClass = "ytDownloader";
   };
 
   ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
 
   dontNpmBuild = true;
 
+  # Patch config dir to ~/.config/ytdownloader
+  # Otherwise it stores config in ~/.config/Electron
+  patches = [ ./config-dir.patch ];
+
   # Replace hardcoded ffmpeg and ytdlp paths
   # Also stop it from downloading ytdlp
   postPatch = ''