Skip to content

Features

Natan Junges edited this page Sep 27, 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.

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

Image viewer

Feature Enabled by default Subcommand to enable Subcommand to disable
eog
add remove
loupe
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
snap 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
shotwell add remove

Snaps

Feature Subcommand to enable Subcommand to disable
snap firmware-updater 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.