From eeb93f970060086372938e1c324bd44db30c2112 Mon Sep 17 00:00:00 2001 From: RJ Trujillo Date: Sun, 18 Jun 2023 19:22:17 +0000 Subject: [PATCH] feat: Overhaul images These changes effectively make the structure similar to bluefin. bazzite now serves as a base for desktop configurations and now bazzite-deck has been introduced to add changes specific to the Steam Deck and Steam Deck-alike configurations. Also: - Introduce images built from main for non-Nvidia systems - Consolidate structure (remove duplicates, merge Containerfiles) --- .github/workflows/build.yml | 123 ++++++++++++------ Containerfile | 91 ++++++++++--- Containerfile-desktop | 43 ------ README.md | 4 +- {etc => deck/etc}/default/deckswap | 0 {etc => deck/etc}/sddm.conf.d/virtualkbd.conf | 0 deck/etc/sysctl.conf | 1 + .../etc}/systemd/system/deckswap.service | 0 .../user/distrobox-upgrade-automatic.service | 1 - .../bin/gamescope-wayland-teardown-workaround | 0 {usr => deck/usr}/bin/os-session-select | 0 .../usr}/bin/startplasma-steamos-oneshot | 0 {usr => deck/usr}/bin/steamos-logger | 0 {usr => deck/usr}/bin/steamos-update | 0 .../plasma-steamos-oneshot.desktop | 0 etc-desktop/default/duperemove | 5 - etc-desktop/sysctl.conf | 4 - .../systemd/system/duperemove-weekly@.timer | 18 --- .../systemd/system/duperemove@.service | 22 ---- .../user/distrobox-upgrade-automatic.timer | 9 -- .../user/flatpak-upgrade-automatic.service | 12 -- .../user/flatpak-upgrade-automatic.timer | 10 -- etc/sysctl.conf | 3 + .../user/distrobox-upgrade-automatic.service | 1 + .../bin/system76-scheduler-dbus-proxy.sh | 0 25 files changed, 157 insertions(+), 190 deletions(-) delete mode 100644 Containerfile-desktop rename {etc => deck/etc}/default/deckswap (100%) rename {etc => deck/etc}/sddm.conf.d/virtualkbd.conf (100%) create mode 100644 deck/etc/sysctl.conf rename {etc => deck/etc}/systemd/system/deckswap.service (100%) rename {etc-desktop => deck/etc}/systemd/user/distrobox-upgrade-automatic.service (62%) rename {usr => deck/usr}/bin/gamescope-wayland-teardown-workaround (100%) rename {usr => deck/usr}/bin/os-session-select (100%) rename {usr => deck/usr}/bin/startplasma-steamos-oneshot (100%) rename {usr => deck/usr}/bin/steamos-logger (100%) rename {usr => deck/usr}/bin/steamos-update (100%) rename {usr => deck/usr}/share/wayland-sessions/plasma-steamos-oneshot.desktop (100%) delete mode 100644 etc-desktop/default/duperemove delete mode 100644 etc-desktop/sysctl.conf delete mode 100644 etc-desktop/systemd/system/duperemove-weekly@.timer delete mode 100644 etc-desktop/systemd/system/duperemove@.service delete mode 100644 etc-desktop/systemd/user/distrobox-upgrade-automatic.timer delete mode 100644 etc-desktop/systemd/user/flatpak-upgrade-automatic.service delete mode 100644 etc-desktop/systemd/user/flatpak-upgrade-automatic.timer rename {usr-desktop => usr}/bin/system76-scheduler-dbus-proxy.sh (100%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 30bbddd4..6fbdaced 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,13 +1,21 @@ -name: build-bazzite +name: Build and Push Image on: + schedule: + - cron: '20 21 * * *' # 21:20 UTC every day pull_request: branches: - main - schedule: - - cron: '20 21 * * *' # 9:20pm everyday + paths-ignore: + - '**.md' + - '**.txt' push: branches: - main + paths-ignore: + - '**.md' + - '**.txt' + merge_group: + workflow_dispatch: env: IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} @@ -22,24 +30,74 @@ jobs: strategy: fail-fast: false matrix: - image_name: ['', '-desktop'] + image_flavor: [main, nvidia] + base_name: [bazzite, bazzite-deck] major_version: [37, 38] include: - - major_version: 37 - is_latest: false - is_stable: true - major_version: 38 - is_latest: true - is_stable: true + is_latest_version: false + is_stable_version: true + - major_version: 38 + is_latest_version: true + is_stable_version: true steps: # Checkout push-to-registry action GitHub repository - name: Checkout Push to Registry action uses: actions/checkout@v3 - - name: Get current version + - name: Matrix Variables + run: | + if [[ "${{ matrix.image_flavor }}" == "main" ]]; then + echo "IMAGE_NAME=${{ matrix.base_name }}" >> $GITHUB_ENV + else + echo "IMAGE_NAME=${{ format('{0}-{1}', matrix.base_name, matrix.image_flavor) }}" >> $GITHUB_ENV + fi + + - name: Generate tags + id: generate-tags + shell: bash + run: | + # Generate a timestamp for creating an image version history + TIMESTAMP="$(date +%Y%m%d)" + MAJOR_VERSION="${{ matrix.major_version }}" + COMMIT_TAGS=() + BUILD_TAGS=() + # Have tags for tracking builds during pull request + SHA_SHORT="${GITHUB_SHA::7}" + COMMIT_TAGS+=("pr-${{ github.event.number }}-${MAJOR_VERSION}") + COMMIT_TAGS+=("${SHA_SHORT}-${MAJOR_VERSION}") + if [[ "${{ matrix.is_latest_version }}" == "true" ]] && \ + [[ "${{ matrix.is_stable_version }}" == "true" ]]; then + COMMIT_TAGS+=("pr-${{ github.event.number }}") + COMMIT_TAGS+=("${SHA_SHORT}") + fi + + BUILD_TAGS=("${MAJOR_VERSION}" "${MAJOR_VERSION}-${TIMESTAMP}") + + if [[ "${{ matrix.is_latest_version }}" == "true" ]] && \ + [[ "${{ matrix.is_stable_version }}" == "true" ]]; then + BUILD_TAGS+=("latest") + 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: Get Current Fedora Version id: labels run: | - ver=$(skopeo inspect docker://ghcr.io/ublue-os/kinoite-nvidia:${{ matrix.major_version }} | jq -r '.Labels["org.opencontainers.image.version"]') + ver=$(skopeo inspect docker://ghcr.io/ublue-os/kinoite-${{ matrix.image_flavor }}:${{ matrix.major_version }} | jq -r '.Labels["org.opencontainers.image.version"]') echo "VERSION=$ver" >> $GITHUB_OUTPUT # Build metadata @@ -48,34 +106,13 @@ jobs: id: meta with: images: | - ${{ format('bazzite{0}', matrix.image_name) }} + ${{ env.IMAGE_NAME }} labels: | - org.opencontainers.image.title=${{ format('bazzite{0}', matrix.image_name) }} + org.opencontainers.image.title=${{ env.IMAGE_NAME }} org.opencontainers.image.version=${{ steps.labels.outputs.VERSION }} org.opencontainers.image.description=Gaming-focused builds of ublue-os with arch distrobox images for gaming, nvidia support, and future support for Valve's Steam Deck. io.artifacthub.package.readme-url=https://raw.githubusercontent.com/ublue-os/bazzite/main/README.md - - - name: Generate tags - id: generate-tags - shell: bash - run: | - echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - alias_tags=() - # Only perform the follow code when the action is spawned from a Pull Request - if [[ "${{ github.event_name }}" == "pull_request" ]]; then - alias_tags+=("pr-${{ github.event.number }}") - else - # The following is run when the timer is triggered or a merge/push to main - echo "date=$(date +%Y%m%d)" >> $GITHUB_OUTPUT - alias_tags+=("${{ matrix.major_version }}") - if [[ "${{ matrix.is_latest }}" == "true" ]]; then - alias_tags+=("latest") - fi - if [[ "${{ matrix.is_stable }}" == "true" ]]; then - alias_tags+=("stable") - fi - fi - echo "alias_tags=${alias_tags[*]}" >> $GITHUB_OUTPUT + io.artifacthub.package.logo-url=https://avatars.githubusercontent.com/u/120078124?s=200&v=4 # Build image using Buildah action - name: Build Image @@ -83,17 +120,18 @@ jobs: uses: redhat-actions/buildah-build@v2 with: containerfiles: | - ${{ format('./Containerfile{0}', matrix.image_name) }} - image: ${{ format('bazzite{0}', matrix.image_name) }} + ./Containerfile + image: ${{ env.IMAGE_NAME }} tags: | ${{ steps.generate-tags.outputs.alias_tags }} - ${{ steps.generate-tags.outputs.date }} - ${{ steps.generate-tags.outputs.sha_short }} build-args: | - IMAGE_NAME=${{ matrix.image_name }} + IMAGE_NAME=${{ env.IMAGE_NAME }} + IMAGE_FLAVOR=${{ matrix.image_flavor }} FEDORA_MAJOR_VERSION=${{ matrix.major_version }} 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 @@ -119,6 +157,7 @@ jobs: password: ${{ env.REGISTRY_PASSWORD }} extra-args: | --disable-content-trust + - name: Login to GitHub Container Registry uses: docker/login-action@v2 if: github.event_name != 'pull_request' @@ -134,9 +173,7 @@ jobs: - name: Sign container image if: github.event_name != 'pull_request' run: | - echo "${{ env.COSIGN_PRIVATE_KEY }}" > cosign.key - wc -c cosign.key - cosign sign -y --key cosign.key ${{ steps.registry_case.outputs.lowercase }}/${{ steps.build_image.outputs.image }}@${TAGS} + cosign sign -y --key env://COSIGN_PRIVATE_KEY ${{ steps.registry_case.outputs.lowercase }}/${{ env.IMAGE_NAME }}@${TAGS} env: TAGS: ${{ steps.push.outputs.digest }} COSIGN_EXPERIMENTAL: false diff --git a/Containerfile b/Containerfile index e327c36b..fed9cf26 100644 --- a/Containerfile +++ b/Containerfile @@ -1,47 +1,41 @@ -FROM ghcr.io/ublue-os/kinoite-nvidia:latest +ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME:-kinoite}" +ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-main}" +ARG SOURCE_IMAGE="${SOURCE_IMAGE:-$BASE_IMAGE_NAME-$IMAGE_FLAVOR}" +ARG BASE_IMAGE="ghcr.io/ublue-os/${SOURCE_IMAGE}" +ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-38}" + +FROM ${BASE_IMAGE}:${FEDORA_MAJOR_VERSION} AS bazzite + +ARG IMAGE_NAME="${IMAGE_NAME}" +ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}" COPY etc /etc COPY usr /usr -RUN ln -s /usr/bin/steamos-logger /usr/bin/steamos-info && \ - ln -s /usr/bin/steamos-logger /usr/bin/steamos-notice && \ - ln -s /usr/bin/steamos-logger /usr/bin/steamos-warning # Add Copr repos RUN wget https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite/repo/fedora-$(rpm -E %fedora)/kylegospo-bazzite-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \ - wget https://copr.fedorainfracloud.org/coprs/kylegospo/LatencyFleX/repo/fedora-$(rpm -E %fedora)/kylegospo-LatencyFleX-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-latencyflex.repo && \ + wget https://copr.fedorainfracloud.org/coprs/kylegospo/system76-scheduler/repo/fedora-$(rpm -E %fedora)/kylegospo-system76-scheduler-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-system76-scheduler.repo && \ wget https://copr.fedorainfracloud.org/coprs/kylegospo/hl2linux-selinux/repo/fedora-$(rpm -E %fedora)/kylegospo-hl2linux-selinux-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo # Install new packages RUN rpm-ostree install \ distrobox \ - steam \ - gamescope \ - gamescope-session \ - jupiter-fan-control \ - jupiter-hw-support-btrfs \ - steamdeck-kde-presets \ - gamemode \ - latencyflex-vulkan-layer \ - hl2linux-selinux \ + steamdeck-kde-themes \ wallpaper-engine-kde-plugin \ - vkBasalt \ - mangohud \ duperemove \ kdeconnectd \ + system76-scheduler \ + hl2linux-selinux \ btop \ fish \ kate -# Install dock updater, this is done manually as it has proprietary parts and cannot be built in Copr. -RUN git clone https://github.com/KyleGospo/jupiter-dock-updater-bin.git && \ - mv -v jupiter-dock-updater-bin/packaged/usr/lib/jupiter-dock-updater /usr/lib/jupiter-dock-updater - # Remove unneeded packages RUN rpm-ostree override remove toolbox # Cleanup & Finalize RUN 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-latencyflex.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-hl2linux-selinux.repo && \ sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/user.conf && \ sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/system.conf && \ @@ -51,4 +45,59 @@ RUN sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.re /tmp/* \ /var/* && \ mkdir -p /var/lib/duperemove && \ + ostree container commit && \ + mkdir -p /var/tmp && \ + chmod -R 1777 /var/tmp + +FROM bazzite as bazzite-deck + +ARG IMAGE_NAME="${IMAGE_NAME}" +ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}" + +# Add LatencyFlex Copr +RUN wget https://copr.fedorainfracloud.org/coprs/kylegospo/LatencyFleX/repo/fedora-$(rpm -E %fedora)/kylegospo-LatencyFleX-fedora-$(rpm -E %fedora).repo -O \ + /etc/yum.repos.d/_copr_kylegospo-latencyflex.repo + +# Re-enable Copr +RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \ + sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo + +# Remove system76-scheduler +RUN rpm-ostree override remove system76-scheduler +RUN rm -f /usr/bin/system76-scheduler-dbus-proxy.sh + +# Remove steamdeck-kde-themes +RUN rpm-ostree override remove steamdeck-kde-themes + +COPY deck/etc /etc +COPY deck/usr /usr +RUN ln -s /usr/bin/steamos-logger /usr/bin/steamos-info && \ + ln -s /usr/bin/steamos-logger /usr/bin/steamos-notice && \ + ln -s /usr/bin/steamos-logger /usr/bin/steamos-warning + +# Install new packages +RUN rpm-ostree install \ + steam \ + gamescope \ + gamescope-session \ + jupiter-fan-control \ + jupiter-hw-support-btrfs \ + steamdeck-kde-presets \ + gamemode \ + latencyflex-vulkan-layer \ + vkBasalt \ + mangohud + +# Install dock updater, this is done manually as it has proprietary parts and cannot be built in Copr. +RUN git clone https://github.com/KyleGospo/jupiter-dock-updater-bin.git && \ + mv -v jupiter-dock-updater-bin/packaged/usr/lib/jupiter-dock-updater /usr/lib/jupiter-dock-updater + +# Cleanup & Finalize +RUN 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-latencyflex.repo && \ + sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo && \ + rm -rf \ + /tmp/* \ + /var/* && \ + mkdir -p /var/lib/duperemove && \ ostree container commit diff --git a/Containerfile-desktop b/Containerfile-desktop deleted file mode 100644 index f64fcc1d..00000000 --- a/Containerfile-desktop +++ /dev/null @@ -1,43 +0,0 @@ -FROM ghcr.io/ublue-os/kinoite-nvidia:latest - -COPY etc-desktop /etc -COPY usr-desktop /usr - -# Re-enable RPMFusion repos & add Copr repos -RUN 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-free{,-updates}.repo && \ - wget https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite/repo/fedora-$(rpm -E %fedora)/kylegospo-bazzite-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \ - wget https://copr.fedorainfracloud.org/coprs/kylegospo/system76-scheduler/repo/fedora-$(rpm -E %fedora)/kylegospo-system76-scheduler-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-system76-scheduler.repo && \ - wget https://copr.fedorainfracloud.org/coprs/kylegospo/hl2linux-selinux/repo/fedora-$(rpm -E %fedora)/kylegospo-hl2linux-selinux-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo - -# Install new packages -RUN rpm-ostree install \ - distrobox \ - steamdeck-kde-themes \ - wallpaper-engine-kde-plugin \ - duperemove \ - kdeconnectd \ - system76-scheduler \ - hl2linux-selinux \ - btop \ - fish \ - kate - -# Remove unneeded packages -RUN rpm-ostree override remove toolbox - -# Cleanup & Finalize -RUN 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-free{,-updates}.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-system76-scheduler.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo && \ - sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/user.conf && \ - sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/system.conf && \ - sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf && \ - systemctl enable rpm-ostreed-automatic.timer && \ - rm -rf \ - /tmp/* \ - /var/* && \ - mkdir -p /var/lib/duperemove && \ - ostree container commit diff --git a/README.md b/README.md index eb8bc450..100ee5dc 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![build-bazzite](https://github.com/ublue-os/bazzite/actions/workflows/build.yml/badge.svg)](https://github.com/ublue-os/bazzite/actions/workflows/build.yml) -Bazzite is an OCI based off of [ublue-os/kinoite-nvidia](https://github.com/ublue-os/nvidia) that is intended to be an alternative OS for the [Steam Deck](https://www.steamdeck.com/) and a SteamOS-alike for desktops. +Bazzite is an OCI based off of [ublue-os/kinoite](https://github.com/ublue-os/main) that is intended to be an alternative OS for the [Steam Deck](https://www.steamdeck.com/) and is a SteamOS-alike for desktops. ### Bazzite is currently in development and should not be used on real hardware under any circumstance. Feel free to test in a VM. ### Bazzite is not associated with Valve Software in any way, and maintainers of the Bazzite project are not liable for any damage that may occur during use of the operating system. @@ -21,7 +21,7 @@ The `latest` tag will automatically point to the latest build. ## Features -- Start with a base [ublue-os/kinoite-nvidia](https://github.com/ublue-os/nvidia) image +- Start with a base [ublue-os/kinoite](https://github.com/ublue-os/main) image - Adds ported versions of Valve's Steam Deck packages - Adds h264 decoding out of the box via RPM Fusion - Supports LatencyFleX & vkBasalt out of the box diff --git a/etc/default/deckswap b/deck/etc/default/deckswap similarity index 100% rename from etc/default/deckswap rename to deck/etc/default/deckswap diff --git a/etc/sddm.conf.d/virtualkbd.conf b/deck/etc/sddm.conf.d/virtualkbd.conf similarity index 100% rename from etc/sddm.conf.d/virtualkbd.conf rename to deck/etc/sddm.conf.d/virtualkbd.conf diff --git a/deck/etc/sysctl.conf b/deck/etc/sysctl.conf new file mode 100644 index 00000000..5ec9db4b --- /dev/null +++ b/deck/etc/sysctl.conf @@ -0,0 +1 @@ +vm.swappiness=35 diff --git a/etc/systemd/system/deckswap.service b/deck/etc/systemd/system/deckswap.service similarity index 100% rename from etc/systemd/system/deckswap.service rename to deck/etc/systemd/system/deckswap.service diff --git a/etc-desktop/systemd/user/distrobox-upgrade-automatic.service b/deck/etc/systemd/user/distrobox-upgrade-automatic.service similarity index 62% rename from etc-desktop/systemd/user/distrobox-upgrade-automatic.service rename to deck/etc/systemd/user/distrobox-upgrade-automatic.service index 7d9b78e7..c7fbf635 100644 --- a/etc-desktop/systemd/user/distrobox-upgrade-automatic.service +++ b/deck/etc/systemd/user/distrobox-upgrade-automatic.service @@ -4,5 +4,4 @@ Description=distrobox-upgrade Automatic Update [Service] Type=simple ExecStart=/usr/bin/distrobox-upgrade --all -ExecStartPost=/usr/bin/distrobox-enter -n bazzite-arch -- ' paru -Syu --noconfirm' StandardOutput=null diff --git a/usr/bin/gamescope-wayland-teardown-workaround b/deck/usr/bin/gamescope-wayland-teardown-workaround similarity index 100% rename from usr/bin/gamescope-wayland-teardown-workaround rename to deck/usr/bin/gamescope-wayland-teardown-workaround diff --git a/usr/bin/os-session-select b/deck/usr/bin/os-session-select similarity index 100% rename from usr/bin/os-session-select rename to deck/usr/bin/os-session-select diff --git a/usr/bin/startplasma-steamos-oneshot b/deck/usr/bin/startplasma-steamos-oneshot similarity index 100% rename from usr/bin/startplasma-steamos-oneshot rename to deck/usr/bin/startplasma-steamos-oneshot diff --git a/usr/bin/steamos-logger b/deck/usr/bin/steamos-logger similarity index 100% rename from usr/bin/steamos-logger rename to deck/usr/bin/steamos-logger diff --git a/usr/bin/steamos-update b/deck/usr/bin/steamos-update similarity index 100% rename from usr/bin/steamos-update rename to deck/usr/bin/steamos-update diff --git a/usr/share/wayland-sessions/plasma-steamos-oneshot.desktop b/deck/usr/share/wayland-sessions/plasma-steamos-oneshot.desktop similarity index 100% rename from usr/share/wayland-sessions/plasma-steamos-oneshot.desktop rename to deck/usr/share/wayland-sessions/plasma-steamos-oneshot.desktop diff --git a/etc-desktop/default/duperemove b/etc-desktop/default/duperemove deleted file mode 100644 index c850be30..00000000 --- a/etc-desktop/default/duperemove +++ /dev/null @@ -1,5 +0,0 @@ -# Dir to store hash files. Each instance has own, named by $(systemd-escape ).hashfile -HashDir=/var/lib/duperemove -# Additional options for duperemove binary -OPTIONS="--skip-zeroes --hash=xxhash" - diff --git a/etc-desktop/sysctl.conf b/etc-desktop/sysctl.conf deleted file mode 100644 index f1c85e6b..00000000 --- a/etc-desktop/sysctl.conf +++ /dev/null @@ -1,4 +0,0 @@ -vm.swappiness=35 -vm.max_map_count=1048576 -net.core.default_qdisc=fq -net.ipv4.tcp_congestion_control=bbr diff --git a/etc-desktop/systemd/system/duperemove-weekly@.timer b/etc-desktop/systemd/system/duperemove-weekly@.timer deleted file mode 100644 index e3008a4e..00000000 --- a/etc-desktop/systemd/system/duperemove-weekly@.timer +++ /dev/null @@ -1,18 +0,0 @@ -[Unit] -# Usage: systemctl enable --now duperemove-weekly@$(systemd-escape ).timer -# Utilize %J specifier for duration set. -# One can hardlink/copy with 'weekly' part changed -# to set other duration. -Description=Deduplicate %I at calendar event (%J) -After=local-fs.target -Requires=local-fs.target -Conflicts=shutdown.target rescue.target rescue.service emergency.service - -[Timer] -Unit=duperemove@%i.service -RandomizedDelaySec=30 -Persistent=true -OnCalendar=%J - -[Install] -WantedBy=multi-user.target diff --git a/etc-desktop/systemd/system/duperemove@.service b/etc-desktop/systemd/system/duperemove@.service deleted file mode 100644 index 693e22d8..00000000 --- a/etc-desktop/systemd/system/duperemove@.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=Recursive deduplication at %I -Documentation=man:duperemove(8) -Documentation=https://github.com/markfasheh/duperemove.git -Conflicts=shutdown.target rescue.target rescue.service emergency.service -After=local-fs.target -Before=shutdown.target - -[Service] -Type=simple -Environment="HashDir=/var/lib/%p" -EnvironmentFile=-/etc/default/%p -MemoryHigh=1G -IOWeight=25 -CPUWeight=25 -Nice=18 -IOSchedulingClass=idle -CPUSchedulingPolicy=idle -ExecStartPre=/bin/mkdir -p ${HashDir} -ExecStartPre=-/bin/df -h %I -ExecStart=/usr/sbin/duperemove --hashfile=${HashDir}/%i.hashfile -r -d -h $OPTIONS %I -ExecStopPost=-/bin/df -h %I diff --git a/etc-desktop/systemd/user/distrobox-upgrade-automatic.timer b/etc-desktop/systemd/user/distrobox-upgrade-automatic.timer deleted file mode 100644 index 5192b672..00000000 --- a/etc-desktop/systemd/user/distrobox-upgrade-automatic.timer +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=distrobox-upgrade Automatic Update Trigger - -[Timer] -OnBootSec=1h -OnUnitInactiveSec=1d - -[Install] -WantedBy=timers.target diff --git a/etc-desktop/systemd/user/flatpak-upgrade-automatic.service b/etc-desktop/systemd/user/flatpak-upgrade-automatic.service deleted file mode 100644 index 140f6f59..00000000 --- a/etc-desktop/systemd/user/flatpak-upgrade-automatic.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=flatpak Automatic Update -Documentation=man:flatpak(1) -Wants=network-online.target -After=network-online.target - -[Service] -Type=oneshot -ExecStart=/usr/bin/flatpak update -y - -[Install] -WantedBy=multi-user.target diff --git a/etc-desktop/systemd/user/flatpak-upgrade-automatic.timer b/etc-desktop/systemd/user/flatpak-upgrade-automatic.timer deleted file mode 100644 index 0c1ca53a..00000000 --- a/etc-desktop/systemd/user/flatpak-upgrade-automatic.timer +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=flatpak Automatic Update Trigger -Documentation=man:flatpak(1) - -[Timer] -OnBootSec=1h -OnUnitInactiveSec=1d - -[Install] -WantedBy=timers.target diff --git a/etc/sysctl.conf b/etc/sysctl.conf index 5ec9db4b..f1c85e6b 100644 --- a/etc/sysctl.conf +++ b/etc/sysctl.conf @@ -1 +1,4 @@ vm.swappiness=35 +vm.max_map_count=1048576 +net.core.default_qdisc=fq +net.ipv4.tcp_congestion_control=bbr diff --git a/etc/systemd/user/distrobox-upgrade-automatic.service b/etc/systemd/user/distrobox-upgrade-automatic.service index c7fbf635..7d9b78e7 100644 --- a/etc/systemd/user/distrobox-upgrade-automatic.service +++ b/etc/systemd/user/distrobox-upgrade-automatic.service @@ -4,4 +4,5 @@ Description=distrobox-upgrade Automatic Update [Service] Type=simple ExecStart=/usr/bin/distrobox-upgrade --all +ExecStartPost=/usr/bin/distrobox-enter -n bazzite-arch -- ' paru -Syu --noconfirm' StandardOutput=null diff --git a/usr-desktop/bin/system76-scheduler-dbus-proxy.sh b/usr/bin/system76-scheduler-dbus-proxy.sh similarity index 100% rename from usr-desktop/bin/system76-scheduler-dbus-proxy.sh rename to usr/bin/system76-scheduler-dbus-proxy.sh