summaryrefslogtreecommitdiff
path: root/dotfiles/common/.local/bin
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-03-07 14:31:27 -0600
committerCraig Jennings <c@cjennings.net>2026-03-07 14:31:27 -0600
commitf2e7bbc06d71d72b8299b971b210ec8e2b9a17f2 (patch)
tree0bffd7ee3f4f5d053faf64a00bb034c225f12ef6 /dotfiles/common/.local/bin
parentdd543e3b2c42dc4706ee016bb4ae376d9e981272 (diff)
feat: comprehensive mime type associations with emacsclient defaults
Merge all mime associations into mimeapps.list as single source of truth. Set emacsclient as default for all text/code files. Add TypeScript mime override, emacsclient.desktop with fixed Exec line, and simplify resetmimetypes to just restow + rebuild caches.
Diffstat (limited to 'dotfiles/common/.local/bin')
-rwxr-xr-xdotfiles/common/.local/bin/resetmimetypes228
1 files changed, 14 insertions, 214 deletions
diff --git a/dotfiles/common/.local/bin/resetmimetypes b/dotfiles/common/.local/bin/resetmimetypes
index cfe5936..ff1a244 100755
--- a/dotfiles/common/.local/bin/resetmimetypes
+++ b/dotfiles/common/.local/bin/resetmimetypes
@@ -1,220 +1,20 @@
#!/usr/bin/env bash
+# Reset mime type associations after package updates.
+# Source of truth is the stowed mimeapps.list in dotfiles.
+# This script clears caches, restores the stow symlink, and rebuilds databases.
-# Remove Old Databases
-rm ~/.config/mimeapps.list >> /dev/null 2>&1
-rm ~/.local/share/applications/mimeinfo.cache >> /dev/null 2>&1
-rm ~/.local/share/applications/mimeinfo.list >> /dev/null 2>&1
+set -euo pipefail
-# Directory Node: nautilus
-xdg-mime default org.gnome.Nautilus.desktop inode/directory
+echo "Removing old caches..."
+rm -f ~/.config/mimeapps.list
+rm -f ~/.local/share/applications/mimeinfo.cache
+rm -f ~/.local/share/applications/mimeinfo.list
-# Audio Files: audacious
-
-# Audio Files: mpv
-xdg-mime default mpv.desktop audio/basic
-xdg-mime default mpv.desktop audio/flac.wav
-xdg-mime default mpv.desktop audio/mp4
-xdg-mime default mpv.desktop audio/mpeg
-xdg-mime default mpv.desktop audio/ogg
-xdg-mime default mpv.desktop audio/opus
-xdg-mime default mpv.desktop audio/vnd.rn-realaudio
-xdg-mime default mpv.desktop audio/vnd.wav
-xdg-mime default mpv.desktop audio/vorbis
-xdg-mime default mpv.desktop audio/x-aiff
-xdg-mime default mpv.desktop audio/x-mpegurl
-
-# Video Files: mpv
-
-# Video Files: vlc
-xdg-mime default vlc.desktop application/mpeg4-iod
-xdg-mime default vlc.desktop application/mpeg4-muxcodetable
-xdg-mime default vlc.desktop application/ogg
-xdg-mime default vlc.desktop application/vnd.apple.mpegurl
-xdg-mime default vlc.desktop application/x-quicktime-media-link
-xdg-mime default vlc.desktop application/x-quicktimeplayer
-xdg-mime default vlc.desktop application/x-shockwave-flash
-xdg-mime default vlc.desktop video/avi
-xdg-mime default vlc.desktop video/divx
-xdg-mime default vlc.desktop video/flv
-xdg-mime default vlc.desktop video/mp4
-xdg-mime default vlc.desktop video/mp4v-es
-xdg-mime default vlc.desktop video/mpeg
-xdg-mime default vlc.desktop video/mpeg-system
-xdg-mime default vlc.desktop video/msvideo
-xdg-mime default vlc.desktop video/ogg
-xdg-mime default vlc.desktop video/quicktime
-xdg-mime default vlc.desktop video/vnd.divx
-xdg-mime default vlc.desktop video/vnd.mpegurl
-xdg-mime default vlc.desktop video/vnd.rn-realvideo
-xdg-mime default vlc.desktop video/webm
-xdg-mime default vlc.desktop video/x-avi
-xdg-mime default vlc.desktop video/x-flv
-xdg-mime default vlc.desktop video/x-m4v
-xdg-mime default vlc.desktop video/x-matroska
-xdg-mime default vlc.desktop video/x-mpeg
-xdg-mime default vlc.desktop video/x-mpeg-system
-xdg-mime default vlc.desktop video/x-mpeg2
-xdg-mime default vlc.desktop video/x-ms-wmv
-xdg-mime default vlc.desktop video/x-msvideo
-xdg-mime default vlc.desktop video/x-theora
-xdg-mime default vlc.desktop video/x-theora+ogg
-xdg-mime default vlc.desktop x-content/video-dvd
-xdg-mime default vlc.desktop x-content/video-svcd
-xdg-mime default vlc.desktop x-content/video-vcd
-
-# Images: feh
-xdg-mime default feh.desktop image/bmp
-xdg-mime default feh.desktop image/gif
-xdg-mime default feh.desktop image/jpeg
-xdg-mime default feh.desktop image/jpg
-xdg-mime default feh.desktop image/png
-xdg-mime default feh.desktop image/tiff
-xdg-mime default feh.desktop image/webp
-xdg-mime default feh.desktop image/avif
-xdg-mime default feh.desktop image/heic
-xdg-mime default feh.desktop image/heif
-xdg-mime default feh.desktop image/svg+xml
-xdg-mime default feh.desktop image/x-bmp
-xdg-mime default feh.desktop image/x-eps
-xdg-mime default feh.desktop image/x-ico
-xdg-mime default feh.desktop image/x-icon
-xdg-mime default feh.desktop image/x-xbitmap
-xdg-mime default feh.desktop image/x-xpixmap
-
-# Torrent Files: Transmission Remote
-xdg-mime default io.github.TransmissionRemoteGtk-gtk.desktop application/x-bittorrent
-xdg-mime default io.github.TransmissionRemoteGtk.desktop x-scheme-handler/magnet
-
-# Web Browser: Chromium Browser
-
-# Web Browser: Google-Chrome Browser
-
-# Web Browser: Google Chrome Stable
-xdg-mime default google-chrome-stable.desktop application/rdf+xml
-xdg-mime default google-chrome-stable.desktop application/rss+xml
-xdg-mime default google-chrome-stable.desktop application/xhtml+xml
-xdg-mime default google-chrome-stable.desktop application/xhtml_xml
-xdg-mime default google-chrome-stable.desktop application/xml
-xdg-mime default google-chrome-stable.desktop text/html
-xdg-mime default google-chrome-stable.desktop text/xml
-xdg-mime default google-chrome-stable.desktop x-scheme-handler/http
-xdg-mime default google-chrome-stable.desktop x-scheme-handler/https
-
-# Mobi Ebooks: calibre-ebook-reader
-xdg-mime default calibre-ebook-viewer.desktop application/x-mobi8-ebook
-xdg-mime default calibre-ebook-viewer.desktop application/x-mobipocket-ebook
-
-# Text and Source Code: Emacsclient
-xdg-mime default emacsclient.desktop application/x-shellscript
-xdg-mime default emacsclient.desktop text/english
-xdg-mime default emacsclient.desktop text/markdown
-xdg-mime default emacsclient.desktop text/plain
-xdg-mime default emacsclient.desktop text/x-c
-xdg-mime default emacsclient.desktop text/x-c++
-xdg-mime default emacsclient.desktop text/x-c++hdr
-xdg-mime default emacsclient.desktop text/x-c++src
-xdg-mime default emacsclient.desktop text/x-chdr
-xdg-mime default emacsclient.desktop text/x-csrc
-xdg-mime default emacsclient.desktop text/x-java
-xdg-mime default emacsclient.desktop text/x-makefile
-xdg-mime default emacsclient.desktop text/x-moc
-xdg-mime default emacsclient.desktop text/x-pascal
-xdg-mime default emacsclient.desktop text/x-tcl
-xdg-mime default emacsclient.desktop text/x-tex
-
-# PDF/EPUB: Emacsclient
-
-# PDF ePUB: Zathura
-xdg-mime default org.pwmt.zathura.desktop application/eps
-xdg-mime default org.pwmt.zathura.desktop application/epub+zip
-xdg-mime default org.pwmt.zathura.desktop application/oxps
-xdg-mime default org.pwmt.zathura.desktop application/pdf
-xdg-mime default org.pwmt.zathura.desktop application/postscript
-xdg-mime default org.pwmt.zathura.desktop application/ps
-xdg-mime default org.pwmt.zathura.desktop application/x-fictionbook
-xdg-mime default org.pwmt.zathura.desktop image/eps
-xdg-mime default org.pwmt.zathura.desktop image/vnd.djvu
-xdg-mime default org.pwmt.zathura.desktop image/vnd.djvu+multipage
-
-# PDF ePUB: Foliate
-
-# PDF ePUB: Evince
-
-# Comics Files: Zathura
-xdg-mime default org.pwmt.zathura.desktop application/vnd.comicbook+zip
-xdg-mime default org.pwmt.zathura.desktop application/vnd.comicbook-rar
-
-# Spreadsheets: Libreoffice Calc
-xdg-mime default libreoffice-calc.desktop application/vnd.ms-excel
-xdg-mime default libreoffice-calc.desktop application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
-xdg-mime default libreoffice-calc.desktop application/vnd.oasis.opendocument.spreadsheet
-xdg-mime default libreoffice-calc.desktop application/vnd.oasis.opendocument.spreadsheet-template
-xdg-mime default libreoffice-calc.desktop text/csv
-xdg-mime default libreoffice-calc.desktop text/tab-separated-values
-
-# Presentations: Libreoffice Impress
-xdg-mime default libreoffice-impress.desktop application/vnd.ms-powerpoint
-xdg-mime default libreoffice-impress.desktop application/vnd.openxmlformats-officedocument.presentationml.presentation
-xdg-mime default libreoffice-impress.desktop application/vnd.oasis.opendocument.presentation
-xdg-mime default libreoffice-impress.desktop application/vnd.oasis.opendocument.presentation-template
-
-# Libreoffice Writer
-xdg-mime default libreoffice-writer.desktop application/clarisworks
-xdg-mime default libreoffice-writer.desktop application/macwriteii
-xdg-mime default libreoffice-writer.desktop application/msword
-xdg-mime default libreoffice-writer.desktop application/prs.plucker
-xdg-mime default libreoffice-writer.desktop application/rtf
-xdg-mime default libreoffice-writer.desktop application/vnd.lotus-wordpro
-xdg-mime default libreoffice-writer.desktop application/vnd.ms-word
-xdg-mime default libreoffice-writer.desktop application/vnd.ms-word.template.macroEnabled.12
-xdg-mime default libreoffice-writer.desktop application/vnd.ms-works
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-flat-xml
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-master
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-master-template
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-template
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-web
-xdg-mime default libreoffice-writer.desktop application/vnd.openxmlformats-officedocument
-xdg-mime default libreoffice-writer.desktop application/vnd.openxmlformats-officedocument.wordprocessingml.document
-xdg-mime default libreoffice-writer.desktop application/vnd.palm
-xdg-mime default libreoffice-writer.desktop application/vnd.stardivision.writer-global
-xdg-mime default libreoffice-writer.desktop application/vnd.sun.xml.writer
-xdg-mime default libreoffice-writer.desktop application/vnd.sun.xml.writer.global
-xdg-mime default libreoffice-writer.desktop application/vnd.sun.xml.writer.template
-xdg-mime default libreoffice-writer.desktop application/vnd.wordperfect
-xdg-mime default libreoffice-writer.desktop application/wordperfect
-xdg-mime default libreoffice-writer.desktop application/x-abiword
-xdg-mime default libreoffice-writer.desktop application/x-aportisdoc
-xdg-mime default libreoffice-writer.desktop application/x-doc
-xdg-mime default libreoffice-writer.desktop application/x-extension-txt
-xdg-mime default libreoffice-writer.desktop application/x-fictionbook+xml
-xdg-mime default libreoffice-writer.desktop application/x-hwp
-xdg-mime default libreoffice-writer.desktop application/x-iwork-pages-sffpages
-xdg-mime default libreoffice-writer.desktop application/x-mswrite
-xdg-mime default libreoffice-writer.desktop application/x-sony-bbeb
-xdg-mime default libreoffice-writer.desktop application/x-starwriter
-xdg-mime default libreoffice-writer.desktop application/x-t602
-xdg-mime default libreoffice-writer.desktop text/rtf
-
-# Archives: file-roller
-xdg-mime default org.gnome.FileRoller.desktop application/zip
-xdg-mime default org.gnome.FileRoller.desktop application/x-tar
-xdg-mime default org.gnome.FileRoller.desktop application/gzip
-xdg-mime default org.gnome.FileRoller.desktop application/x-gzip
-xdg-mime default org.gnome.FileRoller.desktop application/x-compressed-tar
-xdg-mime default org.gnome.FileRoller.desktop application/x-bzip2
-xdg-mime default org.gnome.FileRoller.desktop application/x-bzip2-compressed-tar
-xdg-mime default org.gnome.FileRoller.desktop application/x-xz
-xdg-mime default org.gnome.FileRoller.desktop application/x-xz-compressed-tar
-xdg-mime default org.gnome.FileRoller.desktop application/x-7z-compressed
-xdg-mime default org.gnome.FileRoller.desktop application/x-rar
-xdg-mime default org.gnome.FileRoller.desktop application/vnd.rar
-xdg-mime default org.gnome.FileRoller.desktop application/x-zstd-compressed-tar
-
-# FTP Scheme-Handler: Filezilla
-xdg-mime default filezilla.desktop x-scheme-handler/ftp
-
-# Org-Protocol Scheme-Handler: emacsclient
-xdg-mime default org-protocol.desktop x-scheme-handler/org-protocol
+echo "Restowing dotfiles..."
+cd ~/code/archsetup && make restow hyprland
+echo "Rebuilding databases..."
update-desktop-database ~/.local/share/applications/
+update-mime-database ~/.local/share/mime/
+
+echo "Done. Mime types reset."