diff --git a/.ci/update-icons.sh b/.ci/update-icons.sh
new file mode 100755
index 0000000000..bff4bad7ef
--- /dev/null
+++ b/.ci/update-icons.sh
@@ -0,0 +1,21 @@
+#!/bin/sh -e
+
+# SPDX-FileCopyrightText: 2025 eden Emulator Project
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+which png2icns || [ which yay && yay libicns ] || exit
+which magick || exit
+
+export EDEN_SVG_ICO="dist/org.eden_emu.eden.svg"
+svgo --multipass $EDEN_SVG_ICO
+
+magick -density 256x256 -background transparent $EDEN_SVG_ICO \
+ -define icon:auto-resize -colors 256 dist/eden.ico || exit
+magick -size 256x256 -density 256x256 -background transparent $EDEN_SVG_ICO \
+ -define icon:auto-resize -colors 256 dist/yuzu.bmp || exit
+
+export TMP_PNG="dist/eden-tmp.png"
+magick -size 1024x1024 -background transparent $EDEN_SVG_ICO $TMP_PNG || exit
+png2icns dist/eden.icns $TMP_PNG
+cp dist/eden.icns dist/yuzu.icns
+rm $TMP_PNG
diff --git a/dist/eden.icns b/dist/eden.icns
index 3e27471e4b..97aed94020 100644
Binary files a/dist/eden.icns and b/dist/eden.icns differ
diff --git a/dist/eden.ico b/dist/eden.ico
index 4ebfbc5f95..507cb23f6a 100644
Binary files a/dist/eden.ico and b/dist/eden.ico differ
diff --git a/dist/org.eden_emu.eden.svg b/dist/org.eden_emu.eden.svg
index 98a0a4d46a..eff6ccbb01 100644
--- a/dist/org.eden_emu.eden.svg
+++ b/dist/org.eden_emu.eden.svg
@@ -1,13 +1 @@
-
+
\ No newline at end of file
diff --git a/dist/org.eden_emu.eden.xml b/dist/org.eden_emu.eden.xml
index b774eb0c4e..922ebf7ff3 100644
--- a/dist/org.eden_emu.eden.xml
+++ b/dist/org.eden_emu.eden.xml
@@ -1,5 +1,10 @@
+
+