mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-15 20:00:19 +00:00
discord: respect DISCORD_USER_DATA_DIR
Closes: https://github.com/NixOS/nixpkgs/issues/550741
This commit is contained in:
@@ -64,10 +64,12 @@ let
|
||||
|
||||
stageModules = writeShellScript "discord-stage-modules" ''
|
||||
store_modules="$1"
|
||||
modules_dir="$HOME/Library/Application Support/${configDirName}/${version}/modules"
|
||||
user_data_dir="''${DISCORD_USER_DATA_DIR-$HOME/Library/Application Support}"
|
||||
modules_dir="$user_data_dir''${user_data_dir:+/}${configDirName}/${version}/modules"
|
||||
mkdir -p "$modules_dir"
|
||||
for m in ${lib.concatStringsSep " " (lib.attrNames moduleSrcs)}; do
|
||||
ln -sfn "$store_modules/$m" "$modules_dir/$m"
|
||||
rm -rf "$modules_dir/$m"
|
||||
ln -s "$store_modules/$m" "$modules_dir/$m"
|
||||
done
|
||||
echo '${builtins.toJSON (lib.mapAttrs (_: mod: { installedVersion = mod; }) moduleVersions)}' \
|
||||
> "$modules_dir/installed.json"
|
||||
|
||||
@@ -17,10 +17,13 @@ import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
config_home = {
|
||||
"darwin": os.path.join(os.path.expanduser("~"), "Library", "Application Support"),
|
||||
"linux": os.environ.get("XDG_CONFIG_HOME") or os.path.join(os.path.expanduser("~"), ".config")
|
||||
}.get(sys.platform, None)
|
||||
config_home = os.environ.get("DISCORD_USER_DATA_DIR")
|
||||
if config_home is None:
|
||||
config_home = {
|
||||
"darwin": os.path.join(os.path.expanduser("~"), "Library", "Application Support"),
|
||||
"linux": os.environ.get("XDG_CONFIG_HOME")
|
||||
or os.path.join(os.path.expanduser("~"), ".config"),
|
||||
}.get(sys.platform, None)
|
||||
|
||||
if config_home is None:
|
||||
print("[Nix] Unsupported operating system.")
|
||||
@@ -28,8 +31,8 @@ if config_home is None:
|
||||
|
||||
config_dir_name = "@configDirName@".replace(" ", "") if sys.platform == "darwin" else "@configDirName@"
|
||||
|
||||
settings_path = Path(f"{config_home}/{config_dir_name}/settings.json")
|
||||
settings_path_temp = Path(f"{config_home}/{config_dir_name}/settings.json.tmp")
|
||||
settings_path = Path(config_home) / config_dir_name / "settings.json"
|
||||
settings_path_temp = settings_path.with_suffix(".json.tmp")
|
||||
|
||||
if os.path.exists(settings_path):
|
||||
with settings_path.open(encoding="utf-8") as settings_file:
|
||||
|
||||
@@ -152,7 +152,8 @@ let
|
||||
# where Discord's JS moduleUpdater expects them.
|
||||
stageModules = writeShellScript "discord-stage-modules" ''
|
||||
store_modules="$1"
|
||||
modules_dir="''${XDG_CONFIG_HOME:-$HOME/.config}/${lib.toLower binaryName}/${version}/modules"
|
||||
user_data_dir="''${DISCORD_USER_DATA_DIR-''${XDG_CONFIG_HOME:-$HOME/.config}}"
|
||||
modules_dir="$user_data_dir''${user_data_dir:+/}${lib.toLower binaryName}/${version}/modules"
|
||||
rm -rf "$modules_dir"
|
||||
mkdir -p "$modules_dir"
|
||||
for m in ${lib.concatStringsSep " " (lib.attrNames moduleSrcs)}; do
|
||||
|
||||
Reference in New Issue
Block a user