Ubuntu Desktop Installer starting point for Ubuntu flavors.
-
Init submodules:
git submodule update --init --recursive
-
Install Subiquity's dependencies:
make install_deps
-
Run the installer:
flutter pub get flutter run -d linux
The desktop installer has an entry point that allows passing in the name of the flavor displayed throughout the installation wizard, the desired flavor-specific theme, and the flavor’s own installation slides together with delegates for localization.
import 'package:ubuntu_bootstrap/ubuntu_bootstrap.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:yaru/yaru.dart';
import 'slides.dart';
Future<void> main(List<String> args) {
return runInstallerApp(
args,
flavor: UbuntuFlavor.xxx,
theme: yaruMagentaLight,
darkTheme: yaruMagentaDark,
localizationsDelegates: AppLocalizations.localizationsDelegates,
slides: [
buildFirstSlide,
buildSecondSlide,
buildThirdSlide,
],
);
}
flavor
: UbuntuFlavortheme
anddarkTheme
: ThemeData
Images such as logos and theme previews can be customized by overriding assets used in the desktop installer by creating assets by the same name in the flavor installer. Whenever the desktop installer shows images, it looks up the application (flavor) assets first and if not found, falls back to the one in ubuntu_provision
or ubuntu_bootstrap
. Therefore, a flavor can freely choose to override a subset or all images.
The full set of image assets is visible at:
assets/ubuntu-provision.yaml # Define list of installer pages to display
snap/snapcraft.yaml # Change the snap name, but leave the parts and binary names