cbrst/nix
ModulesHome Manager

Desktop applications

Nautilus extensions, media viewers, and the other Linux desktop applications.

These modules are imported by the desktop-linux profile.

Nautilus

The NixOS side installs Nautilus with GVfs (see desktop modules). The Home Manager module in modules/home/nautilus/ adds a Python extension with two context-menu actions for a single selected item:

SelectionAction
A folderOpen Folder as Slideshow: plays every image and video in it, recursively and shuffled, full screen in mpv, five seconds per image
An imageSet as Noctalia Wallpaper: converts it to ~/Pictures/Wallpapers/wallpaper.jpg and tells Noctalia to use it

Both actions are shell scripts packaged with writeShellApplication, and their store paths are substituted into the extension. The extension starts them as Gio subprocesses and waits for them asynchronously, so a failure to start or a non-zero exit is reported through GLib instead of being lost. The wallpaper script sends a desktop notification on failure. Because Noctalia caches images by path, it first shows a staged copy and then the final file.

imv and mpv

  • imv is the image viewer, with its background set to the theme's dark background colour.
  • mpv is the video player, with the uosc interface.

Other applications

ModuleProvides
affinityAffinity v3 creative applications, from the affinity-nix flake
brave-originThe upstream Brave browser build
nextcloud.nixThe Nextcloud desktop sync client (Linux only; there is no macOS build)
sone.nixSone
tailscale.nixThe Tailscale system tray. The daemon is configured by the network module

Last updated on

On this page