Bubbles is a ISO build for debian based operating systems, written in python
Go to file
debianpepper 04c12b8cfd Update:
Reorganized the builder to as a python project, it allows
for more, scalable processes and logging

Signed-off-by: debianpepper <pdpdebdevuan@protonmail.com>
2025-03-10 13:51:03 +09:00
iso_configs Update: 2025-03-10 13:51:03 +09:00
python_modules Update: 2025-03-10 13:51:03 +09:00
LICENSE Test update 2023-07-11 15:53:05 +09:00
README.md Update: 2025-03-10 13:51:03 +09:00

README.md

Bubbles

Bubbles is an ISO builder for debian based operating systems, written in python.

Why does bubbles exist? The Peppermint OS team builds multiple ISOs. for example the folllowing ISOs are currently able to be build.

Flagship:

These builds are designed for users who prefer a clean, system without unnecessary bloat. At the same time, they come with just enough essential packages to provide a functional, ready-to-use setup. From there, users can customize the system to better suit their specific needs without the hassle of undoing pre-installed settings or removing unwanted packages, saving valuable time. It's entirely up to the user to install the packages that best align with their preferences and requirements.

  • XFCE 64 bit Debian / Devuan
  • XFCE 32 bit Debian / Devuan
  • XFCE ARM Debian / Devuan

Loaded:

These builds come with a significantly larger selection of pre-installed software, catering to users who expect a more comprehensive, out-of-the-box experience. Compared to the flagship build, they include far more packages, providing a ready-to-use system with enhanced functionality right from the start.

  • XFCE 64 bit Debian / Devuan
  • XFCE 32 bit Debian / Devuan

Mini:

A minimum installation, or "mini install," refers to an operating system installation process where no software is pre-installed on the system. Instead, the user determines how to configure and customize the system during the installation process. This method provides flexibility, allowing users to tailor the setup to their specific needs without unnecessary preloaded software, ensuring a clean and efficient system configuration from the start

  • 64 bit Debian / Devuan

Server:

Similar to the mini ISO the diffennce this has some addtion sever admin related tools shipped with it.

  • 64 bit Debian / Devuan

Community builds:

These builds are ISOs maintained by dedicated community members who have taken the initiative to support and develop them. Essentially, someone in the community has decided to create and maintain a specific desktop environment, tailoring it to align with the unique "Pepperminty" style. Theyve carefully identified the configurations and settings that embody the essence of PeppermintOS, ensuring each ISO delivers a consistent and cohesive experience.

  • Gnome Flashback 64 bit Debian / Devuan
  • KDE 64 bit Debian / Devuan
  • OpenBox 64 bit Debian / Devuan
  • Mate Debian 64 bit / Devuan

It does use the debian live build tools to build and create the ISO. for the Debian and Devuanbased ISO

Requirements needed to use Bubbles:

  • debian live-build tools
  • python3

Usage - The Peppermint ISO collection consists of:

  • 32/64 bit
  • ARM
  • Systemd/NonSystemd
    • That would be
      • SysVinit
      • Runit
      • OpenRC

Understand the folder structure

The ISO is organized into a modular folder structure, as seen in the iso_configs directory. Some folders contain shared files that are used across all ISOs, while others are specific to certain architectures. This modular design makes it easier to manage, update, and scale the system as changes are introduced over time.

Here is a grouping break-down of the folders

Shared Folders

  • aliases - for use of custom bash aliases
  • application - the location for custom application .desktop files
  • auto start - launches the welcome screen and other auto start apps
  • browser_profiles - Used for different web browser profile settings
  • database - a place to puts any custom sqlite database files
  • build_type - used to help identifiy the kind of build to compile
  • desktop_base - used to put custom, custom base themes
  • face - set the login thumbnail
  • font - any fonts that need to be installed
  • gnome-flashback - gnomeflashback configurations
  • hooks - configurations that are used during the build process.
  • id_files - used for build identification
  • icons - put icons here to share them wil all builds.
  • issue - version files for the syste, change to your build name /version
  • kde - kde configurations
  • lightdm - used for the light dm login manager
  • loaded - loaded configurations
  • logs - This will stor ethe logs create dureing bubbles compilations
  • menu - default menu settings
  • PepProPixMaps - the peptools icons
  • PepProTools - the Peppemrint tools executables
  • plymouth - update the plymouth boot screens
  • pmostools - these are the peppermint tools
  • polkit - manage the policy kits settings
  • profile - setup the default profile configuration
  • pylibraries - python libraries that are not inluded as standard
  • server - server configurations
  • theme - this will apply the themes to all your builds
  • user_config - Default live user configuration
  • wallpaper - stanard wallpaper location
  • xfce - xfce configurations
  • gnome-flashback - gnome flashback configurations
  • openbox - open box configurations

Architecture Specific

  • calamares_settings - Calamares installer configurations
  • grub - Manage the grub settings pers build.
  • info - Mirror and info settings
  • installer - configurations for the debain installer
  • multimedia - keys and repo settings
  • os-release - OS version and tesgging settings
  • sources - defaults repo sources list
  • splash - Grub bood splash configurations

Each folder in this area has subfolders broken down by:

  • Debian 32/64/arm
  • Devuan 32/64/arm

As you have a need to maintain separate configuration files for each build this is where you place your files.

For example: If you have Calamares Settings configuration files ONLY for the Devuan ISO, then you put those files in the /calamares_settings/dev/ directory.

Make any modifications to the fole in the configurations above. When you have done that make sure you are in the bubbles directory.

How to use bubbles

  • Clone the bubbles repo to /Your_Home_folder/
  • In terminal cd into bubbles

To see the options available use

python3 -m python_modules.build_iso help

From there you can use those arguments to compile the ISO that best fits your needs.

Once ths files are ready they will be stored in the follwoing location

/var/www/html/nightly/

From there you can see the kind of build you are looking for.