Skip to content

Commit 037f41a

Browse files
authored
feat: move flatpak lists to brewflles (#97)
* add dx-flatpaks brewfile * add system-flatpaks brewfile * add system-dx flatpaks * add brewfile validation * remove flatpak validation workflow not needed anymore * no need to copy flatpaks * fix the brewfiles fix the brewfiles fix typo small typo in comments
1 parent 1c976f2 commit 037f41a

5 files changed

Lines changed: 71 additions & 64 deletions

File tree

.github/workflows/validate-brewfiles.yml

Lines changed: 46 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ permissions:
55
on:
66
pull_request:
77
paths:
8-
- "brew/**"
8+
- "system_files/shared/usr/share/ublue-os/homebrew/**"
99
jobs:
1010
validate:
1111
runs-on: ubuntu-latest
@@ -16,25 +16,51 @@ jobs:
1616
- name: Set up Homebrew
1717
uses: Homebrew/actions/setup-homebrew@main
1818

19-
2019
- name: Validate Brewfiles
2120
shell: bash
2221
run: |
23-
echo "Validating Brewfiles..."
24-
25-
26-
find "system_files/shared/usr/share/ublue-os/homebrew" -iname '*\.Brewfile*' -print0 | \
27-
while IFS= read -r -d '' brewfile ; do \
28-
echo "::group:: ===$(basename $brewfile)==="
29-
grep -E -e "^tap" $brewfile > taps.Brewfile
30-
set -xeuo pipefail
31-
brew bundle --file=./taps.Brewfile
32-
if brew bundle exec whoami --file="$brewfile" | grep -F -e "${USER}" ; then
33-
echo "✓ $brewfile is valid"
34-
else
35-
echo "✗ $brewfile validation failed"
36-
exit 1
37-
fi
38-
set +xeuo pipefail
39-
echo "::endgroup::"
40-
done
22+
echo "Validating Brewfiles in homebrew directory..."
23+
24+
STATUS_FILE=$(mktemp)
25+
echo "PASS" > "$STATUS_FILE"
26+
27+
while IFS= read -r -d '' brewfile ; do
28+
echo "::group:: ===$(basename $brewfile)==="
29+
30+
grep -E -e "^tap" "$brewfile" > taps.Brewfile || true
31+
echo "Syncing taps..."
32+
brew bundle --file=./taps.Brewfile > /dev/null 2>&1 || true
33+
34+
# Extract combined list for parallel check
35+
FORMULAS=$(grep -E '^\s*brew\s+["'\'']' "$brewfile" | sed -E 's/^\s*brew\s+["'\'']([^"'\'']+)["'\''].*/formula \1/' || true)
36+
CASKS=$(grep -E '^\s*cask\s+["'\'']' "$brewfile" | sed -E 's/^\s*cask\s+["'\'']([^"'\'']+)["'\''].*/cask \1/' || true)
37+
38+
ENTRIES=$(printf "%s\n%s" "$FORMULAS" "$CASKS" | grep -v '^\s*$' || true)
39+
40+
if [ -n "$ENTRIES" ]; then
41+
echo "$ENTRIES" | xargs -P 8 -I {} bash -c '
42+
TYPE=$(echo "{}" | cut -d" " -f1)
43+
NAME=$(echo "{}" | cut -d" " -f2)
44+
if ! brew info --$TYPE "$NAME" &> /dev/null; then
45+
echo "✗ $TYPE \"$NAME\" is invalid or missing tap"
46+
echo "FAIL" >> "'"$STATUS_FILE"'"
47+
else
48+
echo "✓ $TYPE \"$NAME\" is valid"
49+
fi
50+
'
51+
else
52+
echo "No formulas or casks found."
53+
fi
54+
55+
echo "::endgroup::"
56+
done < <(find "system_files/shared/usr/share/ublue-os/homebrew" -iname '*\.Brewfile*' -print0)
57+
58+
rm -f taps.Brewfile
59+
60+
if grep -q "FAIL" "$STATUS_FILE"; then
61+
echo "Validation complete. Some Brewfiles FAILED."
62+
exit 1
63+
else
64+
echo "Validation complete. All Brewfiles PASSED."
65+
exit 0
66+
fi

.github/workflows/validate-flatpaks.yml

Lines changed: 0 additions & 43 deletions
This file was deleted.

Containerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,4 @@ FROM scratch AS ctx
7070
COPY --from=ghcr.io/projectbluefin/common:latest /system_files/shared /system_files/shared
7171
COPY --from=builder /out/wallpapers /wallpapers
7272
COPY --from=builder /out/logos /logos
73-
COPY /flatpaks /flatpaks
7473
COPY /system_files /system_files
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Flatpaks for DX mode on Aurora
2+
flatpak "io.podman_desktop.PodmanDesktop"
3+
flatpak "io.github.getnf.embellish"
4+
flatpak "me.iepure.devtoolbox"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Default system-wide flatpaks for Aurora
2+
flatpak "com.github.tchx84.Flatseal"
3+
flatpak "com.ranfdev.DistroShelf"
4+
flatpak "io.github.flattool.Warehouse"
5+
flatpak "io.github.kolunmi.Bazaar"
6+
flatpak "io.missioncenter.MissionCenter"
7+
flatpak "org.deskflow.deskflow"
8+
flatpak "org.fedoraproject.MediaWriter"
9+
flatpak "org.fkoehler.KTailctl"
10+
flatpak "org.gnome.DejaDup"
11+
flatpak "org.gtk.Gtk3theme.Breeze"
12+
flatpak "org.kde.gwenview"
13+
flatpak "org.kde.haruna"
14+
flatpak "org.kde.kcalc"
15+
flatpak "org.kde.kclock"
16+
flatpak "org.kde.kontact"
17+
flatpak "org.kde.kweather"
18+
flatpak "org.kde.okular"
19+
flatpak "org.kde.skanpage"
20+
flatpak "org.mozilla.Thunderbird"
21+
flatpak "org.mozilla.firefox"

0 commit comments

Comments
 (0)