Jovian-NixOS

Options

Jovian-NixOS adds a set of extra options that can be used in your NixOS configurations under the jovian prefix.

Note

The options listing is available on the website.

jovian.decky-loader.enable

Name:

jovian.decky-loader.enable

Default:

false

Type:

boolean

Description:

Whether to enable the Steam Deck Plugin Loader.

jovian.decky-loader.extraPackages

Name:

jovian.decky-loader.extraPackages

Default:

[ ]

Type:

list of package

Description:

Extra packages to add to the service PATH.

jovian.decky-loader.extraPythonPackages

Name:

jovian.decky-loader.extraPythonPackages

Default:

pythonPackages: []

Type:

function that evaluates to a(n) list of package

Description:

Extra Python packages to add to the PYTHONPATH of the loader.

jovian.decky-loader.package

Name:

jovian.decky-loader.package

Default:

pkgs.decky-loader

Type:

package

Description:

The loader package to use.

jovian.decky-loader.stateDir

Name:

jovian.decky-loader.stateDir

Default:

"/var/lib/decky-loader"

Type:

path

Description:

Directory to store plugins and data.

jovian.decky-loader.user

Name:

jovian.decky-loader.user

Default:

"decky"

Type:

string

Description:

The user Decky Loader should run plugins as.

jovian.devices.steamdeck.autoUpdate

Name:

jovian.devices.steamdeck.autoUpdate

Default:

false

Type:

boolean

Description:

Whether to automatically update the BIOS and controller firmware.

jovian.devices.steamdeck.enable

Name:

jovian.devices.steamdeck.enable

Default:

false

Type:

boolean

Description:

Whether to enable Steam Deck-specific configurations.

jovian.devices.steamdeck.enableControllerUdevRules

Name:

jovian.devices.steamdeck.enableControllerUdevRules

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Enables udev rules to make the controller controllable by users.

Without this, neither steam, nor any other userspace client can switch the controller from out of its default "lizard" mode.

jovian.devices.steamdeck.enableDefaultCmdlineConfig

Name:

jovian.devices.steamdeck.enableDefaultCmdlineConfig

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Whether to enable Steam Deck command line flags.

jovian.devices.steamdeck.enableDefaultStage1Modules

Name:

jovian.devices.steamdeck.enableDefaultStage1Modules

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Whether to enable essential kernel modules in initrd.

jovian.devices.steamdeck.enableFwupdBiosUpdates

Name:

jovian.devices.steamdeck.enableFwupdBiosUpdates

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Whether to use fwupd to update the BIOS.

jovian.devices.steamdeck.enableGyroDsuService

Name:

jovian.devices.steamdeck.enableGyroDsuService

Default:

false

Type:

boolean

Description:

Whether to enable the Cemuhook DSU service for the gyroscope.

If enabled, motion data from the gyroscope can be used in Cemu with Cemuhook.

jovian.devices.steamdeck.enableKernelPatches

Name:

jovian.devices.steamdeck.enableKernelPatches

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Whether to apply kernel patches if available.

jovian.devices.steamdeck.enableOsFanControl

Name:

jovian.devices.steamdeck.enableOsFanControl

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Whether to enable the OS-controlled fan curve.

This is enabled by default since SteamOS 3.2.

jovian.devices.steamdeck.enablePerfControlUdevRules

Name:

jovian.devices.steamdeck.enablePerfControlUdevRules

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Whether to make performance-related device attributes controllable by users.

The Steam Deck Client directly modifies several device attributes to control the display brightness and to enable performance tuning (TDP limit, GPU clock control).

jovian.devices.steamdeck.enableSoundSupport

Name:

jovian.devices.steamdeck.enableSoundSupport

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Whether to enable sound support.

jovian.devices.steamdeck.enableXorgRotation

Name:

jovian.devices.steamdeck.enableXorgRotation

Default:

config.jovian.devices.steamdeck.enable

Type:

boolean

Description:

Whether to rotate the display panel in X11.

jovian.hardware.amd.gpu.enableBacklightControl

Name:

jovian.hardware.amd.gpu.enableBacklightControl

Default:

config.jovian.hardware.has.amd.gpu

Type:

boolean

Description:

Whether to loosen access to the backlight device nodes.

Declared by:

jovian.hardware.amd.gpu.enableEarlyModesetting

Name:

jovian.hardware.amd.gpu.enableEarlyModesetting

Default:

config.jovian.hardware.has.amd.gpu

Type:

boolean

Description:

Whether to enable early kernel modesetting.

Declared by:

jovian.hardware.has.amd.gpu

Name:

jovian.hardware.has.amd.gpu

Default:

false

Type:

boolean

Description:

Whether the device has an AMD GPU.

Declared by:

jovian.steam.autoStart

