diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6417ec4..70c80de 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,7 +46,7 @@ base-images: - base-kinoite-nvidia.yml - base-cosmic-nvidia.yml # TAG: 519-device-or-resource-busy-when-trying-to-rechunk-the-image-in-gitlab-ci - BB_BUILD_PUSH: 'true' + # BB_BUILD_PUSH: 'true' BB_CACHE_LAYERS: 'true' # BB_BUILD_RECHUNK: 'true' @@ -65,4 +65,4 @@ build-image: - wke-worker.yml - jp-laptop.yml BB_CACHE_LAYERS: 'true' - BB_BUILD_PUSH: 'true' + # BB_BUILD_PUSH: 'true' diff --git a/files/base/usr/lib/dracut/dracut.conf.d/10-compression.conf b/files/base/usr/lib/dracut/dracut.conf.d/10-compression.conf new file mode 100644 index 0000000..af45d62 --- /dev/null +++ b/files/base/usr/lib/dracut/dracut.conf.d/10-compression.conf @@ -0,0 +1 @@ +compress="zstd" diff --git a/files/bluebuild-logo/usr/share/plymouth/themes/spinner/watermark.png b/files/base/usr/share/plymouth/themes/spinner/watermark.png similarity index 100% rename from files/bluebuild-logo/usr/share/plymouth/themes/spinner/watermark.png rename to files/base/usr/share/plymouth/themes/spinner/watermark.png diff --git a/files/rpm-ostree/fury.repo b/files/rpm-ostree/fury.repo deleted file mode 100644 index 7ed1cf0..0000000 --- a/files/rpm-ostree/fury.repo +++ /dev/null @@ -1,5 +0,0 @@ -[fury] -name=Gemfury Private Repo -baseurl=https://yum.fury.io/rsteube/ -enabled=1 -gpgcheck=0 diff --git a/files/rpm-ostree/google-cloud-sdk.repo b/files/rpm-ostree/google-cloud-sdk.repo deleted file mode 100644 index e0bc693..0000000 --- a/files/rpm-ostree/google-cloud-sdk.repo +++ /dev/null @@ -1,7 +0,0 @@ -[google-cloud-cli] -name=Google Cloud CLI -baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el9-x86_64 -enabled=1 -gpgcheck=1 -repo_gpgcheck=0 -gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg diff --git a/files/rpm-ostree/kubectl.repo b/files/rpm-ostree/kubectl.repo deleted file mode 100644 index fb52c55..0000000 --- a/files/rpm-ostree/kubectl.repo +++ /dev/null @@ -1,6 +0,0 @@ -[kubernetes] -name=Kubernetes -baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/ -enabled=1 -gpgcheck=1 -gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key diff --git a/files/rpm-ostreed-conf/rpm-ostreed.conf b/files/rpm-ostreed-conf/rpm-ostreed.conf deleted file mode 100644 index aa5106e..0000000 --- a/files/rpm-ostreed-conf/rpm-ostreed.conf +++ /dev/null @@ -1,7 +0,0 @@ -# Entries in this file show the compile time defaults. -# You can change settings by editing this file. -# For option meanings, see rpm-ostreed.conf(5). - -[Daemon] -AutomaticUpdatePolicy=stage -#IdleExitTimeout=60 diff --git a/files/yafti/share/ublue-os/firstboot/launcher/autostart.desktop b/files/yafti/share/ublue-os/firstboot/launcher/autostart.desktop deleted file mode 100644 index e72038d..0000000 --- a/files/yafti/share/ublue-os/firstboot/launcher/autostart.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=uBlue First Boot Setup -Comment=Sets up the uBlue desktop on first boot. -GenericName=Launcher -Categories=Utility;System; -Exec=/usr/share/ublue-os/firstboot/launcher/autostart.sh -Icon=application-x-executable -Terminal=false -Type=Application \ No newline at end of file diff --git a/files/yafti/share/ublue-os/firstboot/launcher/autostart.sh b/files/yafti/share/ublue-os/firstboot/launcher/autostart.sh deleted file mode 100755 index 7576023..0000000 --- a/files/yafti/share/ublue-os/firstboot/launcher/autostart.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -# Simply launches the "yafti" GUI with the uBlue image's configuration. -/usr/bin/yafti /usr/share/ublue-os/firstboot/yafti.yml diff --git a/files/yafti/share/ublue-os/firstboot/launcher/launcher-flowchart.png b/files/yafti/share/ublue-os/firstboot/launcher/launcher-flowchart.png deleted file mode 100644 index a2e6bfd..0000000 Binary files a/files/yafti/share/ublue-os/firstboot/launcher/launcher-flowchart.png and /dev/null differ diff --git a/files/yafti/share/ublue-os/firstboot/launcher/login-profile.sh b/files/yafti/share/ublue-os/firstboot/launcher/login-profile.sh deleted file mode 100644 index dc78e81..0000000 --- a/files/yafti/share/ublue-os/firstboot/launcher/login-profile.sh +++ /dev/null @@ -1,15 +0,0 @@ -# Only process users with home directories, but skip the "root" user. -if [ "$(id -u)" != "0" ] && [ ! -z "$HOME" ] && [ -d "$HOME" ]; then - # Ensure target file exists and is a symlink (not a regular file or dir). - if [ ! -L "$HOME"/.config/autostart/ublue-firstboot.desktop ]; then - # Remove any leftovers or incorrect (non-link) files with the same name. - rm -rf "$HOME"/.config/autostart/ublue-firstboot.desktop - - # Create symlink to uBlue's autostart runner. - # Note that "broken autostart symlinks" are harmless if they remain - # after distro switching, and just cause a minor syslog warning. The - # user can manually delete this file if they migrate away from uBlue. - mkdir -p "$HOME"/.config/autostart - ln -s "/usr/share/ublue-os/firstboot/launcher/autostart.desktop" "$HOME"/.config/autostart/ublue-firstboot.desktop - fi -fi diff --git a/files/yafti/share/ublue-os/firstboot/yafti.yml b/files/yafti/share/ublue-os/firstboot/yafti.yml deleted file mode 100644 index 4b68448..0000000 --- a/files/yafti/share/ublue-os/firstboot/yafti.yml +++ /dev/null @@ -1,141 +0,0 @@ -title: Welcome to Wunker OS! -properties: - mode: "run-on-change" -screens: - first-screen: - source: yafti.screen.title - values: - title: "Welcome to Wunker OS!" - icon: "/path/to/icon" - description: | - This guided installer will help you get started with your new system. - can-we-modify-your-flatpaks: - source: yafti.screen.consent - values: - title: Welcome, Traveler! - condition: - run: flatpak remotes --columns=name | grep fedora - description: | - We have detected the limited, Fedora-provided Flatpak remote on your system, whose applications are usually missing important codecs and other features. This step will therefore remove all basic Fedora Flatpaks from your system! We will instead switch all core Flatpak applications over to the vastly superior, unfiltered Flathub. If you don't want to do this, simply exit this installer. - actions: - - run: flatpak remote-delete --system --force fedora - - run: flatpak remote-delete --user --force fedora - - run: flatpak remove --system --noninteractive --all - - run: flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo - - run: flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo - check-system-flathub: - source: yafti.screen.consent - values: - title: Missing Flathub Repository (System) - condition: - run: flatpak remotes --system --columns=name | grep flathub | wc -l | grep '^0$' - description: | - We have detected that you don't have Flathub's repository on your system. We will now add that repository to your system-wide list. - actions: - - run: flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo - check-user-flathub: - source: yafti.screen.consent - values: - title: Missing Flathub Repository (User) - condition: - run: flatpak remotes --user --columns=name | grep flathub | wc -l | grep '^0$' - description: | - We have detected that you don't have Flathub's repository on your current user account. We will now add that repository to your account. - actions: - - run: flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo - applications: - source: yafti.screen.package - values: - title: Application Installer - show_terminal: true - package_manager: yafti.plugin.flatpak - package_manager_defaults: - user: true - system: false - groups: - Core GNOME Apps: - description: Core system applications for the GNOME desktop environment. - default: true - packages: - - Calculator: org.gnome.Calculator - - Calendar: org.gnome.Calendar - - Characters: org.gnome.Characters - - Cheese: org.gnome.Cheese - - Clocks: org.gnome.clocks - - Connections: org.gnome.Connections - - Contacts: org.gnome.Contacts - - Disk Usage Analyzer: org.gnome.baobab - - Document Scanner: org.gnome.SimpleScan - - Document Viewer: org.gnome.Evince - - Extension Manager: com.mattjakeman.ExtensionManager - - Font Viewer: org.gnome.font-viewer - - Image Viewer: org.gnome.eog - - Logs: org.gnome.Logs - - Maps: org.gnome.Maps - - Photos (Organizer): org.gnome.Photos - - Sushi (Nautilus Previewer): org.gnome.NautilusPreviewer - - Text Editor: org.gnome.TextEditor - - Videos (Player): org.gnome.Totem - - Weather: org.gnome.Weather - System Apps: - description: System applications for all desktop environments. - default: false - packages: - - Deja Dup Backups: org.gnome.DejaDup - - Fedora Media Writer: org.fedoraproject.MediaWriter - - Flatseal (Permission Manager): com.github.tchx84.Flatseal - - Font Downloader: org.gustavoperedo.FontDownloader - - Mozilla Firefox: org.mozilla.firefox - Web Browsers: - description: Additional browsers to complement or replace Firefox. - default: false - packages: - - Brave: com.brave.Browser - - Google Chrome: com.google.Chrome - - Microsoft Edge: com.microsoft.Edge - - Opera: com.opera.Opera - Gaming: - description: "Rock and Stone!" - default: false - packages: - - Bottles: com.usebottles.bottles - - Discord: com.discordapp.Discord - - GNOME Games: org.gnome.Games - - Heroic Games Launcher: com.heroicgameslauncher.hgl - - Steam: com.valvesoftware.Steam - - Gamescope (Utility): com.valvesoftware.Steam.Utility.gamescope - - MangoHUD (Utility): org.freedesktop.Platform.VulkanLayer.MangoHud//22.08 - - SteamTinkerLaunch (Utility): com.valvesoftware.Steam.Utility.steamtinkerlaunch - - Proton Updater for Steam: net.davidotek.pupgui2 - Office: - description: Boost your productivity. - default: false - packages: - - LibreOffice: org.libreoffice.LibreOffice - - OnlyOffice: org.onlyoffice.desktopeditors - - Obsidian: md.obsidian.Obsidian - - Slack: com.slack.Slack - - Standard Notes: org.standardnotes.standardnotes - - Thunderbird Email: org.mozilla.Thunderbird - Streaming: - description: Stream to the Internet. - default: false - packages: - - OBS Studio: com.obsproject.Studio - - VkCapture for OBS: com.obsproject.Studio.OBSVkCapture - - Gstreamer for OBS: com.obsproject.Studio.Plugin.Gstreamer - - Gstreamer VAAPI for OBS: com.obsproject.Studio.Plugin.GStreamerVaapi - - Boatswain for Streamdeck: com.feaneron.Boatswain - - final-screen: - source: yafti.screen.title - values: - title: "All done!" - icon: "/path/to/icon" - # links: - # - "Website": - # run: /usr/bin/xdg-open https://ublue.it - # - "Join the Discord Community": - # run: /usr/bin/xdg-open https://discord.gg/XjG48C7VHx - description: | - Thanks for using Wunker OS, we hope you enjoy it! diff --git a/recipes/base/common.yml b/recipes/base/common.yml index b3bb53f..862d92e 100644 --- a/recipes/base/common.yml +++ b/recipes/base/common.yml @@ -1,12 +1,29 @@ modules: - type: script + env: + CSFG: /usr/lib/systemd/system-generators/coreos-sulogin-force-generator snippets: - systemctl set-default graphical.target - - from-file: common/updates.yml - - from-file: common/bluebuild-logo.yml - - type: os-release - properties: - NAME: WunkerOS - ID: wunker_os - PRETTY_NAME: Wunker OS + # use CoreOS' generator for emergency/rescue boot + # see detail: https://github.com/ublue-os/main/issues/653 + - curl -sSLo ${CSFG} https://raw.githubusercontent.com/coreos/fedora-coreos-config/refs/heads/stable/overlay.d/05core/usr/lib/systemd/system-generators/coreos-sulogin-force-generator + - chmod +x ${CSFG} + - type: files + files: + - source: bootc-update + destination: /usr/lib/systemd/system + - type: systemd + system: + masked: + - rpm-ostreed-automatic.timer + enabled: + - bootc-fetch-apply-updates.timer + - type: copy + src: files/base/usr/share/plymouth + dest: /usr/share/plymouth + # - type: os-release + # properties: + # NAME: WunkerOS + # ID: wunker_os + # PRETTY_NAME: Wunker OS - from-file: common/post-build.yml diff --git a/recipes/common/bluebuild-logo.yml b/recipes/common/bluebuild-logo.yml deleted file mode 100644 index d5abb65..0000000 --- a/recipes/common/bluebuild-logo.yml +++ /dev/null @@ -1,13 +0,0 @@ -modules: - # - type: files - # # - type: files-update - # # source: local - # files: - # - source: bluebuild-logo - # destination: / - - type: copy - src: files/bluebuild-logo/ - dest: / - # - type: script - # scripts: - # - initramfs.sh diff --git a/recipes/common/bluebuild.yml b/recipes/common/bluebuild.yml deleted file mode 100644 index c3fe5d5..0000000 --- a/recipes/common/bluebuild.yml +++ /dev/null @@ -1,15 +0,0 @@ -stages: - - name: blue-build - from: rust - modules: - - type: containerfile - snippets: - - | - RUN cargo install blue-build --all-features --target x86_64-unknown-linux-gnu \ - && mkdir -p /out/ \ - && mv $CARGO_HOME/bin/bluebuild /out/bluebuild -modules: - - type: copy - from: blue-build - src: /out/bluebuild - dest: /usr/bin/bluebuild diff --git a/recipes/common/bootc-setup.yml b/recipes/common/bootc-setup.yml deleted file mode 100644 index f8bc1e1..0000000 --- a/recipes/common/bootc-setup.yml +++ /dev/null @@ -1,125 +0,0 @@ ---- -# yaml-language-server: $schema=https://schema.blue-build.org/module-list-v1.json -modules: - - type: dnf - install: - packages: - - dnf5-plugins - - type: dnf - repos: - files: - - https://negativo17.org/repos/fedora-multimedia.repo - copr: - - ublue-os/staging - - kylegospo/oversteer - install: - packages: - - https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-%OS_VERSION%.noarch.rpm - - https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-%OS_VERSION%.noarch.rpm - - type: script - snippets: - - dnf -y config-manager setopt 'fedora-multimedia.priority=90' - - type: dnf - install: - packages: - - mesa-libxatracker - replace: - - from-repo: fedora-multimedia - packages: - - libheif - - libva - - libva-intel-media-driver - - mesa-dri-drivers - - mesa-filesystem - - mesa-libEGL - - mesa-libGL - - mesa-libgbm - - mesa-libglapi - - mesa-libxatracker - - mesa-va-drivers - - mesa-vulkan-drivers - - libvdpau - - type: dnf - remove: - auto-remove: false - packages: - # - fdk-aac-free - # - ffmpeg-free - # - google-noto-sans-cjk-vf-fonts - # - libavcodec-free - # - libavdevice-free - # - libavfilter-free - # - libavformat-free - # - libavutil-free - # - libpostproc-free - # - libswresample-free - # - libswscale-free - # - default-fonts-cjk-sans - # - ffmpegthumbnailer - - plasma-discover-rpm-ostree - install: - packages: - - alsa-firmware - # - android-udev-rules - - apr - - apr-util - - distrobox - - ffmpeg - - ffmpeg-libs - - ffmpegthumbnailer - - flatpak-spawn - - fuse - - fzf - - google-noto-sans-balinese-fonts - - google-noto-sans-cjk-fonts - - google-noto-sans-javanese-fonts - - google-noto-sans-sundanese-fonts - - grub2-tools-extra - - heif-pixbuf-loader - - htop - - intel-vaapi-driver - - just - - kernel-tools - - libcamera - - libcamera-tools - - libcamera-gstreamer - - libcamera-ipa - - libfdk-aac - - libratbag-ratbagd - - libva-utils - - lshw - - net-tools - - nvme-cli - - nvtop - - openrgb-udev-rules - - openssl - - oversteer-udev - - pam-u2f - - pam_yubico - - pamu2fcfg - - pipewire-libs-extra - - pipewire-plugin-libcamera - - powerstat - - smartmontools - - solaar-udev - - squashfs-tools - - symlinks - - tcpdump - - tmux - - traceroute - - vim - - wireguard-tools - - wl-clipboard - - yubikey-manager - - zstd - - icoutils - - kate - - kio-admin - - ksshaskpass - - kf6-kimageformats - - qt6-qtimageformats - - type: containerfile - snippets: - - | - RUN --mount=type=bind,from=ghcr.io/ublue-os/config,src=/rpms,dst=/tmp/rpms \ - ls -lh /tmp/rpms/ && dnf -y install /tmp/rpms/ublue-os-luks.noarch.rpm && ostree container commit diff --git a/recipes/common/dev-packages.yml b/recipes/common/dev-packages.yml index 30e0e35..8a65e58 100644 --- a/recipes/common/dev-packages.yml +++ b/recipes/common/dev-packages.yml @@ -9,6 +9,10 @@ modules: - google-cloud-sdk.repo - https://cli.github.com/packages/rpm/gh-cli.repo - https://rpm.releases.hashicorp.com/fedora/hashicorp.repo + # copr: + # - name: ublue-os/packages + # chroot: fedora-42-x86_64 + nonfree: negativo17 group-install: packages: - development-tools @@ -48,7 +52,7 @@ modules: - tofu - terraform - terraform-ls - - android-udev-rules + - android-tools - argon2 - type: script scripts: diff --git a/recipes/common/jp-common.yml b/recipes/common/jp-common.yml index e7e64f9..aa2fe15 100644 --- a/recipes/common/jp-common.yml +++ b/recipes/common/jp-common.yml @@ -2,13 +2,11 @@ # yaml-language-server: $schema=https://schema.blue-build.org/module-list-v1.json modules: - from-file: common/common.yml - - from-file: common/cosmic.yml - from-file: common/pipewire-tweaks.yml - from-file: common/jp-packages.yml - from-file: common/gaming.yml - from-file: common/dev-packages.yml - from-file: common/dev-apps.yml - - from-file: common/updates.yml - type: files files: - source: distrobox @@ -20,5 +18,4 @@ modules: nerd-fonts: - JetBrainsMono - NerdFontsSymbolsOnly - - from-file: common/bluebuild-logo.yml - from-file: common/jp-chezmoi.yml diff --git a/recipes/common/remove-firefox.yml b/recipes/common/remove-firefox.yml deleted file mode 100644 index ef71955..0000000 --- a/recipes/common/remove-firefox.yml +++ /dev/null @@ -1,4 +0,0 @@ -type: rpm-ostree -remove: - - firefox - - firefox-langpacks diff --git a/recipes/common/sway.yml b/recipes/common/sway.yml deleted file mode 100644 index 061995a..0000000 --- a/recipes/common/sway.yml +++ /dev/null @@ -1,22 +0,0 @@ -modules: - - type: dnf - install: - packages: - - sway - - wofi - - light - - swaybg - - swayidle - - waybar - - mako - - fontawesome-fonts - - type: dnf - repos: - copr: - - eddsalkield/swaylock-effects - remove: - packages: - - swaylock - install: - packages: - - swaylock-effects diff --git a/recipes/common/wke.yml b/recipes/common/wke.yml index f816952..ed2b61d 100644 --- a/recipes/common/wke.yml +++ b/recipes/common/wke.yml @@ -1,7 +1,6 @@ modules: - from-file: common/common.yml - from-file: common/updates.yml - - from-file: common/bluebuild-logo.yml - from-file: common/jp-chezmoi.yml - type: dnf repos: diff --git a/recipes/cp-laptop.yml b/recipes/cp-laptop.yml index 0932eb1..59d1110 100644 --- a/recipes/cp-laptop.yml +++ b/recipes/cp-laptop.yml @@ -27,5 +27,7 @@ modules: - libreoffice - from-file: common/ms-fonts.yml - from-file: common/updates.yml - - from-file: common/bluebuild-logo.yml + - type: copy + src: files/base/usr/share/plymouth + dest: /usr/share/plymouth - from-file: common/post-build.yml diff --git a/recipes/jp-desktop-nvidia.yml b/recipes/jp-desktop-nvidia.yml index 7af7bb3..4593152 100644 --- a/recipes/jp-desktop-nvidia.yml +++ b/recipes/jp-desktop-nvidia.yml @@ -1,11 +1,13 @@ --- # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json name: jp-desktop-nvidia -# base-image: ghcr.io/ublue-os/base-nvidia -# image-version: latest -base-image: ghcr.io/ublue-os/bazzite-nvidia-open -# image-version: stable -image-version: "42.20250828.1" +# Bazzite +# base-image: ghcr.io/ublue-os/bazzite-nvidia-open +# image-version: "42.20250828.1" + +# Custom Base +base-image: registry.gitlab.com/wunker-bunker/wunker-os/cosmic-nvidia +image-version: 42 description: The image of Wunker OS for JP's desktop gaming. blue-build-tag: none nushell-version: none diff --git a/recipes/jp-laptop.yml b/recipes/jp-laptop.yml index 00cdc2a..b28c49d 100644 --- a/recipes/jp-laptop.yml +++ b/recipes/jp-laptop.yml @@ -1,10 +1,10 @@ --- # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json name: jp-laptop -# base-image: ghcr.io/ublue-os/kinoite-main -base-image: ghcr.io/ublue-os/bazzite -# image-version: stable -image-version: "42.20250828" +# base-image: ghcr.io/ublue-os/bazzite +# image-version: "42.20250828" +base-image: registry.gitlab.com/wunker-bunker/wunker-os/cosmic +image-version: 42 description: The image of Wunker OS for JP's Laptop. stages: - from-file: common/helix.yml