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.
Options
Section titled “Options”| Option | Default | Choices |
|---|---|---|
marchyo.defaults.browser |
"google-chrome" |
"brave", "google-chrome", "firefox", "chromium" |
marchyo.defaults.editor |
"emacs" |
"emacs", "vscode", "vscodium", "zed" |
marchyo.defaults.terminalEditor |
"emacs" |
"emacs", "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.aiAgent |
null |
"claude-code", "codex", "opencode" (installed only with development.enable) |
Example
Section titled “Example”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};Skipping management
Section titled “Skipping management”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};Removing default packages
Section titled “Removing default packages”marchyo.defaults.excludePackages drops individual packages from Marchyo’s default bundles (the shell, TUI, desktop, media, office, and development tool sets) without turning off a whole feature flag. It mirrors NixOS’s own *.excludePackages options: it subtracts only from what Marchyo adds by default, not from packages pulled in by other modules or your own environment.systemPackages.
marchyo.defaults.excludePackages = with pkgs; [ signal-desktop # drop the bundled desktop messenger obsidian # drop the bundled note-taking app];Each entry must be the same package value Marchyo installs (from the configuration’s pkgs).
Externally managed applications
Section titled “Externally managed applications”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.
Emacs editor
Section titled “Emacs editor”"emacs" is the default editor and terminalEditor. When selected, Marchyo installs pkgs.emacs and sets $VISUAL to emacsclient -c -a emacs (graphical frame) and $EDITOR to emacsclient -t -a 'emacs -nw' (terminal), each with a plain-Emacs fallback when no daemon is running. Switch editor to "vscode"/… or terminalEditor to "neovim"/… to use another editor. The two selectors resolve independently, so you can mix (e.g. editor = "emacs" with terminalEditor = "neovim").
How defaults work
Section titled “How defaults work”When a default is set, Marchyo:
- Installs the package (unless externally managed)
- Registers MIME type associations — for
browser,editor,videoPlayer,audioPlayer,fileManager, andemail. E.g., settingbrowser = "firefox"registers Firefox as the handler fortext/html,x-scheme-handler/http, etc. The other categories are install-only:imageEditoris never registered as a MIME handler (Loupe stays the default image viewer), andterminalEditor,terminalFileManager, andmusicPlayerregister no associations either. - Sets environment variables —
browsersets$BROWSER,editorsets$VISUAL,terminalEditorsets$EDITOR