;;; Copyright © 2026 bdunahu (define-module (kolwynia home bdunahu app-preferences) #:export (default-browser default-editor default-media default-image default-pdf default-torrent mime-app-alist)) ;;; Commentary: ;;; the 'torrent' xdg app is defined in bdunahu.scm ;;; Code: (define default-browser '("librewolf" . "librewolf.desktop")) (define default-editor '("emacsclient" . "emacsclient.desktop")) (define default-media '("mpv" . "mpv.desktop")) (define default-image '("nsxiv" . "nsxiv.desktop")) (define default-pdf '("zathura" . "zathura.desktop")) (define default-torrent '("torrent" . "torrent.desktop")) (define browser-mime '("application/x-extension-htm" "application/x-extension-xht" "application/x-extension-xhtml" "application/xhtml+xml" "text/html" "x-scheme-handler/http" "x-scheme-handler/https")) (define editor-mime '("application/json" "application/x-sh" "text/javascript" "text/markdown" "text/plain" "text/troff" "text/x-c" "text/x-c++" "text/x-diff" "text/x-lisp" "text/xml" "text/x-scheme" "text/x-shellscript" "text/x-tex")) (define file-manager-mime '("inode/directory")) (define media-mime '("application/mxf" "application/ogg" "application/sdp" "application/smil" "application/streamingmedia" "application/vnd.apple.mpegurl" "application/vnd.ms-asf" "application/vnd.rn-realmedia" "application/vnd.rn-realmedia-vbr" "application/x-cue" "application/x-extension-m4a" "application/x-extension-mp4" "application/x-matroska" "application/x-mpegurl" "application/x-ogg" "application/x-ogm" "application/x-ogm-audio" "application/x-ogm-video" "application/x-shorten" "application/x-smil" "application/x-streamingmedia" "audio/3gpp" "audio/3gpp2" "audio/aac" "audio/ac3" "audio/aiff" "audio/AMR" "audio/amr-wb" "audio/dv" "audio/eac3" "audio/flac" "audio/m3u" "audio/m4a" "audio/mp1" "audio/mp2" "audio/mp3" "audio/mp4" "audio/mpeg" "audio/mpeg2" "audio/mpeg3" "audio/mpegurl" "audio/mpg" "audio/musepack" "audio/ogg" "audio/opus" "audio/rn-mpeg" "audio/scpls" "audio/vnd.dolby.heaac.1" "audio/vnd.dolby.heaac.2" "audio/vnd.dts" "audio/vnd.dts.hd" "audio/vnd.rn-realaudio" "audio/vorbis" "audio/wav" "audio/webm" "audio/x-aac" "audio/x-adpcm" "audio/x-aiff" "audio/x-ape" "audio/x-m4a" "audio/x-matroska" "audio/x-mp1" "audio/x-mp2" "audio/x-mp3" "audio/x-mpegurl" "audio/x-mpg" "audio/x-ms-asf" "audio/x-ms-wma" "audio/x-musepack" "audio/x-pls" "audio/x-pn-au" "audio/x-pn-realaudio" "audio/x-pn-wav" "audio/x-pn-windows-pcm" "audio/x-realaudio" "audio/x-scpls" "audio/x-shorten" "audio/x-tta" "audio/x-vorbis" "audio/x-vorbis+ogg" "audio/x-wav" "audio/x-wavpack" "video/3gp" "video/3gpp" "video/3gpp2" "video/avi" "video/divx" "video/dv" "video/fli" "video/flv" "video/mkv" "video/mp2t" "video/mp4" "video/mp4v-es" "video/mpeg" "video/msvideo" "video/ogg" "video/quicktime" "video/vnd.divx" "video/vnd.mpegurl" "video/vnd.rn-realvideo" "video/webm" "video/x-avi" "video/x-flc" "video/x-flic" "video/x-flv" "video/x-m4v" "video/x-matroska" "video/x-mpeg2" "video/x-mpeg3" "video/x-ms-afs" "video/x-ms-asf" "video/x-msvideo" "video/x-ms-wmv" "video/x-ms-wmx" "video/x-ms-wvxvideo" "video/x-ogm" "video/x-ogm+ogg" "video/x-theora" "video/x-theora+ogg")) (define image-mime '("image/avif" "image/bmp" "image/gif" "image/heif" "image/jpeg" "image/jpg" "image/pjpeg" "image/png" "image/tiff" "image/x-bmp" "image/x-pcx" "image/x-png" "image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" "image/x-tga" "image/x-xbitmap")) (define pdf-mime '("application/pdf" "application/epub+zip")) (define torrent-mime '("application/x-bittorrent" "x-scheme-handler/magnet")) (define mime-app-alist (apply append (map (lambda (app types) (map (lambda (e) (cons e (cdr app))) types)) `(,default-browser ,default-editor ,default-editor ,default-media ,default-image ,default-pdf ,default-torrent) `(,browser-mime ,editor-mime ,file-manager-mime ,media-mime ,image-mime ,pdf-mime ,torrent-mime)))) ;;; app-preferences.scm ends here