services.moonshine.settings

NixOS option

Moonshine configuration, generated as a TOML file in the Nix store. See https://github.com/hgaiser/moonshine/blob/main/moonshine-core/src/config.rs for the available settings and https://github.com/hgaiser/moonshine#configuration for some examples. Do not leave this option empty: Moonshine’s upstream defaults configure Steam at /usr/bin/steam, which does not exist on NixOS. Define at least application with an executable in the Nix store, as shown in the example. Setting application explicitly is sufficient; application_scanners may be omitted. Moonshine stores cert.pem and key.pem in ~/.config/moonshine/, and paired-client state in ~/.local/share/moonshine/state.toml for the configured user. Since the service runs without a desktop session, its notification action cannot reliably open the pairing page. Pair clients by visiting http://<host>:47989/pin in a browser instead.

type: TOML value
Default
{ }
Example
{
  name = "my-desktop";
  address = "0.0.0.0";
  application = [
    {
      title = "Steam";
      command = [ "steam" "steam://open/bigpicture" ];
    }
  ];
  application_scanner = [
    {
      type = "steam";
      library = "$HOME/.local/share/Steam";
      command = [ "steam" "-bigpicture" "steam://rungameid/{game_id}" ];
    }
  ];
}
declared in: nixos/modules/services/networking/moonshine.nixView source on NixOS/nixpkgs →