diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4ce1cf4..054fa73 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,272 +1,164 @@ -name: Build Quantix -on: - schedule: - - cron: '30 17 * * 1,3,5' # 17:30 Monday/Wednesday/Friday - pull_request: - branches: - - testing - paths-ignore: - - '**.md' - - '**.txt' - - 'repo_content/**' - push: - branches: - - testing - paths-ignore: - - '**.md' - - '**.txt' - - 'repo_content/**' - merge_group: - workflow_dispatch: -env: - BASE_IMAGE_REGISTRY: ghcr.io/ublue-os - BASE_IMAGE_NAME: kinoite - BASE_IMAGE_FLAVOR: main - IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} - FEDORA_VERSION: 40 - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - push-ghcr: - name: Build - runs-on: ubuntu-24.04 - continue-on-error: false - permissions: - contents: read - packages: write - id-token: write - strategy: - fail-fast: false - matrix: - base_name: [quantix, quantix-nvidia] - include: - - is_latest_version: true - is_stable_version: true - kernel_flavor: fsync # must match a kernel_flavor from akmods repo - steps: - - name: Define env.IMAGE_FLAVOR - run: | - if [[ "${{ matrix.base_name }}" == "quantix-nvidia" ]]; then - echo "IMAGE_FLAVOR=nvidia" >> $GITHUB_ENV - else - echo "IMAGE_FLAVOR=${{ env.BASE_IMAGE_FLAVOR }}" >> $GITHUB_ENV - fi - - - name: Define env.IMAGE_NAME - run: | - if [[ "${{ env.IMAGE_FLAVOR }}" == "main" ]]; then - echo "IMAGE_NAME=${{ format('{0}', 'quantix') }}" >> $GITHUB_ENV - else - echo "IMAGE_NAME=${{ format('{0}-{1}', 'quantix', env.IMAGE_FLAVOR) }}" >> $GITHUB_ENV - fi - - - name: Verify main image - uses: EyeCantCU/cosign-action/verify@v0.2.2 - with: - containers: ${{ env.BASE_IMAGE_NAME }}-${{ env.IMAGE_FLAVOR }}:${{ env.FEDORA_VERSION }} - pubkey: https://raw.githubusercontent.com/ublue-os/${{ env.IMAGE_FLAVOR }}/main/cosign.pub - registry: ${{ env.BASE_IMAGE_REGISTRY }} - - - name: Verify akmods image - uses: EyeCantCU/cosign-action/verify@v0.2.2 - with: - containers: akmods:${{ matrix.kernel_flavor}}-${{ env.FEDORA_VERSION }} - pubkey: https://raw.githubusercontent.com/ublue-os/akmods/main/cosign.pub - registry: ${{ env.BASE_IMAGE_REGISTRY }} - - - name: Verify akmods-extra image - uses: EyeCantCU/cosign-action/verify@v0.2.2 - with: - containers: akmods-extra:${{ matrix.kernel_flavor}}-${{ env.FEDORA_VERSION }} - pubkey: https://raw.githubusercontent.com/ublue-os/akmods/main/cosign.pub - registry: ${{ env.BASE_IMAGE_REGISTRY }} - - - name: Verify akmods-nvidia image - uses: EyeCantCU/cosign-action/verify@v0.2.2 - with: - containers: akmods-nvidia:${{ matrix.kernel_flavor}}-${{ env.FEDORA_VERSION }} - pubkey: https://raw.githubusercontent.com/ublue-os/akmods/main/cosign.pub - registry: ${{ env.BASE_IMAGE_REGISTRY }} - - # Checkout push-to-registry action GitHub repository - - name: Checkout Push to Registry action - uses: actions/checkout@v4 - - - name: Maximize build space - uses: ublue-os/remove-unwanted-software@v7 - - - name: Generate tags - id: generate-tags - shell: bash - run: | - # Generate a timestamp for creating an image version history - TIMESTAMP="$(date +%Y%m%d)" - FEDORA_VERSION="${{ env.FEDORA_VERSION }}" - COMMIT_TAGS=() - BUILD_TAGS=() - # Have tags for tracking builds during pull request - SHA_SHORT="${GITHUB_SHA::7}" - COMMIT_TAGS+=("pr-${{ github.event.pull_request.number }}-${FEDORA_VERSION}") - COMMIT_TAGS+=("${SHA_SHORT}-${FEDORA_VERSION}") - if [[ "${{ matrix.is_latest_version }}" == "true" ]] && \ - [[ "${{ matrix.is_stable_version }}" == "true" ]]; then - COMMIT_TAGS+=("pr-${{ github.event.pull_request.number }}") - COMMIT_TAGS+=("${SHA_SHORT}") - fi - - if [[ ${{ github.ref_name }} == "testing" ]]; then - BUILD_TAGS=("${FEDORA_VERSION}-testing" "${FEDORA_VERSION}-testing-${TIMESTAMP}") - if [[ "${{ matrix.is_latest_version }}" == "true" ]] && \ - [[ "${{ matrix.is_stable_version }}" == "true" ]]; then - BUILD_TAGS+=("testing") - echo "DEFAULT_TAG=testing" >> $GITHUB_ENV - fi - else - BUILD_TAGS=("${FEDORA_VERSION}" "${FEDORA_VERSION}-${TIMESTAMP}") - BUILD_TAGS+=("${FEDORA_VERSION}-stable" "${FEDORA_VERSION}-stable-${TIMESTAMP}") - if [[ "${{ matrix.is_latest_version }}" == "true" ]] && \ - [[ "${{ matrix.is_stable_version }}" == "true" ]]; then - BUILD_TAGS+=("latest" "stable") - echo "DEFAULT_TAG=latest" >> $GITHUB_ENV - fi - fi - - if [[ "${{ github.event_name }}" == "pull_request" ]]; then - echo "Generated the following commit tags: " - for TAG in "${COMMIT_TAGS[@]}"; do - echo "${TAG}" - done - alias_tags=("${COMMIT_TAGS[@]}") - else - alias_tags=("${BUILD_TAGS[@]}") - fi - echo "Generated the following build tags: " - for TAG in "${BUILD_TAGS[@]}"; do - echo "${TAG}" - done - echo "alias_tags=${alias_tags[*]}" >> $GITHUB_OUTPUT - - - name: Pull main and akmods images - uses: Wandalen/wretry.action@v3.5.0 - with: - attempt_limit: 3 - attempt_delay: 15000 - command: | - # pull the base images used for FROM in Containerfile so - # we can retry on that unfortunately common failure case - podman pull ${{ env.BASE_IMAGE_REGISTRY }}/${{ env.BASE_IMAGE_NAME }}-${{ env.BASE_IMAGE_FLAVOR }}:${{ env.FEDORA_VERSION }} - podman pull ${{ env.BASE_IMAGE_REGISTRY }}/akmods:${{ matrix.kernel_flavor}}-${{ env.FEDORA_VERSION }} - podman pull ${{ env.BASE_IMAGE_REGISTRY }}/akmods-extra:${{ matrix.kernel_flavor}}-${{ env.FEDORA_VERSION }} - podman pull ${{ env.BASE_IMAGE_REGISTRY }}/akmods-nvidia:${{ matrix.kernel_flavor}}-${{ env.FEDORA_VERSION }} - - - name: Get source versions - id: labels - uses: Wandalen/wretry.action@v3.5.0 - with: - attempt_limit: 3 - attempt_delay: 15000 - command: | - set -eo pipefail - skopeo inspect docker://${{ env.BASE_IMAGE_REGISTRY }}/${{ env.BASE_IMAGE_NAME }}-${{ env.BASE_IMAGE_FLAVOR }}:${{ env.FEDORA_VERSION }} > source.json - ver=$(jq -r '.Labels["org.opencontainers.image.version"]' source.json) - if [ -z "$ver" ] || [ "null" = "$ver" ]; then - echo "inspected image version must not be empty or null" - exit 1 +--- + name: build-isengard + on: + pull_request: + branches: + - main + schedule: + - cron: '05 10 * * *' # 10:05am UTC everyday + push: + branches: + - main + paths-ignore: + - '**.md' + - '**.txt' + workflow_dispatch: + + env: + IMAGE_NAME: "quantix" + ARG_BASE_IMAGE_NAME: "bazzite" + IMAGE_BRANCH: "stable" + IMAGE_REGISTRY: "ghcr.io/${{ github.repository_owner }}" + + jobs: + push-ghcr: + name: Build and push image + runs-on: ubuntu-24.04 + continue-on-error: false + permissions: + contents: read + packages: write + id-token: write + + steps: + # Checkout push-to-registry action GitHub repository + - name: Checkout Push to Registry action + uses: actions/checkout@v4 + + - name: Generate tags + id: generate-tags + shell: bash + run: | + # Generate a timestamp for creating an image version history + TIMESTAMP="$(date +%Y%m%d)" + VARIANT="${{ env.IMAGE_BRANCH }}" + + COMMIT_TAGS=() + BUILD_TAGS=() + + # Have tags for tracking builds during pull request + SHA_SHORT="${GITHUB_SHA::7}" + COMMIT_TAGS+=("pr-${{ github.event.number }}-${VARIANT}") + COMMIT_TAGS+=("${SHA_SHORT}-${VARIANT}") + + COMMIT_TAGS+=("pr-${{ github.event.number }}") + COMMIT_TAGS+=("${SHA_SHORT}") + + BUILD_TAGS=("${VARIANT}") + + # Append matching timestamp tags to keep a version history + for TAG in "${BUILD_TAGS[@]}"; do + BUILD_TAGS+=("${TAG}-${TIMESTAMP}") + done + + BUILD_TAGS+=("${TIMESTAMP}") + BUILD_TAGS+=("latest") + + if [[ "${{ github.event_name }}" == "pull_request" ]]; then + echo "Generated the following commit tags: " + for TAG in "${COMMIT_TAGS[@]}"; do + echo "${TAG}" + done + + alias_tags=("${COMMIT_TAGS[@]}") + else + alias_tags=("${BUILD_TAGS[@]}") fi - echo "SOURCE_IMAGE_VERSION=$ver" >> $GITHUB_ENV - - skopeo inspect docker://${{ env.BASE_IMAGE_REGISTRY }}/akmods:${{ matrix.kernel_flavor }}-${{ env.FEDORA_VERSION }} > akmods.json - linux=$(jq -r '.Labels["ostree.linux"]' akmods.json) - if [ -z "$linux" ] || [ "null" = "$linux" ]; then - echo "inspected image linux version must not be empty or null" - exit 1 - fi - echo "KERNEL_VERSION=$linux" >> $GITHUB_ENV - - # Build metadata - - name: Image Metadata - uses: docker/metadata-action@v5 - id: meta - with: - images: | - ${{ env.IMAGE_NAME }} - labels: | - org.opencontainers.image.title=${{ env.IMAGE_NAME }} - org.opencontainers.image.description=Modified version of Bazzite by EpicOfficer. - org.opencontainers.image.version=${{ env.SOURCE_IMAGE_VERSION }} - ostree.linux=${{ env.KERNEL_VERSION }} - - # Build image using Buildah action - - name: Build Image - id: build_image - uses: redhat-actions/buildah-build@v2 - with: - containerfiles: | - ./Containerfile - image: ${{ env.IMAGE_NAME }} - tags: | - ${{ steps.generate-tags.outputs.alias_tags }} - build-args: | - IMAGE_NAME=${{ env.IMAGE_NAME }} - IMAGE_FLAVOR=${{ env.IMAGE_FLAVOR }} - IMAGE_VENDOR=${{ github.repository_owner }} - BASE_IMAGE_NAME=${{ env.BASE_IMAGE_NAME }} - BASE_IMAGE_FLAVOR=${{ env.BASE_IMAGE_FLAVOR }} - FEDORA_VERSION=${{ env.FEDORA_VERSION }} - KERNEL_FLAVOR=${{ matrix.kernel_flavor }} - IMAGE_BRANCH=${{ github.ref_name }} - labels: ${{ steps.meta.outputs.labels }} - oci: false - extra-args: | - --target=${{ matrix.base_name }} - - # Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR. - # https://github.com/macbre/push-to-ghcr/issues/12 - - name: Lowercase Registry - id: registry_case - uses: ASzc/change-string-case-action@v6 - with: - string: ${{ env.IMAGE_REGISTRY }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Push Image to GHCR - uses: redhat-actions/push-to-registry@v2 - id: push - env: - REGISTRY_USER: ${{ github.actor }} - REGISTRY_PASSWORD: ${{ github.token }} - with: - image: ${{ steps.build_image.outputs.image }} - tags: ${{ steps.build_image.outputs.tags }} - registry: ${{ steps.registry_case.outputs.lowercase }} - username: ${{ env.REGISTRY_USER }} - password: ${{ env.REGISTRY_PASSWORD }} - extra-args: | - --disable-content-trust - - # Sign container - - uses: sigstore/cosign-installer@v3.5.0 - if: github.event_name != 'pull_request' - - - name: Sign container image - if: github.event_name != 'pull_request' - run: | - cosign sign -y --key env://COSIGN_PRIVATE_KEY ${{ steps.registry_case.outputs.lowercase }}/${{ steps.build_image.outputs.image }}@${TAGS} - env: - TAGS: ${{ steps.push.outputs.digest }} - COSIGN_EXPERIMENTAL: false - COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} - - - name: Echo outputs - if: github.event_name != 'pull_request' - run: | - echo "${{ toJSON(steps.push.outputs) }}" \ No newline at end of file + + echo "Generated the following build tags: " + for TAG in "${BUILD_TAGS[@]}"; do + echo "${TAG}" + done + + echo "alias_tags=${alias_tags[*]}" >> $GITHUB_OUTPUT + + - name: Get current version + id: labels + run: | + ver=$(skopeo inspect docker://ghcr.io/ublue-os/${{ env.ARG_BASE_IMAGE_NAME }}:${{ env.IMAGE_BRANCH }} | jq -r '.Labels["org.opencontainers.image.version"]') + echo "VERSION=$ver" >> $GITHUB_OUTPUT + + # Build metadata + - name: Image Metadata + uses: docker/metadata-action@v5 + id: meta + with: + images: | + ${{ env.IMAGE_NAME }} + + labels: | + io.artifacthub.package.readme-url=https://raw.githubusercontent.com/${{ github.repository }}/main/README.md + org.opencontainers.image.description=Customized ${{ env.ARG_BASE_IMAGE_NAME }} image that includes additional features for developers and system administrators. + org.opencontainers.image.title=${{ env.IMAGE_NAME }} + org.opencontainers.image.version=${{ steps.labels.outputs.VERSION }} + + # Build image using Buildah action + - name: Build Image + id: build_image + uses: redhat-actions/buildah-build@v2 + with: + containerfiles: | + ./Containerfile + # Postfix image name with -custom to make it a little more descriptive + # Syntax: https://docs.github.com/en/actions/learn-github-actions/expressions#format + image: ${{ env.IMAGE_NAME }} + tags: | + ${{ steps.generate-tags.outputs.alias_tags }} + build-args: | + BASE_IMAGE_NAME=${{ env.ARG_BASE_IMAGE_NAME }} + IMAGE_TAG=${{ env.IMAGE_BRANCH }} + labels: ${{ steps.meta.outputs.labels }} + oci: false + + # Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR. + # https://github.com/macbre/push-to-ghcr/issues/12 + - name: Lowercase Registry + id: registry_case + uses: ASzc/change-string-case-action@v6 + with: + string: ${{ env.IMAGE_REGISTRY }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + # Push the image to GHCR (Image Registry) + - name: Push To GHCR + uses: redhat-actions/push-to-registry@v2 + id: push + env: + REGISTRY_USER: ${{ github.actor }} + REGISTRY_PASSWORD: ${{ github.token }} + with: + image: ${{ steps.build_image.outputs.image }} + tags: ${{ steps.build_image.outputs.tags }} + registry: ${{ steps.registry_case.outputs.lowercase }} + username: ${{ env.REGISTRY_USER }} + password: ${{ env.REGISTRY_PASSWORD }} + extra-args: | + --disable-content-trust + + # Sign container + - uses: sigstore/cosign-installer@v3.5.0 + + - name: Sign container image + shell: bash + run: | + cosign sign -y --key env://COSIGN_PRIVATE_KEY ${{ steps.registry_case.outputs.lowercase }}/${{ steps.build_image.outputs.image }}@${TAGS} + env: + TAGS: ${{ steps.push.outputs.digest }} + COSIGN_EXPERIMENTAL: false + COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} \ No newline at end of file diff --git a/Containerfile b/Containerfile index a95fcc8..c2215b7 100644 --- a/Containerfile +++ b/Containerfile @@ -1,252 +1,24 @@ -ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME:-kinoite}" -ARG BASE_IMAGE_FLAVOR="${BASE_IMAGE_FLAVOR:-main}" -ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-main}" -ARG KERNEL_FLAVOR="${KERNEL_FLAVOR:-fsync}" -ARG IMAGE_BRANCH="${IMAGE_BRANCH:-main}" -ARG SOURCE_IMAGE="${SOURCE_IMAGE:-$BASE_IMAGE_NAME-$BASE_IMAGE_FLAVOR}" -ARG BASE_IMAGE="ghcr.io/ublue-os/${SOURCE_IMAGE}" -ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-40}" - -FROM ghcr.io/ublue-os/akmods:${KERNEL_FLAVOR}-${FEDORA_MAJOR_VERSION} as akmods -FROM ghcr.io/ublue-os/akmods-extra:${KERNEL_FLAVOR}-${FEDORA_MAJOR_VERSION} as akmods-extra - -FROM ${BASE_IMAGE}:${FEDORA_MAJOR_VERSION} AS quantix +FROM ghcr.io/ublue-os/bazzite:stable AS quantix +ARG BASE_IMAGE_NAME="bazzite" ARG IMAGE_NAME="${IMAGE_NAME:-quantix}" ARG IMAGE_VENDOR="${IMAGE_VENDOR:-epicofficer}" ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-main}" -ARG KERNEL_FLAVOR="${KERNEL_FLAVOR:-fsync}" -ARG IMAGE_BRANCH="${IMAGE_BRANCH:-main}" -ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME:-kinoite}" -ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-40}" +ARG IMAGE_BRANCH="${IMAGE_BRANCH:-stable}" +ARG FEDORA_MAJOR_VERSION=40 COPY system_files/shared / -# Setup Copr repos -RUN curl -Lo /usr/bin/copr https://raw.githubusercontent.com/ublue-os/COPR-command/main/copr && \ - chmod +x /usr/bin/copr && \ - curl -Lo /etc/yum.repos.d/_copr_kylegospo-bazzite.repo https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-bazzite-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_kylegospo-bazzite-multilib.repo https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite-multilib/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-bazzite-multilib-fedora-"${FEDORA_MAJOR_VERSION}".repo?arch=x86_64 && \ - curl -Lo /etc/yum.repos.d/_copr_ublue-os-staging.repo https://copr.fedorainfracloud.org/coprs/ublue-os/staging/repo/fedora-"${FEDORA_MAJOR_VERSION}"/ublue-os-staging-fedora-"${FEDORA_MAJOR_VERSION}".repo?arch=x86_64 && \ - curl -Lo /etc/yum.repos.d/_copr_kylegospo-system76-scheduler.repo https://copr.fedorainfracloud.org/coprs/kylegospo/system76-scheduler/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-system76-scheduler-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_kylegospo-latencyflex.repo https://copr.fedorainfracloud.org/coprs/kylegospo/LatencyFleX/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-LatencyFleX-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_kylegospo-obs-vkcapture.repo https://copr.fedorainfracloud.org/coprs/kylegospo/obs-vkcapture/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-obs-vkcapture-fedora-"${FEDORA_MAJOR_VERSION}".repo?arch=x86_64 && \ - curl -Lo /etc/yum.repos.d/_copr_ycollet-audinux.repo https://copr.fedorainfracloud.org/coprs/ycollet/audinux/repo/fedora-"${FEDORA_MAJOR_VERSION}"/ycollet-audinux-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_kylegospo-rom-properties.repo https://copr.fedorainfracloud.org/coprs/kylegospo/rom-properties/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-rom-properties-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_kylegospo-webapp-manager.repo https://copr.fedorainfracloud.org/coprs/kylegospo/webapp-manager/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-webapp-manager-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_hhd-dev-hhd.repo https://copr.fedorainfracloud.org/coprs/hhd-dev/hhd/repo/fedora-"${FEDORA_MAJOR_VERSION}"/hhd-dev-hhd-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_che-nerd-fonts.repo https://copr.fedorainfracloud.org/coprs/che/nerd-fonts/repo/fedora-"${FEDORA_MAJOR_VERSION}"/che-nerd-fonts-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_sentry-switcheroo-control_discrete.repo https://copr.fedorainfracloud.org/coprs/sentry/switcheroo-control_discrete/repo/fedora-"${FEDORA_MAJOR_VERSION}"/sentry-switcheroo-control_discrete-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_hikariknight-looking-glass-kvmfr.repo https://copr.fedorainfracloud.org/coprs/hikariknight/looking-glass-kvmfr/repo/fedora-"${FEDORA_MAJOR_VERSION}"/hikariknight-looking-glass-kvmfr-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_matte-schwartz-sunshine.repo https://copr.fedorainfracloud.org/coprs/matte-schwartz/sunshine/repo/fedora-"${FEDORA_MAJOR_VERSION}"/matte-schwartz-sunshine-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_rok-cdemu.repo https://copr.fedorainfracloud.org/coprs/rok/cdemu/repo/fedora-"${FEDORA_MAJOR_VERSION}"/rok-cdemu-fedora-"${FEDORA_MAJOR_VERSION}".rep && \ - curl -Lo /etc/yum.repos.d/_copr_rodoma92-kde-cdemu-manager.repo https://copr.fedorainfracloud.org/coprs/rodoma92/kde-cdemu-manager/repo/fedora-"${FEDORA_MAJOR_VERSION}"/rodoma92-kde-cdemu-manager-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/_copr_rodoma92-rmlint.repo https://copr.fedorainfracloud.org/coprs/rodoma92/rmlint/repo/fedora-"${FEDORA_MAJOR_VERSION}"/rodoma92-rmlint-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ - curl -Lo /etc/yum.repos.d/tailscale.repo https://pkgs.tailscale.com/stable/fedora/tailscale.repo && \ - sed -i 's@gpgcheck=1@gpgcheck=0@g' /etc/yum.repos.d/tailscale.repo && \ - ostree container commit - -# Install kernel-fsync, if needed -RUN rpm-ostree cliwrap install-to-root / && \ - if [[ "${KERNEL_FLAVOR}" =~ "fsync" ]]; then \ - echo "will install ${KERNEL_FLAVOR} kernel from COPR" && \ - curl -Lo /etc/yum.repos.d/_copr_sentry-kernel-fsync.repo https://copr.fedorainfracloud.org/coprs/sentry/kernel-fsync/repo/fedora-$(rpm -E %fedora)/sentry-kernel-fsync-fedora-$(rpm -E %fedora).repo && \ - rpm-ostree override replace \ - --experimental \ - --from repo=copr:copr.fedorainfracloud.org:sentry:kernel-fsync \ - kernel \ - kernel-core \ - kernel-modules \ - kernel-modules-core \ - kernel-modules-extra \ - kernel-uki-virt \ - kernel-headers \ - kernel-devel \ - ; else \ - echo "will use kernel from ${KERNEL_FLAVOR} images" \ - ; fi && \ - ostree container commit - -# Add ublue packages, add needed negativo17 repo and then immediately disable due to incompatibility with RPMFusion -COPY --from=akmods /rpms /tmp/akmods-rpms -COPY --from=akmods-extra /rpms /tmp/akmods-rpms -RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo && \ - curl -Lo /etc/yum.repos.d/negativo17-fedora-multimedia.repo https://negativo17.org/repos/fedora-multimedia.repo && \ - rpm-ostree install \ - /tmp/akmods-rpms/kmods/*kvmfr*.rpm \ - /tmp/akmods-rpms/kmods/*xone*.rpm \ - /tmp/akmods-rpms/kmods/*openrazer*.rpm \ - /tmp/akmods-rpms/kmods/*v4l2loopback*.rpm \ - /tmp/akmods-rpms/kmods/*wl*.rpm \ - /tmp/akmods-rpms/kmods/*nct6687*.rpm \ - /tmp/akmods-rpms/kmods/*zenergy*.rpm \ - /tmp/akmods-rpms/kmods/*vhba*.rpm \ - /tmp/akmods-rpms/kmods/*evdi*.rpm \ - /tmp/akmods-rpms/kmods/*ryzen-smu*.rpm && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ - ostree container commit - -# Update packages that commonly cause build issues -RUN rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - vulkan-loader \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - alsa-lib \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - gnutls \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - glib2 \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - gtk3 \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - atk \ - at-spi2-atk \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - libaom \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - gstreamer1 \ - gstreamer1-plugins-base \ - gstreamer1-plugins-bad-free-libs \ - gstreamer1-plugins-good-qt \ - gstreamer1-plugins-good \ - gstreamer1-plugins-bad-free \ - gstreamer1-plugin-libav \ - gstreamer1-plugins-ugly-free \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - python3 \ - python3-libs \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - libdecor \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - libtirpc \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - libuuid \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - libblkid \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - libmount \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - cups-libs \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - libinput \ - || true && \ - rpm-ostree override replace \ - --experimental \ - --from repo=updates \ - libopenmpt \ - || true && \ - rpm-ostree override remove \ - glibc32 \ - || true && \ - ostree container commit - -# Install Valve's patched Mesa, Pipewire, and Xwayland -# Install patched switcheroo control with proper discrete GPU support -RUN rpm-ostree override remove \ - mesa-va-drivers-freeworld && \ - rpm-ostree override replace \ - --experimental \ - --from repo=copr:copr.fedorainfracloud.org:kylegospo:bazzite-multilib \ - mesa-filesystem \ - mesa-libxatracker \ - mesa-libglapi \ - mesa-dri-drivers \ - mesa-libgbm \ - mesa-libEGL \ - mesa-vulkan-drivers \ - mesa-libGL \ - pipewire \ - pipewire-alsa \ - pipewire-gstreamer \ - pipewire-jack-audio-connection-kit \ - pipewire-jack-audio-connection-kit-libs \ - pipewire-libs \ - pipewire-pulseaudio \ - pipewire-utils \ - xorg-x11-server-Xwayland && \ - rpm-ostree install \ - mesa-va-drivers-freeworld \ - mesa-vdpau-drivers-freeworld.x86_64 && \ - rpm-ostree override replace \ - --experimental \ - --from repo=copr:copr.fedorainfracloud.org:sentry:switcheroo-control_discrete \ - switcheroo-control && \ - ostree container commit - -# Remove unneeded packages -RUN rpm-ostree override remove \ - ublue-os-update-services \ - firefox \ - firefox-langpacks \ - htop && \ - ostree container commit - # Install new packages RUN rpm-ostree install \ adobe-source-code-pro-fonts \ cascadia-code-fonts \ jetbrains-mono-fonts-all \ - twitter-twemoji-fonts \ - mozilla-fira-mono-fonts \ ibm-plex-mono-fonts \ - google-droid-sans-mono-fonts \ - google-go-mono-fonts \ - google-noto-sans-cjk-fonts \ - lato-fonts \ - fira-code-fonts \ - nerd-fonts \ - genisoimage \ virt-manager \ virt-viewer \ edk2-ovmf \ libvirt \ - lxc \ qemu \ qemu-char-spice \ qemu-device-display-virtio-gpu \ @@ -257,338 +29,26 @@ RUN rpm-ostree install \ qemu-user-binfmt \ qemu-user-static \ code \ - devpod \ docker-ce \ docker-ce-cli \ docker-buildx-plugin \ docker-compose-plugin \ - containerd.io \ podman-compose \ podman-tui \ podmansh \ papirus-icon-theme \ - python3-pip \ - libadwaita \ - duperemove \ - sqlite \ - xwininfo \ - xrandr \ - compsize \ - input-remapper \ - system76-scheduler \ - powertop \ - i2c-tools \ - udica \ - ladspa-caps-plugins \ - ladspa-noise-suppression-for-voice \ - python3-icoextract \ - tailscale \ - webapp-manager \ - btop \ - fish \ - lshw \ - xdotool \ - wmctrl \ - libcec \ - yad \ - f3 \ - pulseaudio-utils \ - unrar \ - lzip \ - libxcrypt-compat \ - mesa-libGLU \ - vulkan-tools \ - glibc.i686 \ - extest.i686 \ - fastfetch \ - glow \ - gum \ - vim \ - zoxide \ - setools \ - setroubleshoot \ - cockpit-machines \ - cockpit-networkmanager \ - cockpit-ostree \ - cockpit-pcp \ - cockpit-podman \ - cockpit-selinux \ - cockpit-storaged \ - cockpit-system \ - lsb_release && \ - pip install --prefix=/usr topgrade && \ - rpm-ostree install \ - ublue-update && \ - mkdir -p /usr/etc/xdg/autostart && \ - echo "X-GNOME-Autostart-enabled=false" >> /usr/etc/xdg/autostart/sealertauto.desktop && \ - sed -i '1s/^/[include]\npaths = ["\/etc\/ublue-os\/topgrade.toml"]\n\n/' /usr/share/ublue-update/topgrade-user.toml && \ - sed -i 's/min_battery_percent.*/min_battery_percent = 20.0/' /usr/etc/ublue-update/ublue-update.toml && \ - sed -i 's/max_cpu_load_percent.*/max_cpu_load_percent = 100.0/' /usr/etc/ublue-update/ublue-update.toml && \ - sed -i 's/max_mem_percent.*/max_mem_percent = 90.0/' /usr/etc/ublue-update/ublue-update.toml && \ - sed -i 's/dbus_notify.*/dbus_notify = false/' /usr/etc/ublue-update/ublue-update.toml && \ - curl -Lo /usr/bin/installcab https://raw.githubusercontent.com/KyleGospo/steam-proton-mf-wmv/master/installcab.py && \ - chmod +x /usr/bin/installcab && \ - curl -Lo /usr/bin/install-mf-wmv https://raw.githubusercontent.com/KyleGospo/steam-proton-mf-wmv/master/install-mf-wmv.sh && \ - chmod +x /usr/bin/install-mf-wmv && \ - curl -Lo /usr/share/thumbnailers/exe-thumbnailer.thumbnailer https://raw.githubusercontent.com/jlu5/icoextract/master/exe-thumbnailer.thumbnailer && \ - ostree container commit - -# Install Steam & Lutris, plus supporting packages -# Remove Feral gamemode, System76 Scheduler supersedes this -RUN rpm-ostree install \ - at-spi2-core.i686 \ - atk.i686 \ - vulkan-loader.i686 \ - alsa-lib.i686 \ - fontconfig.i686 \ - gtk2.i686 \ - libICE.i686 \ - libnsl.i686 \ - libxcrypt-compat.i686 \ - libpng12.i686 \ - libXpresent \ - libXext.i686 \ - libXinerama.i686 \ - libXtst.i686 \ - libXScrnSaver.i686 \ - NetworkManager-libnm.i686 \ - nss.i686 \ - pulseaudio-libs.i686 \ - libcurl.i686 \ - systemd-libs.i686 \ - libva.i686 \ - libvdpau.i686 \ - libdbusmenu-gtk3.i686 \ - libatomic.i686 \ - pipewire-alsa.i686 \ - clinfo && \ - sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/fedora-updates.repo && \ - rpm-ostree install \ - mesa-vulkan-drivers.i686 \ - mesa-va-drivers-freeworld.i686 \ - mesa-vdpau-drivers-freeworld.i686 && \ - sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-steam.repo && \ - sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ - sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ - sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ - rpm-ostree install \ - steam && \ - sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-steam.repo && \ - sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ - sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ - sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ - sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/fedora-updates.repo && \ - rpm-ostree install \ - lutris \ - fluidsynth \ - fluid-soundfont-gm \ - qsynth \ - wxGTK \ - libFAudio \ - wine-core.x86_64 \ - wine-core.i686 \ - wine-pulseaudio.x86_64 \ - wine-pulseaudio.i686 \ - winetricks \ - protontricks \ - latencyflex-vulkan-layer \ - vkBasalt.x86_64 \ - vkBasalt.i686 \ - obs-vkcapture.x86_64 \ - obs-vkcapture.i686 \ - mangohud.x86_64 \ - mangohud.i686 && \ - rpm-ostree override remove gamemode && \ - sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/winetricks.desktop && \ - curl -Lo /tmp/latencyflex.tar.xz $(curl https://api.github.com/repos/ishitatsuyuki/LatencyFleX/releases/latest | jq -r '.assets[] | select(.name| test(".*.tar.xz$")).browser_download_url') && \ - mkdir -p /tmp/latencyflex && \ - tar --no-same-owner --no-same-permissions --no-overwrite-dir --strip-components 1 -xvf /tmp/latencyflex.tar.xz -C /tmp/latencyflex && \ - rm -f /tmp/latencyflex.tar.xz && \ - cp -r /tmp/latencyflex/wine/usr/lib/wine/* /usr/lib64/wine/ && \ - rm -rf /tmp/latencyflex && \ - curl -Lo /usr/bin/latencyflex https://raw.githubusercontent.com/KyleGospo/LatencyFleX-Installer/main/install.sh && \ - chmod +x /usr/bin/latencyflex && \ - sed -i 's@/usr/lib/wine/@/usr/lib64/wine/@g' /usr/bin/latencyflex && \ - sed -i 's@"dxvk.conf"@"/usr/share/latencyflex/dxvk.conf"@g' /usr/bin/latencyflex && \ - chmod +x /usr/bin/latencyflex && \ + libXpresent && \ ostree container commit -# Configure KDE -RUN rpm-ostree install \ - qt && \ - rpm-ostree override remove \ - plasma-welcome && \ - rpm-ostree override replace \ - --experimental \ - --from repo=copr:copr.fedorainfracloud.org:ublue-os:staging \ - kf6-kio-doc \ - kf6-kio-widgets-libs \ - kf6-kio-core-libs \ - kf6-kio-widgets \ - kf6-kio-file-widgets \ - kf6-kio-core \ - kf6-kio-gui && \ - rpm-ostree install \ - kdeconnectd \ - kdeplasma-addons \ - rom-properties-kf6 && \ - mkdir -p /tmp/kwin-system76-scheduler-integration && \ - curl -Lo /tmp/kwin-system76-scheduler-integration/archive.tar.gz https://github.com/maxiberta/kwin-system76-scheduler-integration/archive/refs/heads/main.tar.gz && \ - tar --no-same-owner --no-same-permissions --no-overwrite-dir --strip-components 1 -xvf /tmp/kwin-system76-scheduler-integration/archive.tar.gz -C /tmp/kwin-system76-scheduler-integration && \ - kpackagetool6 --type=KWin/Script --global --install /tmp/kwin-system76-scheduler-integration && \ - rm -rf /tmp/kwin-system76-scheduler-integration && \ - sed -i '//,/<\/entry>/ s/[^<]*<\/default>/preferred:\/\/browser,applications:steam.desktop,applications:net.lutris.Lutris.desktop,applications:org.kde.discover.desktop,preferred:\/\/filemanager<\/default>/' /usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/config/main.xml && \ - sed -i '//,/<\/entry>/ s/[^<]*<\/default>/preferred:\/\/browser,steam.desktop,net.lutris.Lutris.desktop,systemsettings.desktop,org.kde.dolphin.desktop,org.kde.kate.desktop<\/default>/' /usr/share/plasma/plasmoids/org.kde.plasma.kickoff/contents/config/main.xml && \ - sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/yad-icon-browser.desktop && \ - rm -f /usr/share/kglobalaccel/org.kde.konsole.desktop && \ - systemctl enable kde-sysmonitor-workaround.service && \ - ostree container commit - -# Install Gamescope, ROCM, and Waydroid on non-Nvidia images -RUN rpm-ostree install \ - gamescope.x86_64 \ - gamescope-libs.i686 \ - gamescope-shaders \ - rocm-hip \ - rocm-opencl \ - rocm-clinfo \ - waydroid \ - cage \ - wlr-randr && \ - sed -i~ -E 's/=.\$\(command -v (nft|ip6?tables-legacy).*/=/g' /usr/lib/waydroid/data/scripts/waydroid-net.sh && \ - ostree container commit - -# Homebrew -RUN touch /.dockerenv && \ - mkdir -p /var/home && \ - mkdir -p /var/roothome && \ - curl -Lo /tmp/brew-install https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh && \ - chmod +x /tmp/brew-install && \ - /tmp/brew-install && \ - tar --zstd -cvf /usr/share/homebrew.tar.zst /home/linuxbrew/.linuxbrew && \ - ostree container commit - -COPY system_files/overrides / - -RUN /usr/libexec/containerbuild/build-initramfs && \ - /usr/libexec/containerbuild/image-info && \ - rm -f /etc/profile.d/toolbox.sh && \ - echo "import \"/usr/share/ublue-os/just/80-quantix.just\"" >> /usr/share/ublue-os/justfile && \ - echo "import \"/usr/share/ublue-os/just/81-quantix-fixes.just\"" >> /usr/share/ublue-os/justfile && \ - echo "import \"/usr/share/ublue-os/just/82-quantix-apps.just\"" >> /usr/share/ublue-os/justfile && \ - echo "import \"/usr/share/ublue-os/just/82-quantix-cdemu.just\"" >> /usr/share/ublue-os/justfile && \ - echo "import \"/usr/share/ublue-os/just/82-quantix-sunshine.just\"" >> /usr/share/ublue-os/justfile && \ - echo "import \"/usr/share/ublue-os/just/82-quantix-waydroid.just\"" >> /usr/share/ublue-os/justfile && \ - echo "import \"/usr/share/ublue-os/just/84-quantix-virt.just\"" >> /usr/share/ublue-os/justfile && \ - sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/fish.desktop && \ - sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/nvtop.desktop && \ - sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/btop.desktop && \ - rm -f /usr/share/vulkan/icd.d/lvp_icd.*.json && \ - mkdir -p "/usr/etc/profile.d/" && \ - mkdir -p "/usr/etc/xdg/autostart" && \ - sed -i 's/stage/none/g' /etc/rpm-ostreed.conf - -RUN if [[ "${KERNEL_FLAVOR}" =~ "fsync" ]]; then \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_sentry-kernel-fsync.repo \ - ; fi && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite-multilib.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_ublue-os-staging.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-system76-scheduler.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-latencyflex.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-obs-vkcapture.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_ycollet-audinux.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-rom-properties.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-webapp-manager.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_hhd-dev-hhd.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_che-nerd-fonts.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_sentry-switcheroo-control_discrete.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_hikariknight-looking-glass-kvmfr.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/tailscale.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/charm.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/docker-ce.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/vscode.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ - sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /usr/lib/systemd/user.conf && \ - sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /usr/lib/systemd/system.conf && \ - mkdir -p /usr/etc/flatpak/remotes.d && \ - curl -Lo /usr/etc/flatpak/remotes.d/flathub.flatpakrepo https://dl.flathub.org/repo/flathub.flatpakrepo && \ - systemctl enable brew-dir-fix.service && \ - systemctl enable brew-setup.service && \ - systemctl enable brew-upgrade.timer && \ - systemctl enable brew-update.timer && \ - systemctl enable com.system76.Scheduler.service && \ - systemctl enable btrfs-dedup@var-home.timer && \ - systemctl enable displaylink.service && \ - systemctl enable input-remapper.service && \ - systemctl unmask quantix-flatpak-manager.service && \ +RUN systemctl unmask quantix-flatpak-manager.service && \ systemctl enable quantix-flatpak-manager.service && \ - systemctl disable rpm-ostreed-automatic.timer && \ - systemctl enable ublue-update.timer && \ - systemctl enable gamescope-workaround.service && \ - systemctl enable waydroid-workaround.service && \ - systemctl enable incus-workaround.service && \ systemctl enable quantix-system-setup.service && \ - systemctl enable tailscaled.service && \ - systemctl enable dev-hugepages1G.mount && \ systemctl enable docker.socket && \ systemctl enable libvirtd && \ systemctl enable swtpm-workaround && \ systemctl --global enable quantix-user-setup.service && \ systemctl --global enable podman.socket && \ - systemctl --global enable systemd-tmpfiles-setup.service && \ - sed -i '/^PRETTY_NAME/s/Kinoite/Quantix/' /usr/lib/os-release && \ + sed -i '/^PRETTY_NAME/s/Bazzite/Quantix/' /usr/lib/os-release && \ sed -i 's/plasma.svgz/quantix_logo.svgz/g' /usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/splash/Splash.qml && \ - systemctl --global enable com.system76.Scheduler.dbusproxy.service && \ - systemctl disable waydroid-container.service && \ - curl -Lo /usr/bin/waydroid-choose-gpu https://raw.githubusercontent.com/KyleGospo/waydroid-scripts/main/waydroid-choose-gpu.sh && \ - chmod +x /usr/bin/waydroid-choose-gpu && \ - ostree container commit - -FROM ghcr.io/ublue-os/akmods-nvidia:${KERNEL_FLAVOR}-${FEDORA_MAJOR_VERSION} as nvidia-akmods -FROM quantix as quantix-nvidia - -ARG IMAGE_NAME="${IMAGE_NAME:-quantix-nvidia}" -ARG IMAGE_VENDOR="${IMAGE_VENDOR:-epicofficer}" -ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-nvidia}" -ARG KERNEL_FLAVOR="${KERNEL_FLAVOR:-fsync}" -ARG IMAGE_BRANCH="${IMAGE_BRANCH:-main}" -ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME:-kinoite}" -ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-40}" - -# Fetch NVIDIA driver -COPY system_files/nvidia / - -# Remove everything that doesn't work well with NVIDIA -RUN rpm-ostree override remove \ - rocm-hip \ - rocm-opencl \ - rocm-clinfo && \ - rpm-ostree override remove \ - colord-kde && \ - rpm-ostree install \ - plasma-workspace-x11 && \ - ostree container commit - -# Install NVIDIA driver -COPY --from=nvidia-akmods /rpms /tmp/akmods-rpms -RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ - sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ - sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ - curl -Lo /tmp/nvidia-install.sh https://raw.githubusercontent.com/ublue-os/hwe/main/nvidia-install.sh && \ - chmod +x /tmp/nvidia-install.sh && \ - IMAGE_NAME="${BASE_IMAGE_NAME}" RPMFUSION_MIRROR="" /tmp/nvidia-install.sh && \ - ostree container commit - -# Cleanup & Finalize -RUN /usr/libexec/containerbuild/build-initramfs && \ - /usr/libexec/containerbuild/image-info && \ - rm -f /usr/share/vulkan/icd.d/nouveau_icd.*.json && \ - echo "import \"/usr/share/ublue-os/just/95-quantix-nvidia.just\"" >> /usr/share/ublue-os/justfile && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ + /usr/libexec/containerbuild/qtx-image-info && \ ostree container commit \ No newline at end of file diff --git a/system_files/nvidia/usr/etc/sddm.conf b/system_files/nvidia/usr/etc/sddm.conf deleted file mode 100644 index 931f313..0000000 --- a/system_files/nvidia/usr/etc/sddm.conf +++ /dev/null @@ -1,2 +0,0 @@ -[General] -DisplayServer=x11 \ No newline at end of file diff --git a/system_files/nvidia/usr/etc/xdg/kcm-about-distrorc b/system_files/nvidia/usr/etc/xdg/kcm-about-distrorc deleted file mode 100644 index 8f6a1c2..0000000 --- a/system_files/nvidia/usr/etc/xdg/kcm-about-distrorc +++ /dev/null @@ -1,5 +0,0 @@ -[General] -LogoPath=/usr/share/pixmaps/system-logo-white.png -Name=Quantix OS -Website=https://github.com/epicofficer/quantix -Variant=NVIDIA Edition \ No newline at end of file diff --git a/system_files/nvidia/usr/lib/dracut/dracut.conf.d/95-nvidia.conf b/system_files/nvidia/usr/lib/dracut/dracut.conf.d/95-nvidia.conf deleted file mode 100644 index 62880a5..0000000 --- a/system_files/nvidia/usr/lib/dracut/dracut.conf.d/95-nvidia.conf +++ /dev/null @@ -1 +0,0 @@ -force_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm " \ No newline at end of file diff --git a/system_files/nvidia/usr/lib/modprobe.d/nvidia.conf b/system_files/nvidia/usr/lib/modprobe.d/nvidia.conf deleted file mode 100644 index ab5bf16..0000000 --- a/system_files/nvidia/usr/lib/modprobe.d/nvidia.conf +++ /dev/null @@ -1,6 +0,0 @@ -# Blacklist Nouveau -blacklist nouveau -options nouveau modeset=0 - -# Enable Nvidia Modeset -options nvidia-drm modeset=1 \ No newline at end of file diff --git a/system_files/shared/etc/yum.repos.d/charm.repo b/system_files/shared/etc/yum.repos.d/charm.repo deleted file mode 100644 index 114a222..0000000 --- a/system_files/shared/etc/yum.repos.d/charm.repo +++ /dev/null @@ -1,6 +0,0 @@ -[charm] -name=Charm -baseurl=https://repo.charm.sh/yum/ -enabled=1 -gpgcheck=1 -gpgkey=https://repo.charm.sh/yum/gpg.key \ No newline at end of file diff --git a/system_files/shared/usr/etc/security/limits.d/memlock.conf b/system_files/shared/usr/etc/security/limits.d/memlock.conf deleted file mode 100644 index 87b17b0..0000000 --- a/system_files/shared/usr/etc/security/limits.d/memlock.conf +++ /dev/null @@ -1,2 +0,0 @@ -* hard memlock 2147484 -* soft memlock 2147484 \ No newline at end of file diff --git a/system_files/overrides/usr/etc/skel/.config/kdedefaults/kdeglobals b/system_files/shared/usr/etc/skel/.config/kdedefaults/kdeglobals similarity index 100% rename from system_files/overrides/usr/etc/skel/.config/kdedefaults/kdeglobals rename to system_files/shared/usr/etc/skel/.config/kdedefaults/kdeglobals diff --git a/system_files/overrides/usr/etc/skel/.config/kdeglobals b/system_files/shared/usr/etc/skel/.config/kdeglobals similarity index 100% rename from system_files/overrides/usr/etc/skel/.config/kdeglobals rename to system_files/shared/usr/etc/skel/.config/kdeglobals diff --git a/system_files/overrides/usr/etc/skel/.config/kglobalshortcutsrc b/system_files/shared/usr/etc/skel/.config/kglobalshortcutsrc similarity index 100% rename from system_files/overrides/usr/etc/skel/.config/kglobalshortcutsrc rename to system_files/shared/usr/etc/skel/.config/kglobalshortcutsrc diff --git a/system_files/overrides/usr/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc b/system_files/shared/usr/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc similarity index 100% rename from system_files/overrides/usr/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc rename to system_files/shared/usr/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc diff --git a/system_files/overrides/usr/etc/skel/.config/plasmarc b/system_files/shared/usr/etc/skel/.config/plasmarc similarity index 100% rename from system_files/overrides/usr/etc/skel/.config/plasmarc rename to system_files/shared/usr/etc/skel/.config/plasmarc diff --git a/system_files/overrides/usr/etc/skel/.config/plasmashellrc b/system_files/shared/usr/etc/skel/.config/plasmashellrc similarity index 100% rename from system_files/overrides/usr/etc/skel/.config/plasmashellrc rename to system_files/shared/usr/etc/skel/.config/plasmashellrc diff --git a/system_files/overrides/usr/etc/skel/.config/user-tmpfiles.d/discord-rpc.conf b/system_files/shared/usr/etc/skel/.config/user-tmpfiles.d/discord-rpc.conf similarity index 100% rename from system_files/overrides/usr/etc/skel/.config/user-tmpfiles.d/discord-rpc.conf rename to system_files/shared/usr/etc/skel/.config/user-tmpfiles.d/discord-rpc.conf diff --git a/system_files/overrides/usr/etc/skel/.config/xsettingsd/xsettingsd.conf b/system_files/shared/usr/etc/skel/.config/xsettingsd/xsettingsd.conf similarity index 100% rename from system_files/overrides/usr/etc/skel/.config/xsettingsd/xsettingsd.conf rename to system_files/shared/usr/etc/skel/.config/xsettingsd/xsettingsd.conf diff --git a/system_files/shared/usr/etc/system76-scheduler/config.kdl b/system_files/shared/usr/etc/system76-scheduler/config.kdl deleted file mode 100644 index ee8096a..0000000 --- a/system_files/shared/usr/etc/system76-scheduler/config.kdl +++ /dev/null @@ -1,102 +0,0 @@ -// Version of the configuration file -version "2.0" - -// Autogrouping nullifies nice priorities -autogroup-enabled false - -// Latency profiles the kernel's Completely Fair Scheduler -cfs-profiles enable=false { - // The kernel-default values which are ideal for battery life and servers - default latency=6 nr-latency=8 wakeup-granularity=1.0 bandwidth-size=5 preempt="voluntary" - - // TKG CFS parameters that make the desktop more responsive - responsive latency=3 nr-latency=10 wakeup-granularity=0.5 bandwidth-size=3 preempt="full" -} - -// Monitors and applies process priority adjustments -process-scheduler enable=true { - // How often to reload process assignments. 0 to disable - refresh-rate 60 - - // Enable realtime process priority adjustment with execsnoop - execsnoop true - - // Preset process assignment profiles - assignments { - // Prevent crackling and distortion from the sound server - sound-server nice=-19 sched=(fifo)89 io=(realtime)0 { - "/usr/bin/pipewire" - "/usr/bin/pipewire-pulse" - "/usr/bin/jackd" - "/usr/bin/wireplumber" - } - - // Applications with realtime audio processing needs - recording nice=-9 io=(best-effort)0 - - // Enables pipewire process monitoring and assignments - pipewire nice=-6 io=(best-effort)0 - - // Video games - games nice=-5 io=(best-effort)0 - - // Desktop environments - desktop-environment nice=-3 io=(best-effort)0 - - // Foreground process profile - foreground nice=0 io=(best-effort)0 - - // Background process profile - background nice=6 io="idle" - - // Session services belonging to the user - session-services nice=9 io="idle" { - include cgroup="/user.slice/*.service" parent="systemd" - include cgroup="/user.slice/*/session.slice/*" parent="systemd" - exclude cgroup="/user.slice/*app-dbus*" - } - - // System services belonging to root - system-services nice=12 io="idle" { - include cgroup="/system.slice/*" - } - - // Package management processes - package-manager nice=15 sched="batch" io="idle" - - // CPU-intense background tasks - batch nice=19 sched="idle" io="idle" - } - - exceptions { - include descends="chrt" - include descends="gamemoderun" - include descends="ionice" - include descends="nice" - include descends="PluginLoader" - include descends="taskset" - include descends="schedtool" - chrt - coolercontrold - coolercontrol-liqctld - dbus - dbus-broker - gamemoderun - gamescope - input-remapper-service - ionice - joystickwake - lact - nice - otd-daemon - oversteer - PluginLoader - rtkit-daemon - systemd - taskset - schedtool - sunshine - tuned - tuned-ppd - } -} \ No newline at end of file diff --git a/system_files/shared/usr/etc/systemd/zram-generator.conf b/system_files/shared/usr/etc/systemd/zram-generator.conf deleted file mode 100644 index 891a333..0000000 --- a/system_files/shared/usr/etc/systemd/zram-generator.conf +++ /dev/null @@ -1,2 +0,0 @@ -[zram0] -compression-algorithm=zstd \ No newline at end of file diff --git a/system_files/shared/usr/etc/ublue-os/topgrade.toml b/system_files/shared/usr/etc/ublue-os/topgrade.toml deleted file mode 100644 index 7b71308..0000000 --- a/system_files/shared/usr/etc/ublue-os/topgrade.toml +++ /dev/null @@ -1,2 +0,0 @@ -[commands] -"Linux AMDGPU Control Application" = "/usr/libexec/topgrade/lact-update" \ No newline at end of file diff --git a/system_files/overrides/usr/etc/xdg/gtk-2.0/gtkrc b/system_files/shared/usr/etc/xdg/gtk-2.0/gtkrc similarity index 100% rename from system_files/overrides/usr/etc/xdg/gtk-2.0/gtkrc rename to system_files/shared/usr/etc/xdg/gtk-2.0/gtkrc diff --git a/system_files/overrides/usr/etc/xdg/gtk-3.0/settings.ini b/system_files/shared/usr/etc/xdg/gtk-3.0/settings.ini similarity index 100% rename from system_files/overrides/usr/etc/xdg/gtk-3.0/settings.ini rename to system_files/shared/usr/etc/xdg/gtk-3.0/settings.ini diff --git a/system_files/overrides/usr/etc/xdg/gtk-4.0/settings.ini b/system_files/shared/usr/etc/xdg/gtk-4.0/settings.ini similarity index 100% rename from system_files/overrides/usr/etc/xdg/gtk-4.0/settings.ini rename to system_files/shared/usr/etc/xdg/gtk-4.0/settings.ini diff --git a/system_files/overrides/usr/etc/xdg/kcminputrc b/system_files/shared/usr/etc/xdg/kcminputrc similarity index 100% rename from system_files/overrides/usr/etc/xdg/kcminputrc rename to system_files/shared/usr/etc/xdg/kcminputrc diff --git a/system_files/overrides/usr/etc/xdg/kdedefaults/kdeglobals b/system_files/shared/usr/etc/xdg/kdedefaults/kdeglobals similarity index 100% rename from system_files/overrides/usr/etc/xdg/kdedefaults/kdeglobals rename to system_files/shared/usr/etc/xdg/kdedefaults/kdeglobals diff --git a/system_files/overrides/usr/etc/xdg/kdeglobals b/system_files/shared/usr/etc/xdg/kdeglobals similarity index 100% rename from system_files/overrides/usr/etc/xdg/kdeglobals rename to system_files/shared/usr/etc/xdg/kdeglobals diff --git a/system_files/overrides/usr/etc/xdg/konsolerc b/system_files/shared/usr/etc/xdg/konsolerc similarity index 100% rename from system_files/overrides/usr/etc/xdg/konsolerc rename to system_files/shared/usr/etc/xdg/konsolerc diff --git a/system_files/overrides/usr/etc/xdg/kwinrc b/system_files/shared/usr/etc/xdg/kwinrc similarity index 100% rename from system_files/overrides/usr/etc/xdg/kwinrc rename to system_files/shared/usr/etc/xdg/kwinrc diff --git a/system_files/overrides/usr/etc/xdg/plasma-org.kde.plasma.desktop-appletsrc b/system_files/shared/usr/etc/xdg/plasma-org.kde.plasma.desktop-appletsrc similarity index 100% rename from system_files/overrides/usr/etc/xdg/plasma-org.kde.plasma.desktop-appletsrc rename to system_files/shared/usr/etc/xdg/plasma-org.kde.plasma.desktop-appletsrc diff --git a/system_files/overrides/usr/etc/xdg/plasmarc b/system_files/shared/usr/etc/xdg/plasmarc similarity index 100% rename from system_files/overrides/usr/etc/xdg/plasmarc rename to system_files/shared/usr/etc/xdg/plasmarc diff --git a/system_files/overrides/usr/etc/xdg/plasmashellrc b/system_files/shared/usr/etc/xdg/plasmashellrc similarity index 100% rename from system_files/overrides/usr/etc/xdg/plasmashellrc rename to system_files/shared/usr/etc/xdg/plasmashellrc diff --git a/system_files/overrides/usr/etc/xdg/weston/weston.ini b/system_files/shared/usr/etc/xdg/weston/weston.ini similarity index 100% rename from system_files/overrides/usr/etc/xdg/weston/weston.ini rename to system_files/shared/usr/etc/xdg/weston/weston.ini diff --git a/system_files/shared/usr/lib/dracut/dracut.conf.d/10-compression.conf b/system_files/shared/usr/lib/dracut/dracut.conf.d/10-compression.conf deleted file mode 100644 index bb323f7..0000000 --- a/system_files/shared/usr/lib/dracut/dracut.conf.d/10-compression.conf +++ /dev/null @@ -1 +0,0 @@ -compress="zstd" \ No newline at end of file diff --git a/system_files/shared/usr/lib/dracut/dracut.conf.d/90-ublue.conf b/system_files/shared/usr/lib/dracut/dracut.conf.d/90-ublue.conf deleted file mode 100644 index fe6b463..0000000 --- a/system_files/shared/usr/lib/dracut/dracut.conf.d/90-ublue.conf +++ /dev/null @@ -1 +0,0 @@ -add_dracutmodules+=" fido2 tpm2-tss pkcs11 pcsc " \ No newline at end of file diff --git a/system_files/shared/usr/lib/sysctl.d/60-kernel.conf b/system_files/shared/usr/lib/sysctl.d/60-kernel.conf deleted file mode 100644 index a958c6b..0000000 --- a/system_files/shared/usr/lib/sysctl.d/60-kernel.conf +++ /dev/null @@ -1 +0,0 @@ -kernel.split_lock_mitigate=0 \ No newline at end of file diff --git a/system_files/shared/usr/lib/sysctl.d/65-memory.conf b/system_files/shared/usr/lib/sysctl.d/65-memory.conf deleted file mode 100644 index 7a2c202..0000000 --- a/system_files/shared/usr/lib/sysctl.d/65-memory.conf +++ /dev/null @@ -1,6 +0,0 @@ -vm.swappiness=180 -vm.watermark_boost_factor=0 -vm.watermark_scale_factor=125 -vm.dirty_bytes=268435456 -vm.dirty_background_bytes=134217728 -vm.page-cluster=0 \ No newline at end of file diff --git a/system_files/shared/usr/lib/sysctl.d/70-gaming.conf b/system_files/shared/usr/lib/sysctl.d/70-gaming.conf deleted file mode 100644 index c26d669..0000000 --- a/system_files/shared/usr/lib/sysctl.d/70-gaming.conf +++ /dev/null @@ -1 +0,0 @@ -vm.max_map_count=2147483642 \ No newline at end of file diff --git a/system_files/shared/usr/lib/sysctl.d/75-networking.conf b/system_files/shared/usr/lib/sysctl.d/75-networking.conf deleted file mode 100644 index 84d282c..0000000 --- a/system_files/shared/usr/lib/sysctl.d/75-networking.conf +++ /dev/null @@ -1,3 +0,0 @@ -net.core.default_qdisc=fq -net.ipv4.tcp_congestion_control=bbr -net.ipv4.tcp_mtu_probing=1 \ No newline at end of file diff --git a/system_files/shared/usr/lib/sysctl.d/80-inotify.conf b/system_files/shared/usr/lib/sysctl.d/80-inotify.conf deleted file mode 100644 index 93ea97a..0000000 --- a/system_files/shared/usr/lib/sysctl.d/80-inotify.conf +++ /dev/null @@ -1,2 +0,0 @@ -fs.inotify.max_user_instances=8192 -fs.inotify.max_user_watches=524288 \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/brew-dir-fix.service b/system_files/shared/usr/lib/systemd/system/brew-dir-fix.service deleted file mode 100644 index e7f356d..0000000 --- a/system_files/shared/usr/lib/systemd/system/brew-dir-fix.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Make sure brew is in correct location... -After=local-fs.target -ConditionPathExists=!/etc/.linuxbrew.check - -[Service] -Type=oneshot -ExecStart=/usr/bin/bash -c "if [[ -d /var/home/linuxbrew/Homebrew && ! -d /var/home/linuxbrew/.linuxbrew/Homebrew ]]; then mv /var/home/linuxbrew /tmp/linuxbrew.tmp && mkdir -p /var/home/linuxbrew/ && mv /tmp/linuxbrew.tmp /var/home/linuxbrew/.linuxbrew; fi" -ExecStart=/usr/bin/touch /etc/.linuxbrew.check - -[Install] -WantedBy=default.target multi-user.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/brew-setup.service b/system_files/shared/usr/lib/systemd/system/brew-setup.service deleted file mode 100644 index be6adb6..0000000 --- a/system_files/shared/usr/lib/systemd/system/brew-setup.service +++ /dev/null @@ -1,18 +0,0 @@ -[Unit] -Description=Setup Brew -Wants=network-online.target -After=network-online.target -ConditionPathExists=!/etc/.linuxbrew -ConditionPathExists=!/var/home/linuxbrew/.linuxbrew - -[Service] -Type=oneshot -ExecStart=/usr/bin/mkdir -p /tmp/homebrew -ExecStart=/usr/bin/tar --zstd -xvf /usr/share/homebrew.tar.zst -C /tmp/homebrew -ExecStart=/usr/bin/cp -R -n /tmp/homebrew/home/linuxbrew/.linuxbrew /var/home/linuxbrew -ExecStart=/usr/bin/chown -R 1000:1000 /var/home/linuxbrew -ExecStart=/usr/bin/rm -rf /tmp/homebrew -ExecStart=/usr/bin/touch /etc/.linuxbrew - -[Install] -WantedBy=default.target multi-user.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/brew-update.service b/system_files/shared/usr/lib/systemd/system/brew-update.service deleted file mode 100644 index 7189007..0000000 --- a/system_files/shared/usr/lib/systemd/system/brew-update.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Auto update brew for mutable brew installs -After=local-fs.target -After=network-online.target -ConditionPathIsSymbolicLink=/home/linuxbrew/.linuxbrew/bin/brew - -[Service] -# Override the user if different UID/User -User=1000 -Type=oneshot -Environment=HOMEBREW_CELLAR=/home/linuxbrew/.linuxbrew/Cellar -Environment=HOMEBREW_PREFIX=/home/linuxbrew/.linuxbrew -Environment=HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew/Homebrew -ExecStart=/usr/bin/bash -c "/home/linuxbrew/.linuxbrew/bin/brew update" \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/brew-update.timer b/system_files/shared/usr/lib/systemd/system/brew-update.timer deleted file mode 100644 index 5aff2f4..0000000 --- a/system_files/shared/usr/lib/systemd/system/brew-update.timer +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Timer for brew update for mutable brew -Wants=network-online.target - -[Timer] -OnBootSec=10min -OnUnitInactiveSec=6h -Persistent=true - -[Install] -WantedBy=timers.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/brew-upgrade.service b/system_files/shared/usr/lib/systemd/system/brew-upgrade.service deleted file mode 100644 index 3b72600..0000000 --- a/system_files/shared/usr/lib/systemd/system/brew-upgrade.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Upgrade Brew packages -After=local-fs.target -After=network-online.target -ConditionPathIsSymbolicLink=/home/linuxbrew/.linuxbrew/bin/brew - -[Service] -# Override the user if different UID/User -User=1000 -Type=oneshot -Environment=HOMEBREW_CELLAR=/home/linuxbrew/.linuxbrew/Cellar -Environment=HOMEBREW_PREFIX=/home/linuxbrew/.linuxbrew -Environment=HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew/Homebrew -ExecStart=/usr/bin/bash -c "/home/linuxbrew/.linuxbrew/bin/brew upgrade" \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/brew-upgrade.timer b/system_files/shared/usr/lib/systemd/system/brew-upgrade.timer deleted file mode 100644 index 5fc3f86..0000000 --- a/system_files/shared/usr/lib/systemd/system/brew-upgrade.timer +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Timer for brew upgrade for on image brew -Wants=network-online.target - -[Timer] -OnBootSec=30min -OnUnitInactiveSec=8h -Persistent=true - -[Install] -WantedBy=timers.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/btrfs-dedup@.service b/system_files/shared/usr/lib/systemd/system/btrfs-dedup@.service deleted file mode 100644 index 48eba36..0000000 --- a/system_files/shared/usr/lib/systemd/system/btrfs-dedup@.service +++ /dev/null @@ -1,27 +0,0 @@ -[Unit] -Description=Btrfs deduplication on %f -ConditionPathIsMountPoint=%f -RequiresMountsFor=%f - -[Service] -Type=oneshot -MemoryHigh=1G -ExecCondition=sh -c '[ "$(stat -f -c "%%T" "$1")" = btrfs ]' _ %f/ -ExecStartPre=-find %f/ -mindepth 1 -maxdepth 1 -mtime +14 -name .duperemove.hash -exec rm -f '{}' \; -ExecStartPre=-cp -a %f/.duperemove.hash duperemove.hash -ExecStartPre=-compsize %f/ -ExecStart=-sh -c "[ $(sqlite3 -readonly duperemove.hash \"SELECT keyval FROM config where keyname == 'version_major'\") -ge 4 ] || rm -f duperemove.hash" -ExecStart=duperemove -r -d -h -q --hashfile=duperemove.hash --skip-zeroes --exclude="%f/.duperemove.hash" --exclude="%f/@swapfile/swapfile" %f/ -ExecStartPost=-compsize %f/ -ExecStopPost=-cp -a duperemove.hash %f/.duperemove.hash -TimeoutStartSec=4h -RuntimeDirectory=%p/%i -WorkingDirectory=%t/%p/%i -Nice=19 -CPUSchedulingPolicy=batch -IOSchedulingClass=best-effort -IOSchedulingPriority=7 -OOMScoreAdjust=1000 -CPUWeight=30 -CPUQuota=300% -IOWeight=30 \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/btrfs-dedup@.timer b/system_files/shared/usr/lib/systemd/system/btrfs-dedup@.timer deleted file mode 100644 index 5695c63..0000000 --- a/system_files/shared/usr/lib/systemd/system/btrfs-dedup@.timer +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Weekly Btrfs deduplication on %f - -[Timer] -OnCalendar=weekly -AccuracySec=1h -RandomizedDelaySec=1d -Persistent=true - -[Install] -WantedBy=timers.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/dev-hugepages1G.mount b/system_files/shared/usr/lib/systemd/system/dev-hugepages1G.mount deleted file mode 100644 index cb1e410..0000000 --- a/system_files/shared/usr/lib/systemd/system/dev-hugepages1G.mount +++ /dev/null @@ -1,31 +0,0 @@ -# This file is a modified version of dev-hugepages.mount from systemd. -# -# With this unit file enabled you can set 1GB hugepages using kernel args -# and have them auto mounted, just as you would with 2MB hugepages. -# -# For normal systems use "hugepagesz=1G hugepages=16" -# to allocate 16 hugepages with a pagesize of 1GB -# -# For systems with numa nodes use "hugepagesz=1G hugepages=0:16" -# to allocate 16 hugepages on numa node 0 with a pagesize of 1GB -# -# For more info, consult the kernel.org documentation linked in this file - -[Unit] -Description=1GB Huge Pages File System -Documentation=https://docs.kernel.org/admin-guide/mm/hugetlbpage.html -Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems -ConditionPathExists=/sys/kernel/mm/hugepages -DefaultDependencies=no -ConditionCapability=CAP_SYS_ADMIN -ConditionVirtualization=!private-users -ConditionKernelCommandLine=hugepagesz=1G - -[Install] -WantedBy=multi-user.target - -[Mount] -What=hugetlbfs -Where=/dev/hugepages1G -Type=hugetlbfs -Options=pagesize=1G \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/gamescope-workaround.service b/system_files/shared/usr/lib/systemd/system/gamescope-workaround.service deleted file mode 100644 index a711e64..0000000 --- a/system_files/shared/usr/lib/systemd/system/gamescope-workaround.service +++ /dev/null @@ -1,20 +0,0 @@ -[Unit] -Description=Workaround gamescope not having the correct caps -ConditionFileIsExecutable=/usr/bin/gamescope -After=local-fs.target - -[Service] -Type=oneshot -# Copy if it doesn't exist -ExecStartPre=/usr/bin/bash -c "[ -x /usr/local/bin/.gamescope ] || /usr/bin/cp /usr/bin/gamescope /usr/local/bin/.gamescope" -# This is faster than using .mount unit. Also allows for the previous line/cleanup -ExecStartPre=/usr/bin/mount --bind /usr/local/bin/.gamescope /usr/bin/gamescope -# Fix caps -ExecStart=/usr/sbin/setcap 'cap_sys_nice=eip' /usr/bin/gamescope -# Clean-up after ourselves -ExecStop=/usr/bin/umount /usr/bin/gamescope -ExecStop=/usr/bin/rm /usr/local/bin/.gamescope -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/incus-workaround.service b/system_files/shared/usr/lib/systemd/system/incus-workaround.service deleted file mode 100644 index 7eed854..0000000 --- a/system_files/shared/usr/lib/systemd/system/incus-workaround.service +++ /dev/null @@ -1,32 +0,0 @@ -[Unit] -Description=Workaround swtpm not having the correct label -ConditionFileIsExecutable=/usr/bin/incus -ConditionFileIsExecutable=/usr/bin/incus-agent -ConditionPathExists=/usr/lib/incus -After=local-fs.target - -[Service] -Type=oneshot -# Copy if it doesn't exist -ExecStartPre=/usr/bin/bash -c "[ -x /usr/local/bin/overrides/incus ] || /usr/bin/cp /usr/bin/incus /usr/local/bin/overrides/incus" -ExecStartPre=/usr/bin/bash -c "[ -x /usr/local/bin/overrides/incus-agent ] || /usr/bin/cp /usr/bin/incus /usr/local/bin/overrides/incus-agent" -ExecStartPre=/usr/bin/bash -c "[ -d /usr/local/lib/overrides/incus ] || /usr/bin/cp -R /usr/bin/incus /usr/local/lib/overrides/incus" -# This is faster than using .mount unit. Also allows for the previous line/cleanup -ExecStartPre=/usr/bin/mount --bind /usr/local/bin/overrides/incus /usr/bin/incus -ExecStartPre=/usr/bin/mount --bind /usr/local/bin/overrides/incus-agent /usr/bin/incus-agent -ExecStartPre=/usr/bin/mount --bind /usr/local/lib/overrides/incus /usr/lib/incus -# Fix SELinux label -ExecStart=/usr/sbin/restorecon /usr/bin/incus -ExecStart=/usr/sbin/restorecon /usr/bin/incus-agent -ExecStart=/usr/sbin/restorecon -R /usr/lib/incus -# Clean-up after ourselves -ExecStop=/usr/bin/umount /usr/bin/incus -ExecStop=/usr/bin/umount /usr/bin/incus-agent -ExecStop=/usr/bin/umount /usr/lib/incus -ExecStop=/usr/bin/rm /usr/local/bin/overrides/incus -ExecStop=/usr/bin/rm /usr/local/bin/overrides/incus-agent -ExecStop=/usr/bin/rm -r /usr/local/lib/overrides/incus -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/kde-sysmonitor-workaround.service b/system_files/shared/usr/lib/systemd/system/kde-sysmonitor-workaround.service deleted file mode 100644 index a980a9a..0000000 --- a/system_files/shared/usr/lib/systemd/system/kde-sysmonitor-workaround.service +++ /dev/null @@ -1,20 +0,0 @@ -[Unit] -Description=Workaround KDE System Monitor not having the correct caps -ConditionFileIsExecutable=/usr/libexec/ksysguard/ksgrd_network_helper -After=local-fs.target - -[Service] -Type=oneshot -# Copy if it doesn't exist -ExecStartPre=/usr/bin/bash -c "[ -x /usr/local/libexec/.ksysguard/ksgrd_network_helper ] || /usr/bin/cp /usr/libexec/ksysguard/ksgrd_network_helper /usr/local/libexec/.ksysguard/ksgrd_network_helper" -# This is faster than using .mount unit. Also allows for the previous line/cleanup -ExecStartPre=/usr/bin/mount --bind /usr/local/libexec/.ksysguard/ksgrd_network_helper /usr/libexec/ksysguard/ksgrd_network_helper -# Fix caps -ExecStart=/usr/sbin/setcap 'cap_net_raw+ep' /usr/libexec/ksysguard/ksgrd_network_helper -# Clean-up after ourselves -ExecStop=/usr/bin/umount /usr/libexec/ksysguard/ksgrd_network_helper -ExecStop=/usr/bin/rm /usr/local/libexec/.ksysguard/ksgrd_network_helper -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/sunshine-workaround.service b/system_files/shared/usr/lib/systemd/system/sunshine-workaround.service deleted file mode 100644 index 14dd292..0000000 --- a/system_files/shared/usr/lib/systemd/system/sunshine-workaround.service +++ /dev/null @@ -1,20 +0,0 @@ -[Unit] -Description=Workaround sunshine not having the correct caps -ConditionPathIsSymbolicLink=/usr/bin/sunshine -After=local-fs.target - -[Service] -Type=oneshot -# Copy if it doesn't exist -ExecStartPre=/usr/bin/bash -c "[ -x /usr/local/bin/.sunshine ] || /usr/bin/cp $(readlink -f /usr/bin/sunshine) /usr/local/bin/.sunshine" -# This is faster than using .mount unit. Also allows for the previous line/cleanup -ExecStartPre=/usr/bin/bash -c "/usr/bin/mount --bind /usr/local/bin/.sunshine $(readlink -f /usr/bin/sunshine)" -# Fix caps -ExecStart=/usr/bin/bash -c "/usr/sbin/setcap cap_sys_admin+p $(readlink -f /usr/bin/sunshine)" -# Clean-up after ourselves -ExecStop=/usr/bin/bash -c "/usr/bin/umount $(readlink -f /usr/bin/sunshine)" -ExecStop=/usr/bin/rm /usr/local/bin/.sunshine -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/system/waydroid-workaround.service b/system_files/shared/usr/lib/systemd/system/waydroid-workaround.service deleted file mode 100644 index b5c7c18..0000000 --- a/system_files/shared/usr/lib/systemd/system/waydroid-workaround.service +++ /dev/null @@ -1,20 +0,0 @@ -[Unit] -Description=Workaround waydroid not having the correct label -ConditionPathExists=/usr/lib/waydroid -After=local-fs.target - -[Service] -Type=oneshot -# Copy if it doesn't exist -ExecStartPre=/usr/bin/bash -c "[ -d /usr/local/lib/.waydroid ] || /usr/bin/cp -r /usr/lib/waydroid /usr/local/lib/.waydroid" -# This is faster than using .mount unit. Also allows for the previous line/cleanup -ExecStartPre=/usr/bin/mount --bind /usr/local/lib/.waydroid /usr/lib/waydroid -# Fix SELinux label -ExecStart=/usr/sbin/restorecon -R /usr/lib/waydroid -# Clean-up after ourselves -ExecStop=/usr/bin/umount /usr/lib/waydroid -ExecStop=/usr/bin/rm -r /usr/local/lib/.waydroid -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/systemd/user/com.system76.Scheduler.dbusproxy.service b/system_files/shared/usr/lib/systemd/user/com.system76.Scheduler.dbusproxy.service deleted file mode 100644 index fc3ff12..0000000 --- a/system_files/shared/usr/lib/systemd/user/com.system76.Scheduler.dbusproxy.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Forward com.system76.Scheduler session DBus messages to the system bus - -[Service] -ExecStart=/usr/bin/system76-scheduler-dbus-proxy - -[Install] -WantedBy=default.target \ No newline at end of file diff --git a/system_files/shared/usr/lib/tmpfiles.d/gamescope-workaround.conf b/system_files/shared/usr/lib/tmpfiles.d/gamescope-workaround.conf deleted file mode 100644 index f408df5..0000000 --- a/system_files/shared/usr/lib/tmpfiles.d/gamescope-workaround.conf +++ /dev/null @@ -1 +0,0 @@ -C /usr/local/bin/.gamescope - - - - /usr/bin/gamescope \ No newline at end of file diff --git a/system_files/shared/usr/lib/tmpfiles.d/homebrew.conf b/system_files/shared/usr/lib/tmpfiles.d/homebrew.conf deleted file mode 100644 index 99696f8..0000000 --- a/system_files/shared/usr/lib/tmpfiles.d/homebrew.conf +++ /dev/null @@ -1 +0,0 @@ -d /var/home/linuxbrew 0755 1000 1000 - - \ No newline at end of file diff --git a/system_files/shared/usr/lib/tmpfiles.d/incus-workaround.conf b/system_files/shared/usr/lib/tmpfiles.d/incus-workaround.conf deleted file mode 100644 index 1bff42e..0000000 --- a/system_files/shared/usr/lib/tmpfiles.d/incus-workaround.conf +++ /dev/null @@ -1,3 +0,0 @@ -C /usr/local/bin/overrides/incus - - - - /usr/bin/incus -C /usr/local/bin/overrides/incus-agent - - - - /usr/bin/incus-agent -C /usr/local/lib/overrides/incus - - - - /usr/lib/incus \ No newline at end of file diff --git a/system_files/shared/usr/lib/tmpfiles.d/kde-sysmonitor-workaround.conf b/system_files/shared/usr/lib/tmpfiles.d/kde-sysmonitor-workaround.conf deleted file mode 100644 index f8ca6dd..0000000 --- a/system_files/shared/usr/lib/tmpfiles.d/kde-sysmonitor-workaround.conf +++ /dev/null @@ -1 +0,0 @@ -C /usr/local/libexec/.ksysguard/ksgrd_network_helper - - - - /usr/libexec/ksysguard/ksgrd_network_helper \ No newline at end of file diff --git a/system_files/shared/usr/lib/tmpfiles.d/waydroid-workaround.conf b/system_files/shared/usr/lib/tmpfiles.d/waydroid-workaround.conf deleted file mode 100644 index 0d10d94..0000000 --- a/system_files/shared/usr/lib/tmpfiles.d/waydroid-workaround.conf +++ /dev/null @@ -1 +0,0 @@ -C /usr/local/lib/.waydroid - - - - /usr/lib/waydroid \ No newline at end of file diff --git a/system_files/shared/usr/libexec/containerbuild/build-initramfs b/system_files/shared/usr/libexec/containerbuild/build-initramfs deleted file mode 100755 index 4a748ed..0000000 --- a/system_files/shared/usr/libexec/containerbuild/build-initramfs +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/bash - -set -oue pipefail - -QUALIFIED_KERNEL="$(rpm -qa | grep -P 'kernel-(\d+\.\d+\.\d+)' | sed -E 's/kernel-//')" -/usr/libexec/rpm-ostree/wrapped/dracut --no-hostonly --kver "$QUALIFIED_KERNEL" --reproducible -v --add ostree -f "/lib/modules/$QUALIFIED_KERNEL/initramfs.img" - -chmod 0600 /lib/modules/$QUALIFIED_KERNEL/initramfs.img \ No newline at end of file diff --git a/system_files/shared/usr/libexec/containerbuild/image-info b/system_files/shared/usr/libexec/containerbuild/qtx-image-info similarity index 83% rename from system_files/shared/usr/libexec/containerbuild/image-info rename to system_files/shared/usr/libexec/containerbuild/qtx-image-info index 219430f..ff872bd 100755 --- a/system_files/shared/usr/libexec/containerbuild/image-info +++ b/system_files/shared/usr/libexec/containerbuild/qtx-image-info @@ -10,14 +10,7 @@ if [[ $IMAGE_BRANCH_NORMALIZED == "main" ]]; then IMAGE_BRANCH_NORMALIZED="stable" fi -case $FEDORA_MAJOR_VERSION in - 39|40) - IMAGE_TAG="stable" - ;; - *) - IMAGE_TAG="$FEDORA_MAJOR_VERSION" - ;; -esac +IMAGE_TAG="stable" cat > $IMAGE_INFO < "${QNTX_VER_FILE}" || { echo "Error writing to ${QNTX_VER_FILE}." >&2; exit 1; } \ No newline at end of file diff --git a/system_files/shared/usr/libexec/quantix-system-setup b/system_files/shared/usr/libexec/quantix-system-setup index daf308d..3f81531 100755 --- a/system_files/shared/usr/libexec/quantix-system-setup +++ b/system_files/shared/usr/libexec/quantix-system-setup @@ -1,7 +1,7 @@ #!/usr/bin/bash # Script version -readonly QNTX_VER=8 +readonly QNTX_VER=9 readonly QNTX_VER_DIR="/etc/quantix" readonly QNTX_VER_FILE="${QNTX_VER_DIR}/qntx_version" QNTX_VER_RAN="" @@ -48,33 +48,6 @@ else --reboot || exit 1 fi -# FSTAB CONFIGURATION -if [[ ! -e /etc/ublue-os/.fstab_adjusted.flag && $(grep "compress=zstd" /etc/fstab) ]]; then - echo "Applying fstab param adjustments" - sed -i 's/compress=zstd:1/noatime,lazytime,commit=120,discard=async,compress-force=zstd:1,space_cache=v2/g' /etc/fstab - touch /etc/ublue-os/.fstab_adjusted.flag -else - echo "No fstab param adjustments needed" -fi - -# WAYDROID FIX -if [[ -f "/var/lib/waydroid/lxc/waydroid/config" ]]; then - echo "Removing unneeded apparmor entry from Waydroid LXC" - sed -i '/lxc\.apparmor\.profile\s*=\s*unconfined/d' "/var/lib/waydroid/lxc/waydroid/config" -fi - -# HOSTNAME FIX -# If the hostname is too long Distrobox will fail during setup -# Let's check the length and reset it to something sensible if that happens. -if (( $(hostname | wc -m) > 20 )); then - hostnamectl set-hostname quantix -fi - -# Set default target to graphical, fixes rebase from base image -if grep -qv "graphical.target" <<< "$(systemctl get-default)"; then - systemctl set-default graphical.target -fi - # Add wheel users to appropriate groups QNTXGROUPS="plugdev input libvirt docker" wheelarray=($(getent group wheel | cut -d ":" -f 4 | tr ',' '\n')) diff --git a/system_files/shared/usr/libexec/quantix-user-setup b/system_files/shared/usr/libexec/quantix-user-setup index bdca8f5..7cb9ba5 100755 --- a/system_files/shared/usr/libexec/quantix-user-setup +++ b/system_files/shared/usr/libexec/quantix-user-setup @@ -9,7 +9,7 @@ elif [ "$(whoami)" = "sddm" ]; then fi # Script version -readonly QNTX_VER=8 +readonly QNTX_VER=9 readonly QNTX_VER_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/quantix" readonly QNTX_VER_FILE="${QNTX_VER_DIR}/qntx_version" QNTX_VER_RAN="" @@ -26,18 +26,6 @@ if [[ -n "${QNTX_VER_RAN}" && "${QNTX_VER}" == "${QNTX_VER_RAN}" ]]; then exit 0 fi -# Enable Flathub -flatpak remote-add --if-not-exists --user flathub /usr/etc/flatpak/remotes.d/flathub.flatpakrepo -flatpak remote-modify --user --enable flathub - -# Refresh fontconfig -if [[ -f "$HOME/.config/fontconfig" ]]; then - rm -rf "$HOME/.config/fontconfig" -fi - -echo 'Enabling System76-Scheduler KWin script' -kwriteconfig5 --file kwinrc --group Plugins --key kwin-system76-scheduler-integrationEnabled true - dconf load / < /etc/dconf/db/local.d/13-quantix # Write the version diff --git a/system_files/shared/usr/libexec/topgrade/lact-update b/system_files/shared/usr/libexec/topgrade/lact-update deleted file mode 100755 index 6a0eb55..0000000 --- a/system_files/shared/usr/libexec/topgrade/lact-update +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/bash -shopt -s nullglob - -echo "Looking for updates..." - -if [[ $(rpm -qa | grep lact) ]]; then - LACT_VERSION=$(curl -s https://api.github.com/repos/ilya-zlobintsev/LACT/releases/latest | jq -r '.tag_name | ltrimstr("v")') - if [[ ! $(rpm-ostree status | grep lact | grep $LACT_VERSION) ]]; then - # This will check if *any* rpm-ostree pin has the newest version, so we don't update needlessly if a user just needs to reboot or is trying an older pin. - echo "Found upstream version v$LACT_VERSION, updating..." - ublue-update --wait - echo 'Installing LACT...' - wget \ - $(curl -s https://api.github.com/repos/ilya-zlobintsev/LACT/releases/latest | \ - jq -r ".assets[] | select(.name | test(\"lact-[0-9].*fedora-$(rpm -E %fedora)\")) | .browser_download_url") \ - -O /tmp/lact.rpm - rpm-ostree override replace /tmp/lact.rpm - echo "Update complete" - fi -else - echo "LACT not installed, skipping." -fi - -exit 0 \ No newline at end of file diff --git a/system_files/overrides/usr/share/fish/vendor_conf.d/bazzite-neofetch.fish b/system_files/shared/usr/share/fish/vendor_conf.d/bazzite-neofetch.fish similarity index 100% rename from system_files/overrides/usr/share/fish/vendor_conf.d/bazzite-neofetch.fish rename to system_files/shared/usr/share/fish/vendor_conf.d/bazzite-neofetch.fish diff --git a/system_files/shared/usr/share/latencyflex/dxvk.conf b/system_files/shared/usr/share/latencyflex/dxvk.conf deleted file mode 100644 index 1f58655..0000000 --- a/system_files/shared/usr/share/latencyflex/dxvk.conf +++ /dev/null @@ -1,2 +0,0 @@ -dxgi.nvapiHack = False -dxgi.customVendorId = 10de \ No newline at end of file diff --git a/system_files/overrides/usr/share/pixmaps/bootloader/fedora.icns b/system_files/shared/usr/share/pixmaps/bootloader/fedora.icns similarity index 100% rename from system_files/overrides/usr/share/pixmaps/bootloader/fedora.icns rename to system_files/shared/usr/share/pixmaps/bootloader/fedora.icns diff --git a/system_files/overrides/usr/share/pixmaps/fedora-gdm-logo.png b/system_files/shared/usr/share/pixmaps/fedora-gdm-logo.png similarity index 100% rename from system_files/overrides/usr/share/pixmaps/fedora-gdm-logo.png rename to system_files/shared/usr/share/pixmaps/fedora-gdm-logo.png diff --git a/system_files/overrides/usr/share/pixmaps/fedora-logo-small.png b/system_files/shared/usr/share/pixmaps/fedora-logo-small.png similarity index 100% rename from system_files/overrides/usr/share/pixmaps/fedora-logo-small.png rename to system_files/shared/usr/share/pixmaps/fedora-logo-small.png diff --git a/system_files/overrides/usr/share/pixmaps/fedora-logo-sprite.png b/system_files/shared/usr/share/pixmaps/fedora-logo-sprite.png similarity index 100% rename from system_files/overrides/usr/share/pixmaps/fedora-logo-sprite.png rename to system_files/shared/usr/share/pixmaps/fedora-logo-sprite.png diff --git a/system_files/overrides/usr/share/pixmaps/fedora-logo-sprite.svg b/system_files/shared/usr/share/pixmaps/fedora-logo-sprite.svg similarity index 100% rename from system_files/overrides/usr/share/pixmaps/fedora-logo-sprite.svg rename to system_files/shared/usr/share/pixmaps/fedora-logo-sprite.svg diff --git a/system_files/overrides/usr/share/pixmaps/fedora-logo.png b/system_files/shared/usr/share/pixmaps/fedora-logo.png similarity index 100% rename from system_files/overrides/usr/share/pixmaps/fedora-logo.png rename to system_files/shared/usr/share/pixmaps/fedora-logo.png diff --git a/system_files/overrides/usr/share/pixmaps/fedora_logo_med.png b/system_files/shared/usr/share/pixmaps/fedora_logo_med.png similarity index 100% rename from system_files/overrides/usr/share/pixmaps/fedora_logo_med.png rename to system_files/shared/usr/share/pixmaps/fedora_logo_med.png diff --git a/system_files/overrides/usr/share/pixmaps/fedora_whitelogo.svg b/system_files/shared/usr/share/pixmaps/fedora_whitelogo.svg similarity index 100% rename from system_files/overrides/usr/share/pixmaps/fedora_whitelogo.svg rename to system_files/shared/usr/share/pixmaps/fedora_whitelogo.svg diff --git a/system_files/overrides/usr/share/pixmaps/fedora_whitelogo_med.png b/system_files/shared/usr/share/pixmaps/fedora_whitelogo_med.png similarity index 100% rename from system_files/overrides/usr/share/pixmaps/fedora_whitelogo_med.png rename to system_files/shared/usr/share/pixmaps/fedora_whitelogo_med.png diff --git a/system_files/overrides/usr/share/pixmaps/system-logo-white.png b/system_files/shared/usr/share/pixmaps/system-logo-white.png similarity index 100% rename from system_files/overrides/usr/share/pixmaps/system-logo-white.png rename to system_files/shared/usr/share/pixmaps/system-logo-white.png diff --git a/system_files/overrides/usr/share/plymouth/themes/spinner/watermark.png b/system_files/shared/usr/share/plymouth/themes/spinner/watermark.png similarity index 100% rename from system_files/overrides/usr/share/plymouth/themes/spinner/watermark.png rename to system_files/shared/usr/share/plymouth/themes/spinner/watermark.png diff --git a/system_files/shared/usr/share/polkit-1/actions/org.bazzite.waydroid.policy b/system_files/shared/usr/share/polkit-1/actions/org.bazzite.waydroid.policy deleted file mode 100644 index bbb66dd..0000000 --- a/system_files/shared/usr/share/polkit-1/actions/org.bazzite.waydroid.policy +++ /dev/null @@ -1,41 +0,0 @@ - - - - Bazzite - https://bazzite.gg - - - Start Waydroid Container - package-x-generic - - yes - yes - yes - - /usr/libexec/waydroid-container-start - - - - Stop Waydroid Container - package-x-generic - - yes - yes - yes - - /usr/libexec/waydroid-container-stop - - - - Fix Controllers in Waydroid - package-x-generic - - yes - yes - yes - - /usr/libexec/waydroid-fix-controllers - - \ No newline at end of file diff --git a/system_files/shared/usr/share/polkit-1/rules.d/30-waydroid.rules b/system_files/shared/usr/share/polkit-1/rules.d/30-waydroid.rules deleted file mode 100644 index 91d74c4..0000000 --- a/system_files/shared/usr/share/polkit-1/rules.d/30-waydroid.rules +++ /dev/null @@ -1,8 +0,0 @@ -polkit.addRule(function(action, subject) { - if ((action.id == "org.bazzite.policykit.waydroid.container.start" || - action.id == "org.bazzite.policykit.waydroid.container.stop" || - action.id == "org.bazzite.policykit.waydroid.fix.controllers") && - subject.isInGroup("wheel")) { - return polkit.Result.YES; - } -}); \ No newline at end of file diff --git a/system_files/shared/usr/share/polkit-1/rules.d/90-corectrl.rules b/system_files/shared/usr/share/polkit-1/rules.d/90-corectrl.rules deleted file mode 100644 index a77535a..0000000 --- a/system_files/shared/usr/share/polkit-1/rules.d/90-corectrl.rules +++ /dev/null @@ -1,9 +0,0 @@ -polkit.addRule(function(action, subject) { - if ((action.id == "org.corectrl.helper.init" || - action.id == "org.corectrl.helperkiller.init") && - subject.local == true && - subject.active == true && - subject.isInGroup("wheel")) { - return polkit.Result.YES; - } -}); \ No newline at end of file diff --git a/system_files/shared/usr/share/ublue-os/just/10-update.just b/system_files/shared/usr/share/ublue-os/just/10-update.just deleted file mode 100644 index 4b79688..0000000 --- a/system_files/shared/usr/share/ublue-os/just/10-update.just +++ /dev/null @@ -1,43 +0,0 @@ -# vim: set ft=make : - -alias upgrade := update - -# Update system, flatpaks, and containers all at once -update: - #!/usr/bin/bash - ublue-update --wait - /usr/bin/topgrade --config /usr/share/ublue-os/topgrade.toml --keep - -alias auto-update := toggle-updates - -# Turn automatic updates on or off -toggle-updates ACTION="prompt": - #!/usr/bin/bash - source /usr/lib/ujust/ujust.sh - CURRENT_STATE="Disabled" - if systemctl is-enabled ublue-update.timer | grep -q enabled; then - CURRENT_STATE="Enabled" - fi - OPTION={{ ACTION }} - if [ "$OPTION" == "prompt" ]; then - echo "Automatic updates are currently: ${bold}${CURRENT_STATE}${normal}" - echo "Enable or Disable automatic updates?" - OPTION=$(ugum choose Enable Disable) - elif [ "$OPTION" == "help" ]; then - echo "Usage: ujust toggle-updates