diff --git a/config/retrodeck/net.retrodeck.retrodeck.mime.xml b/config/retrodeck/net.retrodeck.retrodeck.mime.xml
index 9c6b7a9e..2b4266bf 100644
--- a/config/retrodeck/net.retrodeck.retrodeck.mime.xml
+++ b/config/retrodeck/net.retrodeck.retrodeck.mime.xml
@@ -1,145 +1,339 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
-    <mime-type type="application/retro-game">
-        <comment>Retro Game</comment>
-        <glob pattern="*.2d"/>
-        <glob pattern="*.2hd"/>
-        <glob pattern="*.2mg"/>
-        <glob pattern="*.32x"/>
-        <glob pattern="*.360"/>
-        <glob pattern="*.3ds"/>
-        <glob pattern="*.3dsen"/>
-        <glob pattern="*.3dsx"/>
-        <glob pattern="*.68k"/>
-        <glob pattern="*.7z"/>
-        <glob pattern="*.88d"/>
-        <glob pattern="*.98d"/>
-        <glob pattern="*.a26"/>
-        <glob pattern="*.a52"/>
-        <glob pattern="*.a78"/>
-        <glob pattern="*.abs"/>
-        <glob pattern="*.adf"/>
-        <glob pattern="*.adl"/>
-        <glob pattern="*.adm"/>
-        <glob pattern="*.ads"/>
-        <glob pattern="*.adz"/>
-        <glob pattern="*.agb"/>
-        <glob pattern="*.apd"/>
-        <glob pattern="*.app"/>
-        <glob pattern="*.arduboy"/>
-        <glob pattern="*.atr"/>
-        <glob pattern="*.atx"/>
-        <glob pattern="*.axf"/>
-        <glob pattern="*.bat"/>
-        <glob pattern="*.bbc"/>
-        <glob pattern="*.bin"/>
-        <glob pattern="*.bml"/>
-        <glob pattern="*.bms"/>
-        <glob pattern="*.bs"/>
-        <glob pattern="*.bsx"/>
-        <glob pattern="*.car"/>
-        <glob pattern="*.cas"/>
-        <glob pattern="*.cbn"/>
-        <glob pattern="*.ccd"/>
-        <glob pattern="*.cci"/>
-        <glob pattern="*.cdi"/>
-        <glob pattern="*.cdm"/>
-        <glob pattern="*.cdr"/>
-        <glob pattern="*.cdt"/>
-        <glob pattern="*.cgb"/>
-        <glob pattern="*.chai"/>
-        <glob pattern="*.chailove"/>
-        <glob pattern="*.chd"/>
-        <glob pattern="*.chf"/>
-        <glob pattern="*.ciso"/>
-        <glob pattern="*.cmd"/>
-        <glob pattern="*.cmt"/>
-        <glob pattern="*.cof"/>
-        <glob pattern="*.col"/>
-        <glob pattern="*.com"/>
-        <glob pattern="*.conf"/>
-        <glob pattern="*.cpr"/>
-        <glob pattern="*.cqi"/>
-        <glob pattern="*.cqm"/>
-        <glob pattern="*.crt"/>
-        <glob pattern="*.cso"/>
-        <glob pattern="*.csw"/>
-        <glob pattern="*.cue"/>
-        <glob pattern="*.cv"/>
-        <glob pattern="*.cxi"/>
-        <glob pattern="*.d2m"/>
-        <glob pattern="*.d4m"/>
-        <glob pattern="*.d64"/>
-        <glob pattern="*.d6z"/>
-        <glob pattern="*.d71"/>
-        <glob pattern="*.d77"/>
-        <glob pattern="*.d7z"/>
-        <glob pattern="*.d80"/>
-        <glob pattern="*.d81"/>
-        <glob pattern="*.d82"/>
-        <glob pattern="*.d88"/>
-        <glob pattern="*.d8z"/>
-        <glob pattern="*.d98"/>
-        <glob pattern="*.dat"/>
-        <glob pattern="*.ddp"/>
-        <glob pattern="*.dfi"/>c
-        <glob pattern="*.dim"/>
-        <glob pattern="*.dms"/>
-        <glob pattern="*.do"/>
-        <glob pattern="*.doom"/>
-        <glob pattern="*.dol"/>
-        <glob pattern="*.dosz"/>
-        <glob pattern="*.dsk"/>
-        <glob pattern="*.dump"/>
-        <glob pattern="*.dx1"/>
-        <glob pattern="*.easyrpg"/>
-        <glob pattern="*.ecm"/>
-        <glob pattern="*.elf"/>
-        <glob pattern="*.exe"/>
-        <glob pattern="*.fdi"/>
-        <glob pattern="*.gb"/>
-        <glob pattern="*.gba"/>
-        <glob pattern="*.gbc"/>
-        <glob pattern="*.gc"/>
-        <glob pattern="*.gen"/>
-        <glob pattern="*.gg"/>
-        <glob pattern="*.fds"/>
-        <glob pattern="*.gdi"/>
-        <glob pattern="*.hdf"/>
-        <glob pattern="*.hdz"/>
-        <glob pattern="*.img"/>
-        <glob pattern="*.ipf"/>
-        <glob pattern="*.iso"/>
-        <glob pattern="*.kcr"/>
-        <glob pattern="*.lha"/>
-        <glob pattern="*.m3u"/>
-        <glob pattern="*.md"/>
-        <glob pattern="*.mds"/>
-        <glob pattern="*.mdx"/>
-        <glob pattern="*.nes"/>
-        <glob pattern="*.ngc"/>
-        <glob pattern="*.ngp"/>
-        <glob pattern="*.ngpc"/>
-        <glob pattern="*.nsp"/>
-        <glob pattern="*.npc"/>
-        <glob pattern="*.nrg"/>
-        <glob pattern="*.psvita"/>
-        <glob pattern="*.pkg"/>
-        <glob pattern="*.rom"/>
-        <glob pattern="*.rp9"/>
-        <glob pattern="*.rvz"/>
-        <glob pattern="*.sg"/>
-        <glob pattern="*.sgd"/>
-        <glob pattern="*.smd"/>
-        <glob pattern="*.sms"/>
-        <glob pattern="*.sna"/>
-        <glob pattern="*.scummvm"/>
-        <glob pattern="*.tap"/>
-        <glob pattern="*.uae"/>
-        <glob pattern="*.voc"/>
-        <glob pattern="*.wad"/>
-        <glob pattern="*.wbfs"/>
-        <glob pattern="*.wua"/>
-        <glob pattern="*.zip"/>        
-    </mime-type>
+	<mime-type type="application/retro-game">
+		<comment>Retro Game</comment>
+		<glob pattern="*.0"/>
+		<glob pattern="*.1dd"/>
+		<glob pattern="*.2d"/>
+		<glob pattern="*.2hd"/>
+		<glob pattern="*.2mg"/>
+		<glob pattern="*.32x"/>
+		<glob pattern="*.360"/>
+		<glob pattern="*.3ds"/>
+		<glob pattern="*.3dsen"/>
+		<glob pattern="*.3dsx"/>
+		<glob pattern="*.68k"/>
+		<glob pattern="*.7z"/>
+		<glob pattern="*.88d"/>
+		<glob pattern="*.98d"/>
+		<glob pattern="*.a26"/>
+		<glob pattern="*.a52"/>
+		<glob pattern="*.a78"/>
+		<glob pattern="*.abs"/>
+		<glob pattern="*.adf"/>
+		<glob pattern="*.adl"/>
+		<glob pattern="*.adm"/>
+		<glob pattern="*.ads"/>
+		<glob pattern="*.adz"/>
+		<glob pattern="*.agb"/>
+		<glob pattern="*.apd"/>
+		<glob pattern="*.app"/>
+		<glob pattern="*.arcadedef"/>
+		<glob pattern="*.arduboy"/>
+		<glob pattern="*.atr"/>
+		<glob pattern="*.atx"/>
+		<glob pattern="*.axf"/>
+		<glob pattern="*.bat"/>
+		<glob pattern="*.bbc"/>
+		<glob pattern="*.bin"/>
+		<glob pattern="*.bml"/>
+		<glob pattern="*.bms"/>
+		<glob pattern="*.bs"/>
+		<glob pattern="*.bsx"/>
+		<glob pattern="*.car"/>
+		<glob pattern="*.cas"/>
+		<glob pattern="*.cbn"/>
+		<glob pattern="*.ccc"/>
+		<glob pattern="*.ccd"/>
+		<glob pattern="*.cci"/>
+		<glob pattern="*.cdi"/>
+		<glob pattern="*.cdm"/>
+		<glob pattern="*.cdr"/>
+		<glob pattern="*.cdt"/>
+		<glob pattern="*.cgb"/>
+		<glob pattern="*.chai"/>
+		<glob pattern="*.chailove"/>
+		<glob pattern="*.chd"/>
+		<glob pattern="*.chf"/>
+		<glob pattern="*.ciso"/>
+		<glob pattern="*.cmd"/>
+		<glob pattern="*.cmt"/>
+		<glob pattern="*.cof"/>
+		<glob pattern="*.col"/>
+		<glob pattern="*.com"/>
+		<glob pattern="*.conf"/>
+		<glob pattern="*.cpr"/>
+		<glob pattern="*.cqi"/>
+		<glob pattern="*.cqm"/>
+		<glob pattern="*.crt"/>
+		<glob pattern="*.cso"/>
+		<glob pattern="*.csw"/>
+		<glob pattern="*.cue"/>
+		<glob pattern="*.cv"/>
+		<glob pattern="*.cxi"/>
+		<glob pattern="*.d2m"/>
+		<glob pattern="*.d4m"/>
+		<glob pattern="*.d64"/>
+		<glob pattern="*.d6z"/>
+		<glob pattern="*.d71"/>
+		<glob pattern="*.d77"/>
+		<glob pattern="*.d7z"/>
+		<glob pattern="*.d80"/>
+		<glob pattern="*.d81"/>
+		<glob pattern="*.d82"/>
+		<glob pattern="*.d88"/>
+		<glob pattern="*.d8z"/>
+		<glob pattern="*.d98"/>
+		<glob pattern="*.daphne"/>
+		<glob pattern="*.dat"/>
+		<glob pattern="*.ddp"/>
+		<glob pattern="*.desktop"/>
+		<glob pattern="*.dff"/>
+		<glob pattern="*.dfi"/>
+		<glob pattern="*.di1"/>
+		<glob pattern="*.di2"/>
+		<glob pattern="*.dim"/>
+		<glob pattern="*.dirksimple"/>
+		<glob pattern="*.dmg"/>
+		<glob pattern="*.dmk"/>
+		<glob pattern="*.dms"/>
+		<glob pattern="*.do"/>
+		<glob pattern="*.dol"/>
+		<glob pattern="*.doom"/>
+		<glob pattern="*.dosz"/>
+		<glob pattern="*.dsd"/>
+		<glob pattern="*.dsk"/>
+		<glob pattern="*.dump"/>
+		<glob pattern="*.dup"/>
+		<glob pattern="*.dx1"/>
+		<glob pattern="*.dx2"/>
+		<glob pattern="*.easyrpg"/>
+		<glob pattern="*.ecm"/>
+		<glob pattern="*.elf"/>
+		<glob pattern="*.exe"/>
+		<glob pattern="*.fd"/>
+		<glob pattern="*.fd1"/>
+		<glob pattern="*.fd2"/>
+		<glob pattern="*.fdd"/>
+		<glob pattern="*.fdi"/>
+		<glob pattern="*.fds"/>
+		<glob pattern="*.fig"/>
+		<glob pattern="*.fpt"/>
+		<glob pattern="*.g41"/>
+		<glob pattern="*.g4z"/>
+		<glob pattern="*.g64"/>
+		<glob pattern="*.g6z"/>
+		<glob pattern="*.gam"/>
+		<glob pattern="*.game"/>
+		<glob pattern="*.gb"/>
+		<glob pattern="*.gba"/>
+		<glob pattern="*.gbc"/>
+		<glob pattern="*.gcm"/>
+		<glob pattern="*.gcz"/>
+		<glob pattern="*.gd3"/>
+		<glob pattern="*.gd7"/>
+		<glob pattern="*.gdi"/>
+		<glob pattern="*.gen"/>
+		<glob pattern="*.gg"/>
+		<glob pattern="*.gz"/>
+		<glob pattern="*.hdd"/>
+		<glob pattern="*.hdf"/>
+		<glob pattern="*.hdi"/>
+		<glob pattern="*.hdm"/>
+		<glob pattern="*.hdn"/>
+		<glob pattern="*.hdz"/>
+		<glob pattern="*.hex"/>
+		<glob pattern="*.hfe"/>
+		<glob pattern="*.ima"/>
+		<glob pattern="*.imd"/>
+		<glob pattern="*.img"/>
+		<glob pattern="*.int"/>
+		<glob pattern="*.ipf"/>
+		<glob pattern="*.ipk3"/>
+		<glob pattern="*.iso"/>
+		<glob pattern="*.isz"/>
+		<glob pattern="*.iwad"/>
+		<glob pattern="*.j64"/>
+		<glob pattern="*.jag"/>
+		<glob pattern="*.jar"/>
+		<glob pattern="*.jfd"/>
+		<glob pattern="*.json"/>
+		<glob pattern="*.k7"/>
+		<glob pattern="*.kcr"/>
+		<glob pattern="*.lha"/>
+		<glob pattern="*.lnx"/>
+		<glob pattern="*.lst"/>
+		<glob pattern="*.lua"/>
+		<glob pattern="*.lutro"/>
+		<glob pattern="*.m3u"/>
+		<glob pattern="*.m5"/>
+		<glob pattern="*.m7"/>
+		<glob pattern="*.md"/>
+		<glob pattern="*.mdf"/>
+		<glob pattern="*.mds"/>
+		<glob pattern="*.mdx"/>
+		<glob pattern="*.mfi"/>
+		<glob pattern="*.mfm"/>
+		<glob pattern="*.mgd"/>
+		<glob pattern="*.mgt"/>
+		<glob pattern="*.mgw"/>
+		<glob pattern="*.min"/>
+		<glob pattern="*.minipsf"/>
+		<glob pattern="*.msa"/>
+		<glob pattern="*.mugen"/>
+		<glob pattern="*.mx1"/>
+		<glob pattern="*.mx2"/>
+		<glob pattern="*.n64"/>
+		<glob pattern="*.nbz"/>
+		<glob pattern="*.nca"/>
+		<glob pattern="*.ndd"/>
+		<glob pattern="*.nds"/>
+		<glob pattern="*.neo"/>
+		<glob pattern="*.nes"/>
+		<glob pattern="*.nex"/>
+		<glob pattern="*.ngage"/>
+		<glob pattern="*.ngc"/>
+		<glob pattern="*.ngp"/>
+		<glob pattern="*.ngpc"/>
+		<glob pattern="*.ngr"/>
+		<glob pattern="*.nhd"/>
+		<glob pattern="*.nib"/>
+		<glob pattern="*.npc"/>
+		<glob pattern="*.nrg"/>
+		<glob pattern="*.nro"/>
+		<glob pattern="*.nso"/>
+		<glob pattern="*.nsp"/>
+		<glob pattern="*.nx"/>
+		<glob pattern="*.o"/>
+		<glob pattern="*.ogv"/>
+		<glob pattern="*.ort"/>
+		<glob pattern="*.p"/>
+		<glob pattern="*.p00"/>
+		<glob pattern="*.p8"/>
+		<glob pattern="*.pak"/>
+		<glob pattern="*.pbp"/>
+		<glob pattern="*.pc2"/>
+		<glob pattern="*.pce"/>
+		<glob pattern="*.phd"/>
+		<glob pattern="*.pk3"/>
+		<glob pattern="*.pk4"/>
+		<glob pattern="*.png"/>
+		<glob pattern="*.po"/>
+		<glob pattern="*.pqa"/>
+		<glob pattern="*.prc"/>
+		<glob pattern="*.prg"/>
+		<glob pattern="*.prx"/>
+		<glob pattern="*.ps3"/>
+		<glob pattern="*.ps3dir"/>
+		<glob pattern="*.psexe"/>
+		<glob pattern="*.psf"/>
+		<glob pattern="*.psvita"/>
+		<glob pattern="*.psx"/>
+		<glob pattern="*.pwad"/>
+		<glob pattern="*.ri"/>
+		<glob pattern="*.rom"/>
+		<glob pattern="*.rp9"/>
+		<glob pattern="*.rpk"/>
+		<glob pattern="*.rpx"/>
+		<glob pattern="*.rvz"/>
+		<glob pattern="*.rzx"/>
+		<glob pattern="*.sad"/>
+		<glob pattern="*.sap"/>
+		<glob pattern="*.sbt"/>
+		<glob pattern="*.sc"/>
+		<glob pattern="*.scl"/>
+		<glob pattern="*.scummvm"/>
+		<glob pattern="*.sfc"/>
+		<glob pattern="*.sg"/>
+		<glob pattern="*.sgb"/>
+		<glob pattern="*.sgd"/>
+		<glob pattern="*.sgx"/>
+		<glob pattern="*.sh"/>
+		<glob pattern="*.singe"/>
+		<glob pattern="*.sis"/>
+		<glob pattern="*.sisx"/>
+		<glob pattern="*.smc"/>
+		<glob pattern="*.smd"/>
+		<glob pattern="*.sms"/>
+		<glob pattern="*.sna"/>
+		<glob pattern="*.solarus"/>
+		<glob pattern="*.ssd"/>
+		<glob pattern="*.st"/>
+		<glob pattern="*.stx"/>
+		<glob pattern="*.sv"/>
+		<glob pattern="*.svm"/>
+		<glob pattern="*.swc"/>
+		<glob pattern="*.swf"/>
+		<glob pattern="*.symbian"/>
+		<glob pattern="*.szx"/>
+		<glob pattern="*.t64"/>
+		<glob pattern="*.t77"/>
+		<glob pattern="*.t88"/>
+		<glob pattern="*.tap"/>
+		<glob pattern="*.tar"/>
+		<glob pattern="*.td0"/>
+		<glob pattern="*.tfd"/>
+		<glob pattern="*.tgc"/>
+		<glob pattern="*.thd"/>
+		<glob pattern="*.tic"/>
+		<glob pattern="*.tmd"/>
+		<glob pattern="*.toc"/>
+		<glob pattern="*.trd"/>
+		<glob pattern="*.tzx"/>
+		<glob pattern="*.u1"/>
+		<glob pattern="*.u88"/>
+		<glob pattern="*.uae"/>
+		<glob pattern="*.udi"/>
+		<glob pattern="*.uef"/>
+		<glob pattern="*.ufi"/>
+		<glob pattern="*.unf"/>
+		<glob pattern="*.unif"/>
+		<glob pattern="*.uze"/>
+		<glob pattern="*.v64"/>
+		<glob pattern="*.vb"/>
+		<glob pattern="*.vboy"/>
+		<glob pattern="*.vc"/>
+		<glob pattern="*.vec"/>
+		<glob pattern="*.vfl"/>
+		<glob pattern="*.voc"/>
+		<glob pattern="*.vpt"/>
+		<glob pattern="*.vpx"/>
+		<glob pattern="*.vsf"/>
+		<glob pattern="*.wad"/>
+		<glob pattern="*.wasm"/>
+		<glob pattern="*.wav"/>
+		<glob pattern="*.wbfs"/>
+		<glob pattern="*.wia"/>
+		<glob pattern="*.ws"/>
+		<glob pattern="*.wsc"/>
+		<glob pattern="*.wua"/>
+		<glob pattern="*.wud"/>
+		<glob pattern="*.wuhb"/>
+		<glob pattern="*.wux"/>
+		<glob pattern="*.x64"/>
+		<glob pattern="*.x6z"/>
+		<glob pattern="*.xbe"/>
+		<glob pattern="*.xci"/>
+		<glob pattern="*.xdf"/>
+		<glob pattern="*.xex"/>
+		<glob pattern="*.xfd"/>
+		<glob pattern="*.xsa"/>
+		<glob pattern="*.z"/>
+		<glob pattern="*.z1"/>
+		<glob pattern="*.z2"/>
+		<glob pattern="*.z3"/>
+		<glob pattern="*.z4"/>
+		<glob pattern="*.z5"/>
+		<glob pattern="*.z6"/>
+		<glob pattern="*.z64"/>
+		<glob pattern="*.z7"/>
+		<glob pattern="*.z8"/>
+		<glob pattern="*.z80"/>
+		<glob pattern="*.zar"/>
+		<glob pattern="*.zblorb"/>
+		<glob pattern="*.zip"/>
+		<glob pattern="*.zlb"/>
+		<glob pattern="*.znx"/>
+		<glob pattern="*.zso"/>
+	</mime-type>
 </mime-info>
