bubbles/README.md

185 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 built.
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.