Name:

jovian.steam.autoStart

Default:

false

Type:

boolean

Description:

Whether to automatically launch the Steam Deck UI on boot.

Traditional Display Managers cannot be enabled in conjunction with this option.

jovian.steam.desktopSession

Name:

jovian.steam.desktopSession

Default:

null

Type:

null or string

Description:

The session to launch for Desktop Mode.

By default, attempting to switch to the desktop will launch Gaming Mode again.

jovian.steam.enable

Name:

jovian.steam.enable

Default:

false

Type:

boolean

Description:

Whether to enable the Steam Deck UI.

When enabled, you can either use the autoStart option (preferred), launch the Steam Deck UI from your Display Manager or by running start-gamescope-session.

Declared by:

jovian.steam.environment

Name:

jovian.steam.environment

Default:

{ }

Type:

attribute set of string

Description:

Additional environment variables or overrides to environment variables that will be applied to the gamescope session.

jovian.steam.updater.splash

Name:

jovian.steam.updater.splash

Default:

"steamos"

Type:

one of "steamos", "jovian", "bgrt", "vendor"

Description:

Configures the source of the splash screen used by the updater (preloader) step when launching Steam.

When steamos, this will use the vendor-selected image, scaled appropriately.

When jovian, this will use the Jovian Experiments logo, scaled appropriately.

When bgrt, the BGRT (UEFI vendor logo) will be used.

When vendor, the vendor default will not be changed. This differs from default in that on systems other than the Steam Deck, the scaling may not be correct.

The scale of the vendor logo (in vendor) is incorrect when the display resolution is different from 1280 pixels wide. The updater logo will be bigger than the one used in the startup animation.

jovian.steam.user

Name:

jovian.steam.user

Default:

(unset)

Type:

string

Description:

The user to run Steam with.

jovian.steamos.enableAutoMountUdevRules

Name:

jovian.steamos.enableAutoMountUdevRules

Default:

config.jovian.steamos.useSteamOSConfig

Type:

boolean

Description:

Whether to enable udev rules to automatically mount SD cards upon insertion.

jovian.steamos.enableBluetoothConfig

Name:

jovian.steamos.enableBluetoothConfig

Default:

config.jovian.steamos.useSteamOSConfig

Type:

boolean

Description:

Adjust default BlueZ settings to match SteamOS.

jovian.steamos.enableDefaultCmdlineConfig

Name:

jovian.steamos.enableDefaultCmdlineConfig

Default:

config.jovian.steamos.useSteamOSConfig

Type:

boolean

Description:

Whether to enable SteamOS kernel command line flags.

jovian.steamos.enableEarlyOOM

Name:

jovian.steamos.enableEarlyOOM

Default:

config.jovian.steamos.useSteamOSConfig

Type:

boolean

Description:

Enable SteamOS-like earlyoom config.

jovian.steamos.enableMesaPatches

Name:

jovian.steamos.enableMesaPatches

Default:

config.jovian.steamos.useSteamOSConfig

Type:

boolean

Description:

Whether to apply the Mesa patches if available.

Currently, they allow the swapchain interval to be changed by the framerate limiter in gamescope.

jovian.steamos.enableProductSerialAccess

Name:

jovian.steamos.enableProductSerialAccess

Default:

config.jovian.steamos.useSteamOSConfig

Type:

boolean

Description:

Loosen the product_serial node to 440 / root:wheel, rather than 400 / root:root to allow the physical users to read S/N without auth. — holo-dmi-rules 1.0

jovian.steamos.enableSysctlConfig

Name:

jovian.steamos.enableSysctlConfig

Default:

config.jovian.steamos.useSteamOSConfig

Type:

boolean

Description:

Whether to enable SteamOS sysctl configurations

jovian.steamos.enableVendorRadv

Name:

jovian.steamos.enableVendorRadv

Default:

config.jovian.steamos.useSteamOSConfig && config.jovian.hardware.has.amd.gpu

Type:

boolean

Description:

Whether to enable the vendor branch of Mesa RADV.

jovian.steamos.enableZram

Name:

jovian.steamos.enableZram

Default:

config.jovian.steamos.useSteamOSConfig

Type:

boolean

Description:

Whether to enable SteamOS-like zram swap configuration

jovian.steamos.useSteamOSConfig

Name:

jovian.steamos.useSteamOSConfig

Default:

"config.jovian.steam.enable"

Type:

boolean

Description:

Whether to enable opinionated system configuration from SteamOS.

When true, this will enable most options under the jovian.steamos namespace.

Declared by:

jovian.workarounds.ignoreMissingKernelModules

Name:

jovian.workarounds.ignoreMissingKernelModules

Default:

true

Type:

boolean

Description:

Whether to ignore missing kernel modules.