# Building bootc image with some flatpaks included

**URL:** <https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291>\
**Category:** Aurora\
**Created:** [December 16, 2025, 7:43am UTC](https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291 "2025-12-16T07:43:35Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ikerstges](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/ikerstges/32/8849_2.png) [@ikerstges](https://universal-blue.discourse.group/u/ikerstges)\
**Post date:** [December 16, 2025, 7:43am UTC](https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291/1 "2025-12-16T07:43:35Z")

</div>

Hi all!

I used the template from [GitHub - ublue-os/image-template: Build your own custom Universal Blue Image!](https://github.com/ublue-os/image-template) to setup my own github workflow. I re-configured the Containerfile to use Aurora instead of Bazzite and I have setup cosign proper. My github actions workflow works and I’m able to deploy my bootc image.

Now I’m trying to start customizing the output. In the included /Containerfile and in /build\_files/build.sh I find comments and some examples to install packages and to manage system services.

I intend to pre-install some flatpak software from flathub, for example: I’d like to get the brave-browser flathub package installed next to the already existing firefox.

I tried adding to /Containerfile following RUN commands:

`RUN flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo`

`RUN flatpak install flathub com.brave.Browser`

After I push this to Github, the actions still work, but booting from my resulting bootc image does not have Brave included.

I looked at [common/flatpaks/system-flatpaks.list at ac00d66a23ce1a7e5b55050717d1338c38e5b717 · get-aurora-dev/common · GitHub](https://github.com/get-aurora-dev/common/blob/ac00d66a23ce1a7e5b55050717d1338c38e5b717/flatpaks/system-flatpaks.list) for my reference/orientation, this seems to indicate to me that it should be possible to define my own preferred flatpak candidates somehow?

Any pointers or even a reference to related documentation would be highly appreciated!

---

<div class="post-metadata">

**Author:** ![inffy](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/inffy/32/7996_2.png) [@inffy](https://universal-blue.discourse.group/u/inffy)\
**Post date:** [December 16, 2025, 7:48am UTC](https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291/2 "2025-12-16T07:48:57Z")

</div>

Those flatpak “lists” are used by our ISOs to install them during ISO install.

What you need is (currently) a custom version of flatpak that has the (currently) unreleased preinstall support

look here how we do it with Bazaar flatpak:

> <https://github.com/ublue-os/aurora/pull/1076/files>
>
> same as: https://github.com/ublue-os/bluefin/pull/3352
> resolves/adresses: https…://github.com/ublue-os/aurora/issues/948 and https://github.com/ublue-os/aurora/issues/995
> 
> missing parts:
> \- https://github.com/ublue-os/packages/pull/957
> \- adapt ujust toggle-software-store for the flatpak if needed (figure it out with beta)
> \- investigate if we still need \[this\](https://github.com/ublue-os/aurora/blob/main/build\_files/base/11-bazaar.sh#L34-L35)
> 
> 
> We should have consensus first if we even want to do this like bluefin.
> @ledif @NiHaiden @RealVishy @inffy
> We have less stuff on the image, faster update cadence for bazaar, but people will be able to remove bazaar (for better or worse).
> 
> ~~We should also in my opinion rip the band-aid off regarding the whole discover mess. I guess we have to because there will not be a bazaar desktop file in /usr anymore.~~
> 
> ~~So don't do the whole \[symlink mess\](https://github.com/ublue-os/aurora/blob/main/build\_files/base/11-bazaar.sh#L10-L25). But still disable discover by default and use bazaar.~~
> 
> ~~We time this with F43 (beta) and we can tell people exactly what to click to remove the "blank discover icon" and pin bazaar instead, so no more trouble with \[2 icons\](https://github.com/ublue-os/aurora/issues/845), notifications from discover that have bazaar icon and all that trouble that comes with it and if people are bitching about bazaar then they can just remove it and suffer with discover.~~
> 
> Maybe \[flatpak discover\](https://github.com/renner0e/flathub/tree/discover) will be on flathub in the future...

---

<div class="post-metadata">

**Author:** ![ikerstges](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/ikerstges/32/8849_2.png) [@ikerstges](https://universal-blue.discourse.group/u/ikerstges)\
**Post date:** [December 16, 2025, 8:16am UTC](https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291/3 "2025-12-16T08:16:32Z")

</div>

Thanks for the reference, it seems I’ll have to wait for this to become generally available..

---

<div class="post-metadata">

**Author:** ![Danathar](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/danathar/32/7758_2.png) [@Danathar](https://universal-blue.discourse.group/u/Danathar)\
**Post date:** [December 16, 2025, 11:40am UTC](https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291/4 "2025-12-16T11:40:57Z")

</div>

As a quick side note, I keep Containerfile repos for several distributions, and I also maintain BlueBuild versions.

Both are really useful, but BlueBuild is especially handy for things like Flatpaks, kernel modules, and related pieces.

---

<div class="post-metadata">

**Author:** ![ikerstges](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/ikerstges/32/8849_2.png) [@ikerstges](https://universal-blue.discourse.group/u/ikerstges)\
**Post date:** [December 16, 2025, 1:32pm UTC](https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291/5 "2025-12-16T13:32:07Z")

</div>

I’m looking at `https://github.com/blue-build` but I don’t see Containerfiles with example flatpak installations for bootc images. Am I looking at the wrong place?

---

<div class="post-metadata">

**Author:** ![Danathar](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/danathar/32/7758_2.png) [@Danathar](https://universal-blue.discourse.group/u/Danathar)\
**Post date:** [December 16, 2025, 4:19pm UTC](https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291/6 "2025-12-16T16:19:45Z")

</div>

With Bluebuild you don’t edit a Container file, rather you edit a recipe yaml file which then the Bluebuild Script generates the Container file behind the scenes and then proceeds to build your image.

You start with using their base template:

> **[GitHub - blue-build/template: Template for making your own OS image using...](https://github.com/blue-build/template)**
>
> Template for making your own OS image using BlueBuild

Once it’s in your repo (and you have added a secret key for the actions like you would any repo). You then edit the recipe.yml file under the recipes folder

For instance, here is a basic one I did:

```auto
---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
# image will be published to ghcr.io/<user>/<name>
name: automatic-parakeet-bluebuild
# description will be included in the image's metadata
description: Custom Aurora-DX with bluebuild   

# the base image to build on top of (FROM) and the version tag to use
base-image: ghcr.io/ublue-os/aurora-dx
image-version: stable # latest is also supported if you want new updates ASAP

modules:
 - type: dnf
   install:
     packages:
       - firefox  
       - duperemove 
       - webkit2gtk4.1

 - type: bling
   install:
     - 1password

 - type: signing # Sets up signature verification properly

```

This one is pretty simple, it installs firefox and some other packages (I had deleted the firefox flatpak because I wanted the actual packages). The bling section is special scripts they’ve created for specific software that require some additional steps, in that case 1password rpm pulled from the official repo does some additional stuff.

Once you have updated your recipe file, the build action will build the image.

You can reference the Bluebuild documentation for what can go in the yml file. There is a module for kernel modules for example and adding/deleting flatpaks.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/univeral_blue/original/2X/e/e39f7d1952979cf23b0f8d634e025fb38da50026.png) [@system](https://universal-blue.discourse.group/u/system)\
**Post date:** [December 19, 2025, 4:19pm UTC](https://universal-blue.discourse.group/t/building-bootc-image-with-some-flatpaks-included/11291/7 "2025-12-19T16:19:48Z")

</div>

Closed on December 19, 2025, 4:19pm UTC

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.
