diff --git a/.github/workflows/build-bluefin-toolbox.yml b/.github/workflows/build-bluefin-toolbox.yml deleted file mode 100644 index 1fb22a0d0bb..00000000000 --- a/.github/workflows/build-bluefin-toolbox.yml +++ /dev/null @@ -1,110 +0,0 @@ -name: Build and Push Bluefin Toolbox Image -on: - schedule: - - cron: '20 22 * * *' # 10:20pm everyday - pull_request: - merge_group: - workflow_dispatch: -env: - IMAGE_NAME: bluefin-cli - IMAGE_TAGS: latest - IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - push-ghcr: - name: Build and push image - runs-on: ubuntu-22.04 - permissions: - contents: read - packages: write - id-token: write - strategy: - fail-fast: false - steps: - # Checkout push-to-registry action GitHub repository - - name: Checkout Push to Registry action - uses: actions/checkout@v4 - - - name: Verify base container - uses: EyeCantCU/cosign-action/verify@v0.2.1 - with: - containers: wolfi-base - cert-identity: https://github.com/chainguard-images/images/.github/workflows/release.yaml@refs/heads/main - oidc-issuer: https://token.actions.githubusercontent.com - registry: cgr.dev/chainguard - - # 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/ublue-os/boxkit/main/README.md - - # Build image using Buildah action - - name: Build Image - id: build_image - uses: redhat-actions/buildah-build@v2 - with: - containerfiles: | - ./toolboxes/Containerfile.bluefin-cli - image: ${{ env.IMAGE_NAME }} - tags: ${{ env.IMAGE_TAGS }} - 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 }} - - # Push the image to GHCR (Image Registry) - - name: Push To GHCR - uses: redhat-actions/push-to-registry@v2 - if: github.event_name != 'pull_request' - 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 }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - # Sign container - - uses: sigstore/cosign-installer@v3.3.0 - if: github.event_name != 'pull_request' - - - 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 }}/${{ env.IMAGE_NAME }}@${TAGS} - env: - TAGS: ${{ steps.push.outputs.digest }} - COSIGN_EXPERIMENTAL: false - COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} - - - name: Echo outputs - run: | - echo "${{ toJSON(steps.push.outputs) }}" diff --git a/.github/workflows/build-fedora-toolbox.yml b/.github/workflows/build-fedora-toolbox.yml deleted file mode 100644 index 47e9c3ad7c8..00000000000 --- a/.github/workflows/build-fedora-toolbox.yml +++ /dev/null @@ -1,106 +0,0 @@ -name: Build and Push Fedora Toolbox Image -on: - schedule: - - cron: '20 22 * * *' # 10:20pm everyday - pull_request: - merge_group: - workflow_dispatch: -env: - IMAGE_NAME: fedora-toolbox - IMAGE_TAGS: latest - IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - push-ghcr: - name: Build and push image - runs-on: ubuntu-22.04 - permissions: - contents: read - packages: write - id-token: write - strategy: - fail-fast: false - steps: - # Checkout push-to-registry action GitHub repository - - name: Checkout Push to Registry action - uses: actions/checkout@v4 - - - name: Verify Fedora distrobox - uses: EyeCantCU/cosign-action/verify@v0.2.1 - with: - containers: fedora-distrobox:latest - - # 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/ublue-os/boxkit/main/README.md - - # Build image using Buildah action - - name: Build Image - id: build_image - uses: redhat-actions/buildah-build@v2 - with: - containerfiles: | - ./toolboxes/Containerfile.fedora - image: ${{ env.IMAGE_NAME }} - tags: ${{ env.IMAGE_TAGS }} - 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 }} - - # Push the image to GHCR (Image Registry) - - name: Push To GHCR - uses: redhat-actions/push-to-registry@v2 - if: github.event_name != 'pull_request' - 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 }} - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - # Sign container - - uses: sigstore/cosign-installer@v3.3.0 - if: github.event_name != 'pull_request' - - - 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 }}/${{ env.IMAGE_NAME }}@${TAGS} - env: - TAGS: ${{ steps.push.outputs.digest }} - COSIGN_EXPERIMENTAL: false - COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} - - - name: Echo outputs - run: | - echo "${{ toJSON(steps.push.outputs) }}" diff --git a/.github/workflows/build-ubuntu-toolbox.yml b/.github/workflows/build-ubuntu-toolbox.yml deleted file mode 100644 index 03169fe5117..00000000000 --- a/.github/workflows/build-ubuntu-toolbox.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Build and Push Ubuntu Toolbox Image -on: - schedule: - - cron: '20 22 * * *' # 10:20pm everyday - pull_request: - merge_group: - workflow_dispatch: -env: - IMAGE_NAME: ubuntu-toolbox - IMAGE_TAGS: latest - IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - push-ghcr: - name: Build and push image - runs-on: ubuntu-22.04 - permissions: - contents: read - packages: write - id-token: write - strategy: - fail-fast: false - steps: - # Checkout push-to-registry action GitHub repository - - name: Checkout Push to Registry action - uses: actions/checkout@v4 - - - name: Verify Ubuntu toolbox - uses: EyeCantCU/cosign-action/verify@v0.2.1 - with: - containers: ubuntu-toolbox:22.04 - pubkey: https://raw.githubusercontent.com/toolbx-images/images/main/quay.io-toolbx-images.pub - registry: quay.io/toolbx-images - - # 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/ublue-os/boxkit/main/README.md - - # Build image using Buildah action - - name: Build Image - id: build_image - uses: redhat-actions/buildah-build@v2 - with: - containerfiles: | - ./toolboxes/Containerfile.ubuntu - image: ${{ env.IMAGE_NAME }} - tags: ${{ env.IMAGE_TAGS }} - 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 }} - - # Push the image to GHCR (Image Registry) - - name: Push To GHCR - uses: redhat-actions/push-to-registry@v2 - if: github.event_name != 'pull_request' - 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 }} - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - # Sign container - - uses: sigstore/cosign-installer@v3.3.0 - if: github.event_name != 'pull_request' - - - 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 }}/${{ env.IMAGE_NAME }}@${TAGS} - env: - TAGS: ${{ steps.push.outputs.digest }} - COSIGN_EXPERIMENTAL: false - COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} - - - name: Echo outputs - run: | - echo "${{ toJSON(steps.push.outputs) }}" diff --git a/.github/workflows/build-wolfi-toolbox.yml b/.github/workflows/build-wolfi-toolbox.yml deleted file mode 100644 index 017145a681c..00000000000 --- a/.github/workflows/build-wolfi-toolbox.yml +++ /dev/null @@ -1,110 +0,0 @@ -name: Build and Push Wolfi Toolbox Image -on: - schedule: - - cron: '20 22 * * *' # 10:20pm everyday - pull_request: - merge_group: - workflow_dispatch: -env: - IMAGE_NAME: wolfi-toolbox - IMAGE_TAGS: latest - IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - push-ghcr: - name: Build and push image - runs-on: ubuntu-22.04 - permissions: - contents: read - packages: write - id-token: write - strategy: - fail-fast: false - steps: - # Checkout push-to-registry action GitHub repository - - name: Checkout Push to Registry action - uses: actions/checkout@v4 - - - name: Verify base container - uses: EyeCantCU/cosign-action/verify@v0.2.1 - with: - containers: wolfi-base - cert-identity: https://github.com/chainguard-images/images/.github/workflows/release.yaml@refs/heads/main - oidc-issuer: https://token.actions.githubusercontent.com - registry: cgr.dev/chainguard - - # 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/ublue-os/boxkit/main/README.md - - # Build image using Buildah action - - name: Build Image - id: build_image - uses: redhat-actions/buildah-build@v2 - with: - containerfiles: | - ./toolboxes/Containerfile.wolfi - image: ${{ env.IMAGE_NAME }} - tags: ${{ env.IMAGE_TAGS }} - 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 }} - - # Push the image to GHCR (Image Registry) - - name: Push To GHCR - uses: redhat-actions/push-to-registry@v2 - if: github.event_name != 'pull_request' - 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 }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - # Sign container - - uses: sigstore/cosign-installer@v3.3.0 - if: github.event_name != 'pull_request' - - - 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 }}/${{ env.IMAGE_NAME }}@${TAGS} - env: - TAGS: ${{ steps.push.outputs.digest }} - COSIGN_EXPERIMENTAL: false - COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} - - - name: Echo outputs - run: | - echo "${{ toJSON(steps.push.outputs) }}" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9149ceaae1c..6a6b13eb9a5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,18 +41,17 @@ jobs: is_stable_version: true is_gts_version: false steps: - # Checkout push-to-registry action GitHub repository - - name: Checkout Push to Registry action + - name: Checkout uses: actions/checkout@v4 - name: Verify base image - uses: EyeCantCU/cosign-action/verify@v0.2.1 + uses: EyeCantCU/cosign-action/verify@v0.2.2 with: containers: silverblue-${{ matrix.image_flavor }}:${{ matrix.major_version }} - name: Verify Chainguard images if: matrix.base_name != 'bluefin' - uses: EyeCantCU/cosign-action/verify@v0.2.1 + uses: EyeCantCU/cosign-action/verify@v0.2.2 with: containers: dive, flux, helm, ko, minio, kubectl cert-identity: https://github.com/chainguard-images/images/.github/workflows/release.yaml@refs/heads/main @@ -224,7 +223,7 @@ jobs: - name: Echo outputs if: github.event_name != 'pull_request' run: | - echo "${{ toJSON(steps.push.outputs) }}" + echo "${{ toJSON(steps.push.outputs) }}" check: name: Check all builds successful diff --git a/.github/workflows/contributors.yml b/.github/workflows/contributors.yml new file mode 100644 index 00000000000..2ee8ffe3a2e --- /dev/null +++ b/.github/workflows/contributors.yml @@ -0,0 +1,22 @@ +name: Update Contributors + +on: + schedule: + - cron: '0 0 * * *' # Every day at midnight + push: + branches: + - main + +jobs: + update: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: akhilmhdh/contributors-readme-action@v2.3.6 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index d925a3ad034..cc0d6f83a28 100644 --- a/README.md +++ b/README.md @@ -22,3 +22,8 @@ A familiar(ish) Ubuntu desktop for Fedora Silverblue. It strives to cover these 3. [Developer Experience Edition](https://universal-blue.discourse.group/t/bluefin-dx-the-bluefin-developer-experience/39) 4. [Administrator's Guide](https://universal-blue.discourse.group/t/bluefin-administrators-guide/40) 5. [Framework Images](https://universal-blue.org/images/framework/) + +# Contributors + + + \ No newline at end of file diff --git a/dx/usr/bin/bluefin-dx-user-vscode b/dx/usr/bin/bluefin-dx-user-vscode index da85e47d6d9..e85ae45e1cd 100755 --- a/dx/usr/bin/bluefin-dx-user-vscode +++ b/dx/usr/bin/bluefin-dx-user-vscode @@ -1,13 +1,25 @@ #!/usr/bin/env bash # SCRIPT VERSION -USER_SETUP_VER=1 -USER_SETUP_VER_FILE="$HOME/.bluefin-vscode-configured" +USER_SETUP_VER=2 +USER_SETUP_VER_FILE="${XDG_DATA_HOME:-$HOME/.local/share}/ublue/vscode-configured" USER_SETUP_VER_RAN=$(cat "$USER_SETUP_VER_FILE") +mkdir -p "$(dirname "$USER_SETUP_VER_FILE")" || exit 1 + +USER_SETUP_VER_FILE_V1="$HOME/.bluefin-vscode-configured" +# Upgrade from v1 to v2 changes only the location of the USER_SETUP_VER. +# Exit if v1 file is present. +if [[ -f $USER_SETUP_VER_FILE_V1 ]]; then + echo "User setup v1 has already run. Exiting..." + rm $USER_SETUP_VER_FILE_V1 + echo "$USER_SETUP_VER" > "$USER_SETUP_VER_FILE" + exit 0 +fi + # Run script if updated if [[ -f $USER_SETUP_VER_FILE && "$USER_SETUP_VER" = "$USER_SETUP_VER_RAN" ]]; then - echo "User setup has already run. Exiting..." + echo "User setup v$VER has already run. Exiting..." exit 0 fi diff --git a/just/custom.just b/just/custom.just index 9f30b491caa..c5c0a11f6c5 100644 --- a/just/custom.just +++ b/just/custom.just @@ -30,8 +30,6 @@ bluefin-cli: mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/bluefin-cli/Cellar" fi; distrobox-create --nvidia --image ghcr.io/ublue-os/bluefin-cli:latest -n bluefin --volume "${XDG_DATA_HOME:-$HOME/.local/share}/bluefin-cli/Cellar":/home/linuxbrew/.linuxbrew/Cellar:z - echo "Setting up bluefin-cli" - distrobox enter -n bluefin -T -e brew_script echo "Entering bluefin-cli" distrobox enter -n bluefin diff --git a/toolboxes/Containerfile.bluefin-cli b/toolboxes/Containerfile.bluefin-cli deleted file mode 100644 index fd0fa869a5c..00000000000 --- a/toolboxes/Containerfile.bluefin-cli +++ /dev/null @@ -1,47 +0,0 @@ -FROM cgr.dev/chainguard/wolfi-base - -LABEL com.github.containers.toolbox="true" \ - usage="This image is meant to be used with the toolbox or distrobox command" \ - summary="A new cloud-native terminal experience powered by Wolfi and Homebrew" \ - maintainer="jorge.castro@gmail.com" - -COPY ./toolboxes/packages.bluefin-cli /toolbox-packages - -# Install brew_script -COPY ./toolboxes/files.bluefin-cli/brew_script.bluefin-cli /tmp/brew_script -RUN install -Dm755 /tmp/brew_script /usr/bin/brew_script - -# Update image -RUN apk update && \ - apk upgrade - -# Add optional packages -RUN grep -v '^#' /toolbox-packages | xargs apk add - -RUN rm /toolbox-packages - -# Get Distrobox-host-exec and host-spawn -RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/distrobox && \ - cp /tmp/distrobox/distrobox-host-exec /usr/bin/distrobox-host-exec && \ - wget https://github.com/1player/host-spawn/releases/download/$(cat /tmp/distrobox/distrobox-host-exec | grep host_spawn_version= | cut -d "\"" -f 2)/host-spawn-$(uname -m) -O /usr/bin/host-spawn && \ - chmod +x /usr/bin/host-spawn && \ - rm -drf /tmp/distrobox && \ - ln -fs /bin/sh /usr/bin/sh - -# Make some symlinks -RUN mkdir -p /usr/local/bin && \ - ln -fs /usr/bin/distrobox-host-exec /usr/local/bin/docker && \ - ln -fs /usr/bin/distrobox-host-exec /usr/local/bin/flatpak && \ - ln -fs /usr/bin/distrobox-host-exec /usr/local/bin/podman && \ - ln -fs /usr/bin/distrobox-host-exec /usr/local/bin/rpm-ostree - -# Make Sudo Work (Assumes UID = 1000) -COPY ./toolboxes/files.bluefin-cli/etc/sudoers /etc/sudoers -COPY ./toolboxes/files.bluefin-cli/etc/pam.d /etc/pam.d - -# Have Linuxbrew owned by UID = 1000 -RUN chown -R 1000 /home/linuxbrew - -# Change root shell to BASH - -RUN sed -i -e '/^root/s/\/bin\/ash/\/bin\/bash/' /etc/passwd diff --git a/toolboxes/Containerfile.fedora b/toolboxes/Containerfile.fedora deleted file mode 100644 index f91a21fc04b..00000000000 --- a/toolboxes/Containerfile.fedora +++ /dev/null @@ -1,14 +0,0 @@ -FROM ghcr.io/ublue-os/fedora-distrobox:latest -# From https://github.com/ublue-os/fedora-distrobox - -LABEL com.github.containers.toolbox="true" \ - usage="This image is meant to be used with the toolbox or distrobox command" \ - summary="A cloud-native terminal experience powered by Fedora" - -COPY ./toolboxes/packages.fedora /toolbox-packages - -RUN dnf -y upgrade && \ - dnf -y install $(> /etc/sudoers \ No newline at end of file diff --git a/toolboxes/Containerfile.wolfi b/toolboxes/Containerfile.wolfi deleted file mode 100644 index 1c7241d014d..00000000000 --- a/toolboxes/Containerfile.wolfi +++ /dev/null @@ -1,21 +0,0 @@ -FROM cgr.dev/chainguard/wolfi-base -# Thanks to Nuno do Carmo for the initial prototype - -LABEL com.github.containers.toolbox="true" \ - usage="This image is meant to be used with the toolbox or distrobox command" \ - summary="A blank Wolfi distrobox, suitable for development" \ - maintainer="jorge.castro@gmail.com" - -COPY ./toolboxes/packages.wolfi /toolbox-packages - -# Update image -RUN apk update && \ - apk upgrade - -# Add optional packages -RUN grep -v '^#' /toolbox-packages | xargs apk add - -RUN rm /toolbox-packages - -# Change root shell to BASH -RUN sed -i -e '/^root/s/\/bin\/ash/\/bin\/bash/' /etc/passwd diff --git a/toolboxes/files.bluefin-cli/brew_script.bluefin-cli b/toolboxes/files.bluefin-cli/brew_script.bluefin-cli deleted file mode 100644 index 1fab071e0ba..00000000000 --- a/toolboxes/files.bluefin-cli/brew_script.bluefin-cli +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -if [ ! -f /home/linuxbrew/.firstrun ]; then - touch /home/linuxbrew/.firstrun - - # Package Relink - if [ -n "$(ls -A /home/linuxbrew/.linuxbrew/Cellar)" ]; then - echo "Relinking Homebrew Cellar" - /home/linuxbrew/.linuxbrew/bin/brew list -1 | while read line - do - /home/linuxbrew/.linuxbrew/bin/brew unlink $line - /home/linuxbrew/.linuxbrew/bin/brew link $line - done - echo "Reinstalling explicictly installed Homebrew packages" - /home/linuxbrew/.linuxbrew/bin/brew leaves | while read line - do - /home/linuxbrew/.linuxbrew/bin/brew reinstall $line - done - fi -fi \ No newline at end of file diff --git a/toolboxes/files.bluefin-cli/etc/pam.d/sudo b/toolboxes/files.bluefin-cli/etc/pam.d/sudo deleted file mode 100644 index 7af73990b51..00000000000 --- a/toolboxes/files.bluefin-cli/etc/pam.d/sudo +++ /dev/null @@ -1,7 +0,0 @@ -#%PAM-1.0 - -auth required pam_env.so -auth sufficient pam_unix.so -account required pam_unix.so -session required pam_limits.so -session required pam_unix.so \ No newline at end of file diff --git a/toolboxes/files.bluefin-cli/etc/pam.d/sudo-i b/toolboxes/files.bluefin-cli/etc/pam.d/sudo-i deleted file mode 100644 index 7af73990b51..00000000000 --- a/toolboxes/files.bluefin-cli/etc/pam.d/sudo-i +++ /dev/null @@ -1,7 +0,0 @@ -#%PAM-1.0 - -auth required pam_env.so -auth sufficient pam_unix.so -account required pam_unix.so -session required pam_limits.so -session required pam_unix.so \ No newline at end of file diff --git a/toolboxes/files.bluefin-cli/etc/sudoers b/toolboxes/files.bluefin-cli/etc/sudoers deleted file mode 100644 index f144fac70b6..00000000000 --- a/toolboxes/files.bluefin-cli/etc/sudoers +++ /dev/null @@ -1,3 +0,0 @@ -root ALL = (ALL:ALL) NOPASSWD:ALL -# Make UID 1000 able to use sudo without a password -#1000 ALL = (root) NOPASSWD:ALL diff --git a/toolboxes/packages.bluefin-cli b/toolboxes/packages.bluefin-cli deleted file mode 100644 index c9e0d6307a0..00000000000 --- a/toolboxes/packages.bluefin-cli +++ /dev/null @@ -1,6 +0,0 @@ -bash -brew -command-not-found -git -procps -sudo-rs diff --git a/toolboxes/packages.fedora b/toolboxes/packages.fedora deleted file mode 100644 index 2652bf7cbaf..00000000000 --- a/toolboxes/packages.fedora +++ /dev/null @@ -1,2 +0,0 @@ -vim -ripgrep diff --git a/toolboxes/packages.ubuntu b/toolboxes/packages.ubuntu deleted file mode 100644 index 8a141ed3816..00000000000 --- a/toolboxes/packages.ubuntu +++ /dev/null @@ -1,89 +0,0 @@ -bc -dbus-x11 -direnv -fzf -libegl1-mesa -libgl1-mesa-glx -libvte-common -make -neofetch -plocate -progress -apt-utils -dialog -dirmngr -gnupg -gnupg-l10n -gnupg-utils -gnupg2 -gpg -ca-certificates -libnsl2 -libpython3-stdlib -gpg-agent -gpg-wks-client -gpg-wks-server -gpgsm -libksba8 -libnpth0 -libpython3.11-minimal -gpgconf -libnss-myhostname -libsqlite3-0 -libtirpc-common -libtirpc3 -libvte-2.91-common -openssl -lsof -pinentry-curses -time -libpython3.11-stdlib -libvulkan1 -media-types -mesa-vulkan-drivers -libbsd0 -libdrm-amdgpu1 -libdrm-common -libdrm-nouveau2 -libdrm-radeon1 -libdrm2 -libedit2 -libegl-mesa0 -libegl1 -libegl1-mesa -libelf1 -libexpat1 -libgbm1 -libgl1 -libgl1-amber-dri -libgl1-mesa-dri -libgl1-mesa-glx -libglapi-mesa -libglvnd0 -libglx-mesa0 -libglx0 -libicu70 -libllvm15 -libpciaccess0 -libsensors-config -libsensors5 -libwayland-client0 -libwayland-server0 -libx11-6 -libx11-data -libx11-xcb1 -libxau6 -libxcb-dri2-0 -libxcb-dri3-0 -libxcb-glx0 -libxcb-present0 -libxcb-randr0 -libxcb-shm0 -libxcb-sync1 -libxcb-xfixes0 -libxcb1 -libxdmcp6 -libxext6 -libxfixes3 -libxml2 -pigz diff --git a/toolboxes/packages.wolfi b/toolboxes/packages.wolfi deleted file mode 100644 index f582ccd2a88..00000000000 --- a/toolboxes/packages.wolfi +++ /dev/null @@ -1,33 +0,0 @@ -bash -bzip2 -coreutils -curl -diffutils -findmnt -findutils -gnupg -gpg -iproute2 -iputils -keyutils -libcap -mount -ncurses -ncurses-terminfo -net-tools -openssh-client -pigz -posix-libc-utils -procps -rsync -su-exec -tcpdump -tree -tzdata -umount -util-linux -util-linux-misc -wget -xz -zip -vulkan-loader diff --git a/usr/bin/ublue-user-flatpak-manager b/usr/bin/ublue-user-flatpak-manager index 24340369896..9b639275f0c 100755 --- a/usr/bin/ublue-user-flatpak-manager +++ b/usr/bin/ublue-user-flatpak-manager @@ -1,10 +1,22 @@ #!/usr/bin/env bash # Script Version -VER=1 -VER_FILE="$HOME/.ublue_flatpak_manager_version" +VER=2 +VER_FILE="${XDG_DATA_HOME:-$HOME/.local/share}/ublue/flatpak_manager_version" VER_RAN=$(cat $VER_FILE) +mkdir -p "$(dirname "$VER_FILE")" || exit 1 + +# Upgrade from v1 to v2 changes only the location of the VER_FILE. +# Exit if v1 file is present. +VER_1_FILE="$HOME/.ublue_flatpak_manager_version" +if [[ -f $VER_1_FILE ]]; then + echo "Flatpak manager v1 has already ran. Exiting..." + rm $VER_1_FILE + echo $VER > $VER_FILE + exit 0 +fi + # Run script if updated if [[ -f $VER_FILE && $VER = $VER_RAN ]]; then echo "Flatpak manager v$VER has already ran. Exiting..." diff --git a/usr/bin/ublue-user-setup b/usr/bin/ublue-user-setup index 8ba49cbaa84..018bfe75f9c 100755 --- a/usr/bin/ublue-user-setup +++ b/usr/bin/ublue-user-setup @@ -1,13 +1,27 @@ #!/usr/bin/env bash # SCRIPT VERSION -USER_SETUP_VER=1 -USER_SETUP_VER_FILE="$HOME/.ublue-configured" +USER_SETUP_VER=2 +USER_SETUP_VER_FILE="${XDG_DATA_HOME:-$HOME/.local/share}/ublue/user-setup" USER_SETUP_VER_RAN=$(cat $USER_SETUP_VER_FILE) +mkdir -p "$(dirname "$USER_SETUP_VER_FILE")" || exit 1 + +echo "$(dirname "$USER_SETUP_VER_FILE")" + +# Upgrade from v1 to v2 changes only the location of the USER_SETUP_VER. +# Exit if v1 file is present. +USER_SETUP_VER_FILE_V1="$HOME/.ublue-configured" +if [[ -f $USER_SETUP_VER_FILE_V1 ]]; then + echo "User setup v1 has already run. Exiting..." + rm $USER_SETUP_VER_FILE_V1 + echo $USER_SETUP_VER > $USER_SETUP_VER_FILE + exit 0 +fi + # Run script if updated if [[ -f $USER_SETUP_VER_FILE && $USER_SETUP_VER = $USER_SETUP_VER_RAN ]]; then - echo "User setup has already run. Exiting..." + echo "User setup v$VER has already run. Exiting..." exit 0 fi diff --git a/usr/etc/dconf/db/local.d/01-ublue b/usr/etc/dconf/db/local.d/01-ublue index 0c7ad2c310d..67db47e0418 100644 --- a/usr/etc/dconf/db/local.d/01-ublue +++ b/usr/etc/dconf/db/local.d/01-ublue @@ -2,20 +2,6 @@ favorite-apps = ['org.mozilla.firefox.desktop', 'org.mozilla.Thunderbird.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Rhythmbox3.desktop', 'org.libreoffice.LibreOffice.writer.desktop', 'org.gnome.Software.desktop', 'code.desktop', 'ubuntu.desktop', 'yelp.desktop'] enabled-extensions = ['appindicatorsupport@rgcjonas.gmail.com', 'dash-to-dock@micxgx.gmail.com', 'blur-my-shell@aunetx', 'gsconnect@andyholmes.github.io', 'logomenu@aryan_k', 'tailscale@joaophi.github.com'] -[org/gnome/desktop/app-folders] -folder-children=['Utilities', 'Distrobox', 'Wine', 'YaST', 'Pardus'] - -[org/gnome/desktop/app-folders/folders/Distrobox] -categories=['Distrobox'] -name='Distrobox' -translate=false - -[org/gnome/desktop/app-folders/folders/Wine] -apps=['winetricks.desktop'] -categories=['X-Wine', 'wine-wine'] -name='Wine' -translate=false - [org/gnome/desktop/background] picture-uri='file:///usr/share/backgrounds/bluefin/bluefin-winter-dynamic.xml' picture-uri-dark='file:///usr/share/backgrounds/bluefin/bluefin-winter-dynamic.xml' diff --git a/usr/etc/dconf/db/local.d/02-bluefin-folders b/usr/etc/dconf/db/local.d/02-bluefin-folders new file mode 100644 index 00000000000..f5ff60224f6 --- /dev/null +++ b/usr/etc/dconf/db/local.d/02-bluefin-folders @@ -0,0 +1,30 @@ +[org/gnome/desktop/app-folders] +folder-children=['Games', 'GamingUtilities', 'Utilities', 'Distrobox', 'Wine', 'YaST', 'Pardus'] + +[org/gnome/desktop/app-folders/folders/GamingUtilities] +apps=['protontricks.desktop', 'discover_overlay_configure.desktop', 'com.vysp3r.ProtonPlus.desktop', 'io.github.benjamimgois.goverlay.desktop', 'com.gerbilsoft.rom-properties.rp-config.desktop', 'input-remapper-gtk.desktop', 'steamos-nested-desktop.desktop'] +name='Gaming Utilities' +translate=false + +[org/gnome/desktop/app-folders/folders/Utilities] +apps=['com.github.tchx84.Flatseal.desktop', 'io.github.flattool.Warehouse.desktop', 'com.mattjakeman.ExtensionManager.desktop', 'org.gnome.tweaks.desktop', 'firewall-config.desktop', 'ca.desrt.dconf-editor.desktop'] +categories=['X-GNOME-Utilities'] +name='X-GNOME-Utilities.directory' +translate=true + +[org/gnome/desktop/app-folders/folders/Games] +excluded-apps=['steam.desktop', 'net.lutris.Lutris.desktop', 'io.github.benjamimgois.goverlay.desktop', 'com.vysp3r.ProtonPlus.desktop', 'io.github.fastrizwaan.WineZGUI.desktop'] +categories=['Game'] +name='Games' +translate=false + +[org/gnome/desktop/app-folders/folders/Distrobox] +categories=['Distrobox'] +name='Distrobox' +translate=false + +[org/gnome/desktop/app-folders/folders/Wine] +apps=['winetricks.desktop'] +categories=['X-Wine', 'wine-wine'] +name='Wine' +translate=false diff --git a/usr/etc/flatpak/user/install b/usr/etc/flatpak/user/install index 9afe16a4b77..16343c17e10 100644 --- a/usr/etc/flatpak/user/install +++ b/usr/etc/flatpak/user/install @@ -16,6 +16,7 @@ org.gnome.clocks org.gnome.font-viewer com.mattjakeman.ExtensionManager com.github.tchx84.Flatseal +io.github.flattool.Warehouse org.fedoraproject.MediaWriter io.missioncenter.MissionCenter io.github.celluloid_player.Celluloid