diff --git a/src/res/mac/AppIcon.icns b/src/res/mac/AppIcon.icns
new file mode 100644
index 0000000..d3f07c3
Binary files /dev/null and b/src/res/mac/AppIcon.icns differ
diff --git a/src/res/mac/modulo.plist b/src/res/mac/modulo.plist
index dd37ecd..9883bd4 100644
--- a/src/res/mac/modulo.plist
+++ b/src/res/mac/modulo.plist
@@ -7,7 +7,9 @@
CFBundleExecutable
{{{modulo_path}}}
CFBundleIconFile
-
+ AppIcon
+ CFBundleIconName
+ AppIcon>
CFBundleIdentifier
com.federicoterzi.modulo
CFBundleInfoDictionaryVersion
diff --git a/src/ui/modulo/mac.rs b/src/ui/modulo/mac.rs
index e6bd7e9..db0e480 100644
--- a/src/ui/modulo/mac.rs
+++ b/src/ui/modulo/mac.rs
@@ -4,6 +4,7 @@ use std::os::unix::fs::symlink;
const MODULO_APP_BUNDLE_NAME: &str = "Modulo.app";
const MODULO_APP_BUNDLE_PLIST_CONTENT: &'static str = include_str!("../../res/mac/modulo.plist");
+const MODULO_APP_BUNDLE_ICON: &'static str = include_str!("../../res/mac/AppIcon.icns");
pub fn generate_modulo_app_bundle(modulo_path: &str) -> Result {
let modulo_pathbuf = PathBuf::from(modulo_path);
@@ -37,12 +38,19 @@ pub fn generate_modulo_app_bundle(modulo_path: &str) -> Result