Skip to content

Common abstractions

common/app

Common rules for a generic UI application.

This abstraction is wide on purpose. It is meant to be used by a generic user UI aplications wich no asumption made on the access they need.

Required variables: att,

common/chromium

This abstraction is for chromium based application. Chromium based browsers need to use abstractions/app/chromium instead.

It works as a function and requires a variable to be provided as arguments and set in the header of the calling profile. Example:

@{domain} = org.chromium.Chromium

Required variables: domain,

common/electron

Minimal set of rules for all electron based UI application. It works as a function and requires some variables to be provided as arguments and set in the header of the calling profile. Example:

@{name} = spotify
@{domain} = org.chromium.chromium
@{lib_dirs} = /opt/@{name}/ /usr/share/@{name}/
@{config_dirs} = @{user_config_dirs}/@{name}
@{cache_dirs} = @{user_cache_dirs}/@{name}

Required variables: name,domain,lib_dirs,config_dirs,cache_dirs,

common/game

Core set of resources for any games on Linux. Runtimes such as sandboxing, wine, proton, game launchers should use this abstraction.

This abstraction uses the following tunables:

  • @{XDG_GAMESSTUDIO_DIR}/ for game studio and game engines specific directories (Default: @{XDG_GAMESSTUDIO_DIR}="unity3d")
  • @{user_games_dirs}/ for user specific game directories (eg: steam storage dir)

Required variables: att,user_games_dirs,system_games_dirs,XDG_GAMESSTUDIO_DIR,

common/gnome

Minimal set of rules for all gnome based UI application.

Warning

In the future, this abstraction could be generalized and renamed to gui

common/steam-game

Required variables: app_dirs,lib_dirs,share_dirs,