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

-### 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

-### برنامه های از پیش نصب شده
+**[برنامه های از پیش نصب شده](./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.