diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f5914bb..ccb24fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,8 +4,8 @@ on: branches: - lapis paths: - - 'kickstarts/**' - - '!kickstarts/docker/**' + - "kickstarts/**" + - "!kickstarts/docker/**" workflow_dispatch: jobs: @@ -23,10 +23,18 @@ jobs: - pantheon - plasma container: - image: fedora:37 + image: fedora:38 options: --cap-add=SYS_ADMIN --privileged steps: + - name: Fix /dev + run: | + # https://github.com/marmarek/qubes-builderv2/commit/de097a67da3bcfcf25516b7ac8eea423ecb3a0e8 + # docker has tmpfs on /dev with copied content from host, it doesn't update + # when loop0p3 shows up; mount devmpfs to avoid this issue + if [ "$(df -T /dev | tail -1 |cut -f 1 -d ' ')" = "tmpfs" ]; then + mount -t devtmpfs none /dev + fi - name: Checkout uses: actions/checkout@v3 with: @@ -34,7 +42,7 @@ jobs: - name: Install repositories run: | sudo dnf install -y dnf-plugins-core - sudo dnf config-manager --add-repo https://github.com/andaman-common-pkgs/subatomic-repos/raw/main/terra37.repo + sudo dnf config-manager --add-repo https://github.com/andaman-common-pkgs/subatomic-repos/raw/main/terra38.repo sudo dnf install -y lorax-lmc-novirt pykickstart make - name: Build ISO run: | @@ -45,3 +53,31 @@ jobs: with: name: ${{ matrix.variant }}-${{ matrix.arch }} path: build/ + deployment: + runs-on: ubuntu-latest + environment: production + needs: build + steps: + - uses: actions/download-artifact@v3 + - name: Prepare images directory + run: | + mkdir -p images + variants=(budgie gnome pantheon plasma) + archs=(x86_64 aarch64) + + for variant in "${variants[@]}"; do + for arch in "${archs[@]}"; do + name=$([ "$variant" == "budgie" ] && echo "flagship" || echo "$variant") + mv ${variant}-${arch}/image/*.iso images/ultramarine-${name}-${arch}.iso + sha256sum images/ultramarine-${name}-${arch}.iso > images/ultramarine-${name}-${arch}.iso.sha256sum + done + done + - name: Upload to R2 + uses: shallwefootball/s3-upload-action@master + with: + endpoint: ${{ secrets.S3_ENDPOINT }} + aws_key_id: ${{ secrets.S3_KEY_ID }} + aws_secret_access_key: ${{ secrets.S3_SECRET_KEY }} + aws_bucket: "images" + source_dir: "images" + destination_dir: isos/ultramarine/38/ diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 978c1f5..618898f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -2,7 +2,7 @@ name: Docker Image on: push: branches: - - lapis + - um38 paths: - kickstarts/docker/** workflow_dispatch: @@ -20,7 +20,7 @@ jobs: - docker-minimal runs-on: ${{ matrix.runner }} container: - image: fedora:37 + image: fedora:38 options: --cap-add=SYS_ADMIN --privileged services: @@ -38,7 +38,7 @@ jobs: - name: Install repositories run: | sudo dnf install -y dnf-plugins-core - sudo dnf config-manager --add-repo https://github.com/andaman-common-pkgs/subatomic-repos/raw/main/terra37.repo + sudo dnf config-manager --add-repo https://github.com/andaman-common-pkgs/subatomic-repos/raw/main/terra38.repo sudo dnf install -y lorax-lmc-novirt pykickstart make moby-engine # upload image to ghcr.io - name: Login to ghcr.io @@ -49,11 +49,10 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build Image env: - releasever: 37 + releasever: 38 run: | ./build.sh -p ${{ matrix.variant }} - - name: Upload artifacts uses: actions/upload-artifact@v3 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 7725d03..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Release! -on: - release: - types: [created] - workflow_dispatch: -jobs: - release: - runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }} - strategy: - fail-fast: false - matrix: - arch: - - x86_64 - - aarch64 - variant: - - budgie - - gnome - - pantheon - - plasma - steps: - - uses: actions/checkout@v2 - - name: Download artifacts from build - uses: actions/download-artifact@v3 - # download artifact from last successful build - with: - name: ${{ matrix.variant }}-${{ matrix.arch }} - path: ${{ matrix.variant }}-${{ matrix.arch }} - - name: Upload artifacts to release - uses: softprops/action-gh-release@v1 - with: - files: ${{ matrix.variant }}-${{ matrix.arch }}/image/*.iso diff --git a/Earthfile b/Earthfile index 185f869..b9b4708 100644 --- a/Earthfile +++ b/Earthfile @@ -1,17 +1,17 @@ VERSION 0.6 -FROM fedora:37 +FROM fedora:38 RUN dnf install -y dnf-plugins-core -RUN dnf config-manager --add-repo https://github.com/andaman-common-pkgs/subatomic-repos/raw/main/terra37.repo +RUN dnf config-manager --add-repo https://github.com/andaman-common-pkgs/subatomic-repos/raw/main/terra38.repo RUN dnf install -y pykickstart lorax-lmc-novirt build: - + ARG --required variant COPY . . RUN --privileged ./build.sh $variant diff --git a/kickstarts/base/additional-repos.ks b/kickstarts/base/additional-repos.ks index 41bfe88..4b0de0e 100644 --- a/kickstarts/base/additional-repos.ks +++ b/kickstarts/base/additional-repos.ks @@ -24,6 +24,8 @@ gstreamer1-libav gstreamer1-vaapi gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly +gstreamer1-plugin-openh264 + # Tools unrar diff --git a/kickstarts/base/desktop.ks b/kickstarts/base/desktop.ks index 2d90ad0..993d394 100644 --- a/kickstarts/base/desktop.ks +++ b/kickstarts/base/desktop.ks @@ -12,17 +12,25 @@ bash-completion bind-utils btrfs-progs psmisc + # Multimedia @multimedia +@sound-and-video + libva-vdpau-driver libvdpau-va-gl + mesa-*-drivers --mesa-full* -xorg-x11-drivers -#akmod-nvidia # NVIDIA drivers because nouveau isnt loading for some reason +-mesa-va-drivers +mesa-va-drivers-freeworld +-mesa-vdpau-drivers +mesa-vdpau-drivers-freeworld +xorg-x11-drivers xorg-x11-drv-nouveau -procps-ng + +nvidia-vaapi-driver +#akmod-nvidia # NVIDIA drivers because nouveau isnt loading for some reason # Fonts google-noto-sans-fonts @@ -44,7 +52,8 @@ firewall-config # Internet firefox -fedora-bookmarks -#mozilla-openh264 +mozilla-openh264 + # Software PackageKit PackageKit-gstreamer-plugin @@ -58,9 +67,9 @@ flatpak-selinux-fix # System rpm-plugin-systemd-inhibit +system76-scheduler # Tools -blivet-gui # Storage management exfatprogs htop rsync diff --git a/kickstarts/spins/budgie/budgie-base.ks b/kickstarts/spins/budgie/budgie-base.ks index 6a8c425..0cccfbf 100644 --- a/kickstarts/spins/budgie/budgie-base.ks +++ b/kickstarts/spins/budgie/budgie-base.ks @@ -17,6 +17,9 @@ sed -i 's/^#user-session=.*/user-session=budgie-desktop/' /etc/lightdm/lightdm.c # set the default wallpaper mkdir -p /home/liveuser/.local/share/applications +# Update installer icon +sed -i -e 's/Icon=org.fedoraproject.AnacondaInstaller/Icon=drive-harddisk/' /usr/share/applications/liveinst.desktop + # Show harddisk install on the desktop sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop mkdir /home/liveuser/Desktop @@ -25,6 +28,9 @@ cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop # and mark it as executable chmod +x /home/liveuser/Desktop/liveinst.desktop +# allow anaconda to use system icon theme +sed -i -e 's/settings.set_property("gtk-icon-theme-name", "Adwaita")//' /usr/lib64/python3.11/site-packages/pyanaconda/ui/gui/__init__.py + # this goes at the end after all other changes. chown -R liveuser:liveuser /home/liveuser restorecon -R /home/liveuser diff --git a/kickstarts/spins/budgie/budgie-packages.ks b/kickstarts/spins/budgie/budgie-packages.ks index 96c9f69..d2f5e4a 100644 --- a/kickstarts/spins/budgie/budgie-packages.ks +++ b/kickstarts/spins/budgie/budgie-packages.ks @@ -22,6 +22,7 @@ gnome-terminal-nautilus gnome-system-monitor -totem clapper +-gedit gnome-text-editor file-roller evince @@ -54,7 +55,8 @@ budgie-extras budgie-extras-daemon budgie-desktop-view gnome-backgrounds -#funny theme +# Don't pull in Fedora's defaults +-budgie-desktop-defaults -%end \ No newline at end of file +%end diff --git a/kickstarts/spins/gnome/gnome-base.ks b/kickstarts/spins/gnome/gnome-base.ks index ca40029..d6b13cf 100644 --- a/kickstarts/spins/gnome/gnome-base.ks +++ b/kickstarts/spins/gnome/gnome-base.ks @@ -10,6 +10,7 @@ # set livesys session type sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys sed -i 's/Fedora/Ultramarine/g' /usr/share/anaconda/gnome/fedora-welcome -sed -i 's/Fedora/Ultramarine/g' /usr/share/applications/fedora-welcome.desktop +sed -i 's/Fedora/Ultramarine/g' /usr/share/applications/org.fedoraproject.welcome-screen.desktop +sed -i 's/Fedora/Ultramarine/g' /usr/share/anaconda/gnome/org.fedoraproject.welcome-screen.desktop %end diff --git a/kickstarts/spins/gnome/gnome-packages.ks b/kickstarts/spins/gnome/gnome-packages.ks index d8e4cd9..665eda3 100644 --- a/kickstarts/spins/gnome/gnome-packages.ks +++ b/kickstarts/spins/gnome/gnome-packages.ks @@ -29,7 +29,7 @@ clapper @^workstation-product-environment -gedit gnome-text-editor -gnome-console +-gnome-console # See https://github.com/Ultramarine-Linux/ultramarine/issues/14#issuecomment-1417100074 # Extra ricing gnome-extensions-app @@ -45,4 +45,4 @@ ultramarine-gnome-filesystem -%end \ No newline at end of file +%end diff --git a/kickstarts/spins/pantheon/pantheon-base.ks b/kickstarts/spins/pantheon/pantheon-base.ks index fb5a422..0319a67 100644 --- a/kickstarts/spins/pantheon/pantheon-base.ks +++ b/kickstarts/spins/pantheon/pantheon-base.ks @@ -21,6 +21,7 @@ sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/li sed -i 's/^#user-session=.*/user-session=pantheon/' /etc/lightdm/lightdm.conf # set the default wallpaper +gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/ultramarine-linux/tortuga-light.png mkdir -p /home/liveuser/.local/share/applications # Show harddisk install on the desktop @@ -31,6 +32,9 @@ cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop # and mark it as executable chmod +x /home/liveuser/Desktop/liveinst.desktop +# allow anaconda to use system icon theme +sed -i -e 's/settings.set_property("gtk-icon-theme-name", "Adwaita")//' /usr/lib64/python3.11/site-packages/pyanaconda/ui/gui/__init__.py + # this goes at the end after all other changes. chown -R liveuser:liveuser /home/liveuser restorecon -R /home/liveuser diff --git a/kickstarts/spins/plasma/plasma-base.ks b/kickstarts/spins/plasma/plasma-base.ks index 89ce1a2..b33b888 100644 --- a/kickstarts/spins/plasma/plasma-base.ks +++ b/kickstarts/spins/plasma/plasma-base.ks @@ -90,19 +90,6 @@ AutomountOnLogin=false AutomountOnPlugin=false AUTOMOUNTER_EOF -# Copy latte dock config -echo "Copying latte dock config" -mkdir -p /home/liveuser/.config/ -cp -av /etc/skel/.config/lattedockrc /home/liveuser/.config/lattedockrc - -# copy latte startup file -cp -av /etc/xdg/autostart/org.kde.latte-dock.desktop /home/liveuser/.config/autostart/ - -# Make it use the Ultramarine layout -sed -i 's/Exec=.*/Exec=/usr/bin/latte-dock --layout=Ultramarine/' /home/liveuser/.config/autostart/org.kde.latte-dock.desktop - - - # make sure to set the right permissions and selinux contexts chown -R liveuser:liveuser /home/liveuser/ restorecon -R /home/liveuser/