Sublime Text как редактор по умолчанию в Omarchy
После установки Omarchy решил не терзать себя Neovim, и поставить Sublime Text в качестве редактора по умолчанию.
Установил его прямо из меню Install → Editor, но в Setup → Defaults → Editor он почему-то не появился. Поковыряв исходники я нашёл скрипт, который управляет этим, и судя по тому, что там написано, он ожидает, что после установки бинарник редактора будет доступен как sublime_text. А он, однако, доступен как subl.
Судя по тому скрипту, можно прописать subl в ~/.local/state/omarchy/defaults/editor, и оно вроде как даже заработало — Omarchy начал открывать Sublime Text при редактировании файлов. Но в меню всё равно не отображалось как надо.
Потому я пошёл более дерзким путём и просто создал ссылку на subl:
ln -s /usr/bin/subl ~/.local/bin/sublime_text
После этого меню начало отрисовывать стандартные приложения как надо, и получилось выбрать там Sublime Text.
Но выяснилась другая проблема — встроенный файловый менеджер (Files, который когда-то давно звался Nautilus) всё равно упорно открывал Neovim в качестве редактора. Не то чтобы я когда-то кликал на файлы в менеджере, но вдруг?
Как я понял, выбор редактора по умолчанию не перезаписывает ассоциации, которые есть у Files, и которые он тянет из /usr/share/applications/mimeapps.list и ~/.config/mimeapps.list. Потому я пошёл в первый файл, забрал оттуда все строки, в которых упоминался Neovim, и добавил во второй, прописав везде sublime_text.desktop:
text/plain=sublime_text.desktop
text/english=sublime_text.desktop
text/x-makefile=sublime_text.desktop
text/x-c++hdr=sublime_text.desktop
text/x-c++src=sublime_text.desktop
text/x-chdr=sublime_text.desktop
text/x-csrc=sublime_text.desktop
text/x-java=sublime_text.desktop
text/x-moc=sublime_text.desktop
text/x-pascal=sublime_text.desktop
text/x-tcl=sublime_text.desktop
text/x-tex=sublime_text.desktop
application/x-shellscript=sublime_text.desktop
text/x-c=sublime_text.desktop
text/x-c++=sublime_text.desktop
application/xml=sublime_text.desktop
text/xml=sublime_text.desktop
Насколько я понял, sublime_text.desktop тянется из /usr/share/applications/, куда он попадает при установке Sublime Text. Но если его вдруг там нет, можно добавить руками.