This is a requirement for using bootc with Anaconda or else we don't
enforce signed images for subsequent updates.
In the past we have used bootc switch --mutate-in-place (in combination
with ostree-container which is what we are currently using for the
installation media), but this no longer works with bootc for whatever
reason.
This doesn't seem to matter for local builds, so this is fine to just
add here on the image.
xref: https://github.com/get-aurora-dev/iso/pull/93
* chore: cleanup systemd services, move to presets
Preset files are cooler [1] and we should be able to get rid of a little
bit of complexity on the ISOs as we simply delete the preset file to
undo things we don't want to have on the ISO (uupd, tailscale ...)
instead of playing catch-up with the image [2].
Also we don't need to enable the *service* of rpm-ostree-countme, we
want to have the *timer* enabled, which is already done by default in
Fedora. The rpm-ostreed-automatic.timer is a leftover from ublue-os/main
days as we enable that for those images but disable it here as we use
uupd.
The Bazaar service got deleted and the need for that got completely
eliminated upstream recently.
[1] https://www.freedesktop.org/software/systemd/man/latest/systemd.preset.html
[2] https://github.com/get-aurora-dev/iso/issues/100
* chore: also do DX
* sunshine
we should make this a seperate thing as we want to still have this
disabled on the live iso
* deal with homebrew nonsense
* prefix with 89
so they can be overriden by others via preset files but still have more
priority over Fedora ones
* split fedora flatpak related services
so we can more easily keep this configuration active
* feat: make compatible with unsealed composefs
The bootc package ships a dracut configuration that adds the bootc
module (which is needed for the installation of the composefs backend)
to the initramfs which we currently don't have and ostree is also set
there.
I want this because bootc install is significantly faster when used with
the composefs backend, because it does some magic zeor-copy reflink
things. It is wired up with `just disk-image --backend composefs`.
For a long time systemd-boot was the only supported bootloader on
composefs backend, but grub works now. So we don't have to unnecessarily
add systemd-boot to the image.
* use grub for composefs
fixup of e93c41edd7.
The previous iteration has worked but only when calling via the desktop
file, something else during first boot calls /usr/bin/plasma-welcome
directly.
xref: https://github.com/ublue-os/aurora/issues/2624
* feat: workaround for trimming physical root block device
https://github.com/fedora-silverblue/issue-tracker/issues/689
* add ExecStart
because this is a oneshot, this would execute the old upstream fstrim
command first and the patched one from us after that.
Co-authored-by: Aman Verma <code@averms.org>
---------
Co-authored-by: Aman Verma <code@averms.org>
* feat: add ZFS deprecation notifier
This will spawn a one-time notification that has to be dismissed by the
user if ZFS is being used.
xref: https://github.com/ublue-os/aurora/issues/1765
resolves: https://github.com/ublue-os/aurora/issues/2210
* fix typo
* be more explicit in msg
Co-authored-by: Adam Fidel <ledif@users.noreply.github.com>
* run it always every week
The chance that people will see it are way bigger this way.
* only actually enable on systems that have ship zfs
---------
Co-authored-by: Adam Fidel <ledif@users.noreply.github.com>
* chore: Revert "chore: delete bootc install config (#1568)"
This is one of the things we need for bcvk to work with our images.
This reverts commit 5f76360321.
* chore: drop filesystem option for bootc install
* feat(nvidia): add service to sync Flatpak driver version (#1983)
Co-authored-by: inffy <10782843+inffy@users.noreply.github.com>
* chore(ci): replace retry action (#1995)
* ci: replace extractions/setup-just with brew install (#2000)
* chore(deps): update ghcr.io/ublue-os/brew:latest docker digest to 1a058eb (#2002)
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
* fix: move dracut configs to files instead of flags (#2003)
While this doesn't make a difference to our image build itself, it will
make the life easier for derived images as they will inherit all the
modules from us that we set anyway. This undoes some of the changes made
in 32a66fc719. These are specific to the things we install here so it
doesn't make sense to go into common.
---------
Co-authored-by: Adam Fidel <ledif@users.noreply.github.com>
Co-authored-by: inffy <10782843+inffy@users.noreply.github.com>
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
* feat: rechunk with rpm-ostree
The legacy rechunker is basically unmaintained, this is a much safer
option to reduce our (delta) image size.
https://coreos.github.io/rpm-ostree/build-chunked-oci/
We can further reduce the layer diff by utilizing --previous-build in
the next rpm-ostree release. It still has a couple problems in the
current release in combination with non-rpm layers.
https://github.com/coreos/chunkah is very early in development, don't
bother for now.
* fix: handle dance regarding stable, stable-daily
* chore: add horrible workaround because of hhd-dev/rechunk
* fix: for layer annotations not being pushed
We need a newer podman version than ubuntu 24.04 provides,
homebrew is the most elegant solution.
We need the layer annotations for the rpm-ostree rechunker so that
updates are more efficient.
workaround for:
https://github.com/containers/podman/issues/27796
* feat: assign layers to files we download
* chore: autostart rechunker-group-fix
* fix: don't do beta tag logic
* chore: only run when deployed with ostree
so this doesn't run on the ISO etc will need to be changed on composefs
native backend.
* refactor: reorder build scripts
Many RUN statements are very costly in terms of disk IO as every single
one commits layer cache for no benefit. But this retains most benefits
of the split in terms of disabling networking on the scripts that don't
need it.
There were also some leftover scripts that were running one command or
beta.sh which we don't use at all anymore. If there is a need to do
something on the beta only we should probably integrate it in the
other scripts.
Due to moving image-info.sh to the end we can drop the copr.vendor.conf
as we are still fedora when installing packages.
The disablement of openh264 repo and ublue akmods copr in dx.sh we can drop as
this is already handled by cleanup.sh
This is how https://github.com/ublue-os/aurora/pull/1670 should've been
done from the start.
* fix: Plasma 6.6 dropped the panel config
* chore: move strict /opt to clean-stage.sh
avoids one more RUN statement, this is stil visible enough here
* fix: beta oopsie
---------
Co-authored-by: inffy <10782843+inffy@users.noreply.github.com>
* feat: FROM quay.io/fedora-ostree-desktops/kinoite
Instead of using the ublue-os/kinoite-main base image we would be using
the ones built by Timothée over at https://gitlab.com/fedora/ostree/ci-test
This is a good path forward for Aurora because:
- we no longer have to undo things we inherit from ublue-os/main
- less overall dependencies
- we can make more conscious decisions about what goes into the image
- it's easier now to build images on top of upcoming Fedora versions
(even KDE nightly ones) or to base on top of potential future images
that are more aligned with our goals and needs
This would come at the cost of maintaining most of what main did
previously ourselves.
* chore: remove ublue-os-akmods-addons
* chore: codecs from negativo
* feat: add flathub
* fix: fedora flatpak be gone
* feat: miscellaneous workarounds
* feat: CoreOS rescue boot generator
* feat: allow brew programs with sudo
* chore: re-add packages from main
* chore: remove packages we removed in main
* chore: renovate
there is no latest tag
* fix: remove explicit ublue akmods copr cleanup
already included with all the others
* chore: remove added fedora flatpak service
We don't need this
* fix(renovate): set proper tag
---------
Co-authored-by: inffy <10782843+inffy@users.noreply.github.com>
* feat: move back rpm-ostreed.conf
This is tech debt only for this repo and is not an "asset" shared
between multiple aurora variants.
* feat: add bootc install config
CentOS Stream doesn't support BTRFS out of the box
* feat: add dracut/modprobe configs
module enablement is not an asset and should not be shared between
variants
* feat: add stuff for preinstall bazaar flatpak back
we don't need this on LTS as we start fresh there, this is not an "asset"
* feat: add SDDM stuff
Plasma Login Manager is the future and we shouldn't introduce
workarounds on other Aurora variants when there is a fix in sight.
* feat: add flatpak-nuke-fedora.service
We only have to deal with this problem on Fedora bases
* fix: actually COPY system_files
* Update system_files/shared/etc/rpm-ostreed.conf
Co-authored-by: Adam Fidel <ledif@users.noreply.github.com>
* chore: remove dracut zstd compression
* chore: move dracut config to command
---------
Co-authored-by: Adam Fidel <ledif@users.noreply.github.com>
* chore: move flatpaks, logos and system files
They live here now!
https://github.com/get-aurora-dev/common
Also happens to remove the dnf and yum wrappers.
* fix: ci complaints
* chore: remove ai slop
* feat: font shadow parity with bluefin
* chore: remove unused banner
* feat: enable color for light mode
* chore: rename first category
* chore: delete unused
* feat: redo basically everything
* feat: make media section more orange
* fix(ci): don't rebuild on entire bazaar dir change
* chore: clean up repo
* chore: overrides and remove tailscale repo
* remove base image changes script
* refactor dx and build scripts
* add better way to install openrazer-daemon
* move the pinned packages to packages.sh
* fix typo
* sunshine is not excluded package anymore
* fix toolip
* update fedora version to 42
* fix: remove unnecessary bootc lint
we do that in the containerfile at the end
* remove /opt stuff
---------
Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>
Co-authored-by: renner <renner0@posteo.de>
* feat: nuke fedora flatpaks
* start the service on boot
* remove extra space :C
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: enable bazaar flatpak
* feat: autostart flatpak bazaar service
This will replace the systemd service provided by the rpm
* feat: enable backported flatpak for non-beta images
---------
Co-authored-by: inffy <10782843+inffy@users.noreply.github.com>
* chore: remove kind from image
this is available in brew
* fix: duplicated entry
we also have this in aurora-apps.just
* feat: add k8s-dev-tools ujust to motd
* feat: add brewfile validation
* building is needed for linter to work properly
* relocate brewfiles for easier access
* remove homebrew/cask tapping
* revert the building for touching brewfiles
* Update .github/workflows/validate-brewfiles.yml
Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>
---------
Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>