Skip to content

Default Applications

When marchyo.desktop.enable = true, the marchyo.defaults.* options control which applications are installed and registered as system defaults. Set any option to null to skip management for that category.

Option Default Choices
marchyo.defaults.browser "google-chrome" "brave", "google-chrome", "firefox", "chromium"
marchyo.defaults.editor "jotain" "emacs", "jotain", "vscode", "vscodium", "zed"
marchyo.defaults.terminalEditor "jotain" "emacs", "jotain", "neovim", "helix", "nano"
marchyo.defaults.videoPlayer "mpv" "mpv", "vlc", "celluloid"
marchyo.defaults.audioPlayer "mpv" "mpv", "cmus", "vlc", "amberol"
marchyo.defaults.musicPlayer "spotify-player" "spotify-player", "ncspot", "spotify"
marchyo.defaults.fileManager "nautilus" "nautilus", "thunar"
marchyo.defaults.terminalFileManager "yazi" "yazi", "ranger", "lf"
marchyo.defaults.imageEditor "pinta" "pinta", "gimp", "krita"
marchyo.defaults.email "aerc" "aerc", "neomutt", "gmail", "outlook"
marchyo.defaults = {
browser = "firefox";
editor = "vscode";
terminalEditor = "neovim";
videoPlayer = "mpv";
audioPlayer = "mpv"; # or "cmus" for a TUI library player
musicPlayer = "spotify-player"; # TUI Spotify client (floating terminal)
fileManager = "nautilus";
terminalFileManager = "yazi";
imageEditor = "gimp";
email = "aerc"; # TUI mail client; requires account config
};

Set any option to null to prevent Marchyo from installing or configuring that category:

marchyo.defaults = {
browser = null; # Don't manage browser
musicPlayer = null; # Don't install a music player
};

Some choices are “externally managed” — Marchyo does not install a package for them:

  • "gmail" and "outlook" (email) — Web applications opened in the default browser. No package is installed.

"jotain" is the default editor and terminalEditorJylhis’s Emacs config, distributed as a flake. When selected, Marchyo enables its services.jotain Home-Manager module (installing the Emacs build, the jotain-editor/jotain-visual wrappers, and jotain-client.desktop) and sets $EDITOR/$VISUAL to those wrappers. Switch editor to "emacs"/"vscode"/… or terminalEditor to "emacs"/"neovim"/… to use a standard editor instead. The two selectors resolve independently, so you can mix (e.g. editor = "jotain" with terminalEditor = "neovim").

When a default is set, Marchyo:

  1. Installs the package (unless externally managed)
  2. Registers MIME type associations — for browser, editor, videoPlayer, audioPlayer, fileManager, and email. E.g., setting browser = "firefox" registers Firefox as the handler for text/html, x-scheme-handler/http, etc. The other categories are install-only: imageEditor is never registered as a MIME handler (Loupe stays the default image viewer), and terminalEditor, terminalFileManager, and musicPlayer register no associations either.
  3. Sets environment variablesbrowser sets $BROWSER, editor sets $VISUAL, terminalEditor sets $EDITOR