diff --git a/data/de.johrpan.musicus.desktop.in b/data/de.johrpan.musicus.desktop.in
index 59c2d9c..bf2ce63 100644
--- a/data/de.johrpan.musicus.desktop.in
+++ b/data/de.johrpan.musicus.desktop.in
@@ -1,5 +1,6 @@
[Desktop Entry]
Name=Musicus
+Icon=de.johrpan.musicus
Exec=musicus
Terminal=false
Type=Application
diff --git a/data/icons/hicolor/scalable/apps/de.johrpan.musicus.svg b/data/icons/hicolor/scalable/apps/de.johrpan.musicus.svg
new file mode 100644
index 0000000..e1785e1
--- /dev/null
+++ b/data/icons/hicolor/scalable/apps/de.johrpan.musicus.svg
@@ -0,0 +1,74 @@
+
+
diff --git a/data/icons/hicolor/symbolic/apps/de.johrpan.musicus-symbolic.svg b/data/icons/hicolor/symbolic/apps/de.johrpan.musicus-symbolic.svg
new file mode 100644
index 0000000..c59702a
--- /dev/null
+++ b/data/icons/hicolor/symbolic/apps/de.johrpan.musicus-symbolic.svg
@@ -0,0 +1,68 @@
+
+
diff --git a/data/meson.build b/data/meson.build
index 3834bbe..8af4f10 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,10 +1,25 @@
+datadir = get_option('datadir')
+
+scalable_dir = join_paths('icons', 'hicolor', 'scalable', 'apps')
+install_data(
+ join_paths(scalable_dir, 'de.johrpan.musicus.svg'),
+ install_dir: join_paths(datadir, scalable_dir),
+)
+
+symbolic_dir = join_paths('icons', 'hicolor', 'symbolic', 'apps')
+install_data(
+ join_paths(symbolic_dir, 'de.johrpan.musicus-symbolic.svg'),
+ install_dir: join_paths(datadir, symbolic_dir),
+)
+
+
desktop_file = i18n.merge_file(
input: 'de.johrpan.musicus.desktop.in',
output: 'de.johrpan.musicus.desktop',
type: 'desktop',
po_dir: '../po',
install: true,
- install_dir: join_paths(get_option('datadir'), 'applications')
+ install_dir: join_paths(datadir, 'applications')
)
desktop_utils = find_program('desktop-file-validate', required: false)