Skip to content

Features

Natan Junges edited this page Sep 25, 2024 · 33 revisions

The customizations made to bleUX are abstracted as features, which can be independently enabled/disabled at users' need. The bleux-features package contains all scripts to enable/disable them. At install, the system comes with a set of features enabled by default, and the rest are disabled by default.

The main command to manage features is:

feature <subcommand> <feature>

Added

System snapshots

Feature Subcommand to enable Subcommand to disable
timeshift add remove

Firewall

Feature Subcommand to enable Subcommand to disable
gufw add remove
ufw enable disable

Application caching

Feature Subcommand to enable Subcommand to disable
preload add remove

Replaced

Core technologies

Package manager frontend

The standard libapt-pkg frontend experience provided by apt can be too low-level and hard to understand. nala provides a more user-friendly alternative, as well as more advanced features that make package managing both powerful and easy.

Feature Enabled by default Subcommand to enable Subcommand to disable
apt
enable disable
nala
add remove
Extra subcommands for nala
Subcommand Description
fetch Fetches 3 fast mirrors to improve download speed.

Sandboxed package format

As much as snap works really well in embedded environments, its support in desktop environments is average at best. flatpak, on the other hand, is focused on providing the best experience in desktop environments, being supported by the Freedesktop project.

Feature Enabled by default Subcommand to enable Subcommand to disable
flatpak
add remove
snap
add remove
Extra subcommands for flatpak
Subcommand Description
update Updates applications or runtimes, including related extensions.
remove-unused Uninstalls unused applications or runtimes on the system.

Audio/media server

pulseaudio is the general purpose audio server developed by the Freedesktop project. Even though, its support is limited in more demanding use cases, such as professional sound producing, where a real-time, low-latency system is required. pipewire not only provides better support for those use cases, but it also handles other types of media streams and aims at being more compatible with flatpak and wayland.

Feature Enabled by default Subcommand to enable Subcommand to disable
pipewire
add remove
pulseaudio
add remove

Windowing system / display server

Feature Enabled by default Subcommand to enable Subcommand to disable
wayland
enable disable
xorg
enable disable
Extra subcommands for xorg
Subcommand Description
init Initializes the GDM configuration of X.org.

Old GNOME apps with new ones

Music player

Feature Enabled by default Subcommand to enable Subcommand to disable
gnome-music
add remove
rhythmbox
add remove

Terminal emulator

Feature Enabled by default Subcommand to enable Subcommand to disable
gnome-console
add remove
gnome-terminal
add remove

Text editor

Feature Enabled by default Subcommand to enable Subcommand to disable
gedit
add remove
gnome-text-editor
add remove

Image viewer

Feature Enabled by default Subcommand to enable Subcommand to disable
eog
add remove
flatpak loupe
add remove

Camera

Feature Enabled by default Subcommand to enable Subcommand to disable
cheese
add remove
flatpak snapshot
add remove

Non-GNOME apps with GNOME ones

Wallpapers

Feature Enabled by default Subcommand to enable Subcommand to disable
gnome-backgrounds
add remove
ubuntu-wallpapers
add remove

Remote desktop viewer

Feature Enabled by default Subcommand to enable Subcommand to disable
gnome-connections
add remove
remmina
add remove

Software store

Feature Enabled by default Subcommand to enable Subcommand to disable
gnome-software
add remove
snap snap-store
add remove

Non-GNOME apps with flatpaks

Firefox

Feature Enabled by default Subcommand to enable Subcommand to disable
flatpak firefox
add remove
snap firefox
add remove

LibreOffice

Feature Enabled by default Subcommand to enable Subcommand to disable
flatpak libreoffice
add remove
libreoffice
add remove

Thunderbird

Feature Enabled by default Subcommand to enable Subcommand to disable
flatpak thunderbird
add remove
thunderbird
add remove

Transmission

Feature Enabled by default Subcommand to enable Subcommand to disable
flatpak transmission
add remove
transmission
add remove

Removed

GNOME Shell extensions

Feature Subcommand to enable Subcommand to disable
desktop-icons add remove
ubuntu-dock add remove

GNOME recommended apps

Feature Subcommand to enable Subcommand to disable
gnome-power-manager add remove
seahorse add remove

GNOME suggested apps

Feature Subcommand to enable Subcommand to disable
aisleriot add remove
branding-ubuntu add remove
gnome-mahjongg add remove
gnome-mines add remove
gnome-sudoku add remove
gnome-todo add remove
shotwell add remove

Adding a new feature

To add a new feature, copy the template file and change it as needed:

cd packages/bleux-features/features/
cp feature-template.sh <feature>.sh

Check the packages/bleux-features/utils.sh library script out for functions to modularize, simplify and automate feature scripts.

Clone this wiki locally