Skip to content

ubuntucinnamon/ubuntucinnamon-installer

Repository files navigation

Ubuntu Flavor Installer

Ubuntu Desktop Installer starting point for Ubuntu flavors.

screenshot

Getting started

  1. Init submodules:

    git submodule update --init --recursive
  2. Install Subiquity's dependencies:

    make install_deps
  3. Install Flutter

  4. Run the installer:

    flutter pub get
    flutter run -d linux
    

Look and feel

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,
    ],
  );
}

Image assets

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:

Some key files you'll need to update for your flavour

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