diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml new file mode 100644 index 0000000..af63c7d --- /dev/null +++ b/.forgejo/workflows/build.yaml @@ -0,0 +1,50 @@ +name: Build and Deploy ISO +on: + release: + types: [published] + +jobs: + build_iso: + runs-on: ubuntu-latest + container: + image: archlinux/archlinux:base-devel + privileged: true + + env: + Desktop: "gnome" + steps: + - name: Install Node.js + run: pacman -Syyu --noconfirm nodejs npm git sudo + - name: Checkout code + uses: actions/checkout@v4 + - name: Update system + run: pacman -Syyuu --noconfirm + - name: Check user + run: whoami + - name: Build ISO + run: | + sudo ./build.sh + echo "Renaming the output ISO file" + mv out/*.iso out/ParchLinux-${{ env.Desktop }}-latest.iso + echo "Generating MD5 checksum" + md5sum out/ParchLinux-${{ env.Desktop }}-latest.iso > out/md5sum.txt + echo "Build completed. Files generated:" + ls -lh out/ + - name: Setup dependencies + run: pacman -Syu --noconfirm sshpass rsync + + - name: Determine remote directory + run: | + if [[ "${{ github.event.release.tag_name }}" == *"beta"* ]]; then + echo "REMOTE_DIR=/srv/http/beta/${{ env.Desktop }}/" >> $GITHUB_ENV + else + echo "REMOTE_DIR=/srv/http/${{ env.Desktop }}/" >> $GITHUB_ENV + fi + + - name: Deploy files + env: + PASS: ${{ secrets.PASS }} + HOST: ${{ secrets.HOST }} + run: | + sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$HOST "rm -rf $REMOTE_DIR && mkdir -p $REMOTE_DIR" + sshpass -p "$PASS" rsync -avz out/ParchLinux-${{ env.Desktop }}-latest.iso out/md5sum.txt parch@$HOST:$REMOTE_DIR diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..0f5d07d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,43 @@ +stages: + - build + - deploy + +image: archlinux/archlinux:base-devel + +variables: + Desktop: "gnome" + +build_iso: + stage: build + script: + - ./build.sh + - echo "Renaming the output ISO file" + - mv out/*.iso out/ParchLinux-$Desktop-latest.iso + - echo "Generating MD5 checksum" + - md5sum out/ParchLinux-$Desktop-latest.iso > out/md5sum.txt + - echo "Build completed. Files generated:" + - ls -lh out/ + artifacts: + paths: + - out/ParchLinux-$Desktop-latest.iso + - out/md5sum.txt + rules: + - if: $CI_COMMIT_TAG + +deploy_iso: + stage: deploy + dependencies: + - build_iso + script: + - echo "Installing sshpass and rsync" + - pacman -Syu --noconfirm sshpass rsync + - echo "Determining the remote directory based on the tag" + - if [[ "$CI_COMMIT_TAG" == *"beta"* ]]; then export REMOTE_DIR="/srv/http/beta/$Desktop/"; else export REMOTE_DIR="/srv/http/$Desktop/"; fi + - echo "Removing old ISO files from remote directory" + - sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$SSH_ROOT rm -rf "$REMOTE_DIR/" + - echo "Creating new directory on remote host" + - sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$SSH_ROOT mkdir -p "$REMOTE_DIR/" + - echo "Uploading new ISO via rsync" + - sshpass -p "$PASS" rsync -r out/ParchLinux-$Desktop-latest.iso out/md5sum.txt parch@$SSH_ROOT:"$REMOTE_DIR/" + rules: + - if: $CI_COMMIT_TAG diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..61886cd --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,25 @@ +### 📅 Changelog for Release 2024.10.25.beta + +**English:** +- 🗓️ Added Persian calendar to GNOME +- ⌨️ Set **CTRL + ALT + T** as the default shortcut for launching Ptyxis terminal +- 📂 Integrated Ptyxis into Nautilus file manager +- 🆙 Updated GNOME Software to version 47 +- 🛠️ Added AppIndicator plugin for displaying tray icons +- 🚀 Updated Calamares installer to version 3.3.10 +- ❌ Removed the Papirus icon theme + +--- + +‏ + +**فارسی:** +- 🗓️ افزودن تقویم فارسی به گنوم +- ⌨️ تنظیم **CTRL + ALT + T** به عنوان میانبر پیش‌فرض برای اجرای ترمینال Ptyxis +- 📂 افزودن Ptyxis به فایل‌مدیر ناتیلوس +- 🆙 بروزرسانی نرم‌افزار گنوم به نسخه ۴۷ +- 🛠️ افزودن افزونه AppIndicator برای نمایش آیکون‌ها در نوار وضعیت +- 🚀 بروزرسانی نصاب Calamares به نسخه ۳.۳.۱۰ +- ❌ حذف تم آیکون Papirus + +‏ diff --git a/README.md b/README.md index 07c5e54..10f79d3 100644 --- a/README.md +++ b/README.md @@ -10,21 +10,7 @@ GNOME is a user-friendly and modern desktop environment that provides a seamless ![screenshot](./image/screenshot.png) -### Pre-Installed Applications - -| Name | Usage | Category | -|--------------|-----------|------------| -| Tuba | A client to Browse the fediverse. | Social | -| Fractal | A client to Browse the [Matrix]. | Social | -| PipeLine | A client to watch peertube and piped youtube | Movie & Music | -| Celluloid | A MPV front-end written in GTK | Movie & Music | -| G4Music | A Simple and easy to use Music Player written in vala and GTK | Movie & Music | -| Firefox | Fast, Private & Safe Web Browser | Web Browser | -| Folio | Take notes in Markdown | Productivity | - - - -‌ +**[Pre-Installed Applications](./docs/applications-en.md)** # Fa
@@ -35,16 +21,7 @@ GNOME is a user-friendly and modern desktop environment that provides a seamless ![نماگرفت](./image/screenshot.png) -### برنامه های از پیش نصب شده +**[برنامه های از پیش نصب شده](./docs/applications-fa.md)** -| نام | استفاده | دسته بندی | -|--------------|----------|------------| -| Tuba | کلاینتی برای مرور فدیورس. | اجتماعی | -| Fractal | کلاینتی برای مرور [ماتریس]. | اجتماعی | -| PipeLine | کلاینتی برای تماشای peertube و piped youtube | فیلم و موسیقی | -| celluloid | یک MPV front-end نوشته شده در GTK | فیلم و موسیقی | -| G4Music | یک پخش کننده موسیقی ساده و آسان برای استفاده که در vala و GTK | فیلم و موسیقی | -| FireFox | مرورگر وب سریع، خصوصی و ایمن | مرورگر وب | -| Folio | یادداشت برداری در Markdown | بهره وری |
\ No newline at end of file diff --git a/build.sh b/build.sh index c865e6e..b018801 100755 --- a/build.sh +++ b/build.sh @@ -2,7 +2,7 @@ main() { set -e local Black DarkGray Red LightRed Green LightGreen Brown Yellow Blue LightBlue Purple Light Purple Cyan LightCyan LightGray White reset - ## save colors + ## Save colors Black="\e[0;30m" DarkGray="\e[1;30m" Red="\e[0;31m" @@ -23,38 +23,37 @@ main() { local reponame reponame=${PWD##*/} - echo -e "$Green### start install packeges for build $reponame ###$reset" - echo -e "$Brown### checking your os ###$reset" + echo -e "$Green### Start install packages for build $reponame ###$reset" + echo -e "$Brown### Checking your OS ###$reset" if type pacman >/dev/null 2>&1;then if [ "$(id -u)" != "0" ]; then - echo -e "$Red### you are not in root$reset" + echo -e "$Red### You are not in root$reset" exit 1 else install - echo -e "$Blue### install complete ###$reset" - echo -e "$Green### start build $reponame with archiso ###$reset" - build - makezip + echo -e "$Blue### Install complete ###$reset" + echo -e "$Green### Start build $reponame with archiso ###$reset" + build fi else - echo -e "$Red###os cant supported###$reset" + echo -e "$Red###OS can't supported###$reset" exit 1 fi } + install() { set -e - pacman -Sy; pacman --noconfirm -S --needed git archiso github-cli p7zip + pacman -Sy; pacman --noconfirm -S --needed git wget github-cli p7zip reflector rsync + wget https://git.parchlinux.com/repos/ppr/raw/branch/main/x86_64/archiso-99-1-any.pkg.tar.zst + sudo pacman -U archiso-99-1-any.pkg.tar.zst --noconfirm } + + build() { set -e mkarchiso -v iso/ } -makezip() { - cd out - 7z -v500m a "$(ls *.iso)".zip "$(ls *.iso)" - md5sum * > md5sums.txt -} main diff --git a/docs/applications-en.md b/docs/applications-en.md new file mode 100644 index 0000000..f588c10 --- /dev/null +++ b/docs/applications-en.md @@ -0,0 +1,11 @@ +# Pre-Installed Applications + +| Name | Usage | Category | +|--------------|-----------|------------| +| Tuba | A client to Browse the fediverse. | Social | +| Fractal | A client to Browse the [Matrix]. | Social | +| PipeLine | A client to watch peertube and piped youtube | Movie & Music | +| Celluloid | A MPV front-end written in GTK | Movie & Music | +| G4Music | A Simple and easy to use Music Player written in vala and GTK | Movie & Music | +| Firefox | Fast, Private & Safe Web Browser | Web Browser | +| Folio | Take notes in Markdown | Productivity | diff --git a/docs/applications-fa.md b/docs/applications-fa.md new file mode 100644 index 0000000..411f6fb --- /dev/null +++ b/docs/applications-fa.md @@ -0,0 +1,10 @@ +# برنامه های از پیش نصب شده +| نام | استفاده | دسته بندی | +|--------------|----------|------------| +| Tuba | کلاینتی برای مرور فدیورس. | اجتماعی | +| Fractal | کلاینتی برای مرور [ماتریس]. | اجتماعی | +| PipeLine | کلاینتی برای تماشای peertube و piped youtube | فیلم و موسیقی | +| celluloid | یک MPV front-end نوشته شده در GTK | فیلم و موسیقی | +| G4Music | یک پخش کننده موسیقی ساده و آسان برای استفاده که در vala و GTK | فیلم و موسیقی | +| FireFox | مرورگر وب سریع، خصوصی و ایمن | مرورگر وب | +| Folio | یادداشت برداری در Markdown | بهره وری | diff --git a/iso/packages.x86_64 b/iso/packages.x86_64 index aecd07c..0cc9f76 100644 --- a/iso/packages.x86_64 +++ b/iso/packages.x86_64 @@ -1,6 +1,7 @@ alsa-utils pipewire pipewire-pulse +pipewire-alsa ttf-apple-emoji gstreamer-vaapi gst-plugin-pipewire @@ -8,6 +9,7 @@ gst-plugins-good amd-ucode arch-install-scripts b43-fwcutter +broadcom-wl-dkms base base-devel bind @@ -30,12 +32,10 @@ edk2-shell efibootmgr espeakup ethtool -exfatprogs f2fs-tools fatresize fsarchiver git -gnu-netcat gpart gpm gptfdisk @@ -95,7 +95,6 @@ python python-psutil python-systemd refind -reiserfsprogs rp-pppoe rsync rxvt-unicode-terminfo @@ -138,9 +137,7 @@ openssl bluez bluez-utils parch-bluetooth - -#Tasky -tasky +parchlinux-keyring #Desktop firefox @@ -159,14 +156,21 @@ networkmanager android-file-transfer gvfs-mtp broadcom-wl-dkms +gvfs-goa +inetutils +usbutils +gvfs-dnssd +gvfs-onedrive #Apps needed for gnome fractal tuba -pipeline-gtk -folio - +#gnome extensions +nautilus-open-in-ptyxis +gnome-shell-extension-persian-calendar +gnome-shell-extension-appindicator +gnome-shell-extension-sanad #videocodec jasper @@ -197,9 +201,6 @@ flac boost qt6ct -#themes -adw-gtk3-git -papirus-icon-theme #parchlinuxstuff calamares @@ -208,11 +209,10 @@ gnome-initial-setup gnome-parch os-prober paru +parch-grub parch-branding parch-pacman parch-gnome-backgrounds -vazirmatn-fonts -hack-nerd-fonts parch-emoji-ios sof-firmware text-engine @@ -220,7 +220,7 @@ extension-manager parch-budgie parch-plymouth plymouth -aptpac power-profiles-daemon fastfetch +morewaita-icon-theme parch-welcome diff --git a/iso/pacman.conf b/iso/pacman.conf index bd9496d..b9f7b47 100644 --- a/iso/pacman.conf +++ b/iso/pacman.conf @@ -69,13 +69,13 @@ LocalFileSigLevel = Optional # repo name header and Include lines. You can add preferred servers immediately # after the header, and they will be used before the default mirrors. -[ppr] -SigLevel = Optional TrustedOnly -Server = https://raw.githubusercontent.com/parchlinux/ppr/main/x86_64/ - #[core-testing] #Include = /etc/pacman.d/mirrorlist +[ppr] +SigLevel = Never +Server = https://git.parchlinux.com/repos/ppr/raw/branch/main/x86_64/ + [core] Include = /etc/pacman.d/mirrorlist @@ -95,8 +95,9 @@ Include = /etc/pacman.d/mirrorlist #Include = /etc/pacman.d/mirrorlist [pcp] -SigLevel = Optional TrustedOnly -Server = https://raw.githubusercontent.com/parchlinux/pcp/main/x86_64/ +SigLevel = Never +Server = https://git.parchlinux.com/repos/pcp/raw/branch/main/x86_64/ + # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories.