From 89242fafc671af1438b41f6ea2925dfd8c15e086 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 20 May 2026 14:59:36 -0400 Subject: [PATCH] Ship mimeapps.list via /etc/skel; shrink mimetypes.sh config/mimeapps.list ships at /etc/skel/.config/mimeapps.list (via omarchy-settings's existing config/** -> /etc/skel/.config copy). New users get the full Omarchy MIME defaults on first login without running install scripts. install/config/mimetypes.sh shrinks to two runtime ops that a static file can't replace: - omarchy-refresh-applications: copies .desktop entries and icons into the user home and refreshes the desktop database - xdg-settings set default-web-browser chromium.desktop: sets the system-default browser; omarchy-install-browser overrides this if the user later picks a different browser. --- config/mimeapps.list | 50 +++++++++++++++++++++++++++++ install/config/mimetypes.sh | 63 +++---------------------------------- 2 files changed, 55 insertions(+), 58 deletions(-) create mode 100644 config/mimeapps.list diff --git a/config/mimeapps.list b/config/mimeapps.list new file mode 100644 index 00000000..642be0af --- /dev/null +++ b/config/mimeapps.list @@ -0,0 +1,50 @@ +[Default Applications] +inode/directory=org.gnome.Nautilus.desktop + +image/png=imv.desktop +image/jpeg=imv.desktop +image/gif=imv.desktop +image/webp=imv.desktop +image/bmp=imv.desktop +image/tiff=imv.desktop + +application/pdf=org.gnome.Evince.desktop + +x-scheme-handler/http=chromium.desktop +x-scheme-handler/https=chromium.desktop + +video/mp4=mpv.desktop +video/x-msvideo=mpv.desktop +video/x-matroska=mpv.desktop +video/x-flv=mpv.desktop +video/x-ms-wmv=mpv.desktop +video/mpeg=mpv.desktop +video/ogg=mpv.desktop +video/webm=mpv.desktop +video/quicktime=mpv.desktop +video/3gpp=mpv.desktop +video/3gpp2=mpv.desktop +video/x-ms-asf=mpv.desktop +video/x-ogm+ogg=mpv.desktop +video/x-theora+ogg=mpv.desktop +application/ogg=mpv.desktop + +x-scheme-handler/mailto=HEY.desktop + +text/plain=nvim.desktop +text/english=nvim.desktop +text/x-makefile=nvim.desktop +text/x-c++hdr=nvim.desktop +text/x-c++src=nvim.desktop +text/x-chdr=nvim.desktop +text/x-csrc=nvim.desktop +text/x-java=nvim.desktop +text/x-moc=nvim.desktop +text/x-pascal=nvim.desktop +text/x-tcl=nvim.desktop +text/x-tex=nvim.desktop +application/x-shellscript=nvim.desktop +text/x-c=nvim.desktop +text/x-c++=nvim.desktop +application/xml=nvim.desktop +text/xml=nvim.desktop diff --git a/install/config/mimetypes.sh b/install/config/mimetypes.sh index 4d7a32bf..fa7d3844 100644 --- a/install/config/mimetypes.sh +++ b/install/config/mimetypes.sh @@ -1,60 +1,7 @@ +# MIME default mappings now ship as config/mimeapps.list (via /etc/skel for +# new users; existing users keep their own). This script only handles the +# runtime side: refresh applications and set Chromium as the system default +# web browser. (omarchy-install-browser overrides this if the user picks +# something else later.) omarchy-refresh-applications -update-desktop-database ~/.local/share/applications - -# Open directories in file manager -xdg-mime default org.gnome.Nautilus.desktop inode/directory - -# Open all images with imv -xdg-mime default imv.desktop image/png -xdg-mime default imv.desktop image/jpeg -xdg-mime default imv.desktop image/gif -xdg-mime default imv.desktop image/webp -xdg-mime default imv.desktop image/bmp -xdg-mime default imv.desktop image/tiff - -# Open PDFs with the Document Viewer -xdg-mime default org.gnome.Evince.desktop application/pdf - -# Use Chromium as the default browser xdg-settings set default-web-browser chromium.desktop -xdg-mime default chromium.desktop x-scheme-handler/http -xdg-mime default chromium.desktop x-scheme-handler/https - -# Open video files with mpv -xdg-mime default mpv.desktop video/mp4 -xdg-mime default mpv.desktop video/x-msvideo -xdg-mime default mpv.desktop video/x-matroska -xdg-mime default mpv.desktop video/x-flv -xdg-mime default mpv.desktop video/x-ms-wmv -xdg-mime default mpv.desktop video/mpeg -xdg-mime default mpv.desktop video/ogg -xdg-mime default mpv.desktop video/webm -xdg-mime default mpv.desktop video/quicktime -xdg-mime default mpv.desktop video/3gpp -xdg-mime default mpv.desktop video/3gpp2 -xdg-mime default mpv.desktop video/x-ms-asf -xdg-mime default mpv.desktop video/x-ogm+ogg -xdg-mime default mpv.desktop video/x-theora+ogg -xdg-mime default mpv.desktop application/ogg - -# Use Hey for mailto: links -xdg-mime default HEY.desktop x-scheme-handler/mailto - -# Open text files with nvim -xdg-mime default nvim.desktop text/plain -xdg-mime default nvim.desktop text/english -xdg-mime default nvim.desktop text/x-makefile -xdg-mime default nvim.desktop text/x-c++hdr -xdg-mime default nvim.desktop text/x-c++src -xdg-mime default nvim.desktop text/x-chdr -xdg-mime default nvim.desktop text/x-csrc -xdg-mime default nvim.desktop text/x-java -xdg-mime default nvim.desktop text/x-moc -xdg-mime default nvim.desktop text/x-pascal -xdg-mime default nvim.desktop text/x-tcl -xdg-mime default nvim.desktop text/x-tex -xdg-mime default nvim.desktop application/x-shellscript -xdg-mime default nvim.desktop text/x-c -xdg-mime default nvim.desktop text/x-c++ -xdg-mime default nvim.desktop application/xml -xdg-mime default nvim.desktop text/xml