diff --git a/pkgs/by-name/ic/iconpack-obsidian/package.nix b/pkgs/by-name/ic/iconpack-obsidian/package.nix index e349b8f291c5..bf82309f6a84 100644 --- a/pkgs/by-name/ic/iconpack-obsidian/package.nix +++ b/pkgs/by-name/ic/iconpack-obsidian/package.nix @@ -31,12 +31,28 @@ stdenvNoCC.mkDerivation rec { dontDropIconThemeCache = true; installPhase = '' + runHook preInstall + mkdir -p $out/share/icons mv Obsidian* $out/share/icons for theme in $out/share/icons/*; do gtk-update-icon-cache $theme done + + # Fix broken symlink only if needed + # https://github.com/NixOS/nixpkgs/issues/394218 + + broken_symlink="$out/share/icons/Obsidian/actions/96/lock.svg" + target_svg="$out/share/icons/Obsidian/actions/scalable/system-lock-screen.svg" + + if [ -h "$broken_symlink" ] && [ ! -e "$broken_symlink" ]; then + echo "=== Fixing broken symlink: $broken_symlink" + rm -f "$broken_symlink" + ln -s "$target_svg" "$broken_symlink" + fi + + runHook postInstall ''; meta = with lib; {