diff --git a/data/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg b/data/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
new file mode 100644
index 000000000..496be6b4e
--- /dev/null
+++ b/data/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg b/data/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
new file mode 100644
index 000000000..4208a4d43
--- /dev/null
+++ b/data/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/icons/meson.build b/data/icons/meson.build
new file mode 100644
index 000000000..eff6e4b53
--- /dev/null
+++ b/data/icons/meson.build
@@ -0,0 +1 @@
+install_subdir('hicolor', install_dir: icondir)
diff --git a/data/meson.build b/data/meson.build
index 2146ce5bf..803e68289 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,5 +1,6 @@
desktop_files = [
'org.gnome.Shell.desktop',
+ 'org.gnome.Shell.Extensions.desktop',
]
service_files = []
@@ -42,6 +43,7 @@ endforeach
subdir('dbus-interfaces')
+subdir('icons')
subdir('theme')
data_resources = [
diff --git a/data/org.gnome.Shell.Extensions.desktop.in.in b/data/org.gnome.Shell.Extensions.desktop.in.in
new file mode 100644
index 000000000..9c3b6bc7c
--- /dev/null
+++ b/data/org.gnome.Shell.Extensions.desktop.in.in
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+# Keep in sync with subprojects/extensions-app
+Name=Extensions
+# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
+Icon=org.gnome.Shell.Extensions
+# Never launch this, just provide name+icon to portal dialog
+Exec=false
+OnlyShowIn=GNOME;
+NoDisplay=true