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

Common set of locations for any games on Linux. Runtimes independants.

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: 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/pressure-vessel

Pressure vessel abstraction, for games that are sandboxed in a similar way to Flatpak. It is used by steam and umu.

It is assumed that profile including this abstraction wants to confine a game running sandboxed with bwrap.

As Pressure vessel is architecturally very close to Flatpak, it is possible to use flatpak only abstractions (abstractions/flatpak/...) here.

Required variables: att,steam_share_dirs,runtime_dirs,

common/steam-game

Required variables: app_dirs,lib_dirs,share_dirs,

common/systemd

Warning

This abstraction should only be used by profiles in the systemd software suite.

common/xdg

Minimal set of rules for XDG utilities like xdg-mime, xdg-settings, etc.