diff --git a/developer_toolbox/mime-populator.sh b/developer_toolbox/mime-populator.sh
new file mode 100755
index 00000000..04a14ed8
--- /dev/null
+++ b/developer_toolbox/mime-populator.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+# Input files
+ES_SYSTEMS_FILE="../ES-DE/resources/systems/linux/es_systems.xml"
+MIME_FILE="config/retrodeck/net.retrodeck.retrodeck.mime.xml"
+
+# List of extensions to ignore
+IGNORED_EXTENSIONS=". .appimage cue"
+
+# Check if xmlstarlet is installed
+if ! command -v xmlstarlet &> /dev/null; then
+    echo "Error: xmlstarlet is not installed."
+    echo "Please install it using your package manager (e.g., sudo apt install xmlstarlet)."
+    exit 1
+fi
+
+# Temporary files
+EXTENSIONS_FILE=$(mktemp)
+
+# Extract extensions from the <extension> field in es_systems.xml
+grep -oP '<extension>\K.*?(?=</extension>)' "$ES_SYSTEMS_FILE" | \
+tr ' ' '\n' | \
+awk '{print tolower($0)}' | \
+sort -u > "$EXTENSIONS_FILE"
+
+# Create a new MIME file with the correct base structure
+cat > "$MIME_FILE" << EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+    <mime-type type="application/retro-game">
+        <comment>Retro Game</comment>
+EOF
+
+# Add new <glob> elements to the MIME file
+while IFS= read -r ext; do
+    # Skip ignored extensions
+    if [[ "$IGNORED_EXTENSIONS" =~ (^|[[:space:]])"$ext"($|[[:space:]]) ]]; then
+        echo "Skipping ignored extension: $ext"
+        continue
+    fi
+    
+    # Add the <glob> element for the extension
+    echo "Adding glob pattern for extension: $ext"
+    echo "        <glob pattern=\"*$ext\"/>" >> "$MIME_FILE"
+done < "$EXTENSIONS_FILE"
+
+# Close the XML tags
+echo "    </mime-type>
+</mime-info>" >> "$MIME_FILE"
+
+# Ensure proper formatting using xmlstarlet
+xmlstarlet fo --indent-tab "$MIME_FILE" > "$MIME_FILE.tmp" && mv "$MIME_FILE.tmp" "$MIME_FILE"
+
+# Clean up temporary files
+rm -f "$EXTENSIONS_FILE"
+
+echo "MIME file updated successfully at $MIME_FILE"
\ No newline at end of file