Compare commits

...

26 commits

Author SHA1 Message Date
8465e1b7f8 fixed build.sh
All checks were successful
Build and Deploy ISO / build_iso (release) Successful in 29m32s
2025-02-17 01:36:32 +03:30
1f438a52ef fixed workflow
Some checks failed
Build and Deploy ISO / build_iso (release) Failing after 55s
2025-02-17 01:33:57 +03:30
4fbe1b5fd7 Removed systemd-boot 2025-02-17 01:30:49 +03:30
d93f216a0d Removed reiserfsprogs 2025-02-10 18:41:15 +03:30
ee97c946e0 Fixed Issue for kernel 2025-02-10 17:51:59 +03:30
4a26cc241c ready to build with systemd-boot 2025-01-25 23:21:09 +03:30
add6dcf253 Added Hash Generation 2024-11-23 14:22:06 +03:30
e002382408 Added Hash Generation 2024-11-23 14:15:00 +03:30
b7360619ca Added Hash Generation 2024-11-23 14:10:46 +03:30
98bde1f2d7 updated changelog 2024-10-25 20:23:05 +03:30
258d591b92 Added Changelog 2024-10-25 20:11:37 +03:30
baadba7250 Added a Beta option 2024-10-25 19:54:18 +03:30
dd7d5b5d9d updated pacman.conf 2024-09-19 21:55:07 +03:30
b266264f96 updated variables in gitlab-ci 2024-09-18 20:59:56 +03:30
be4c6a6b64 Added gitlab-ci and updated build script 2024-09-18 20:07:44 +03:30
ce4680d7a5 Merge branch '8-suggestions-about-updating-readme-md' into 'main'
Suggestions about updating README.md

Closes #8

See merge request iso/team/Parch-iso-gnome!7
2024-08-12 17:54:11 +00:00
Shahriar Ghasempour
bf6a9da90b edit hyperlink texts #8 2024-08-12 17:20:24 +00:00
Shahriar Ghasempour
f9bb301205 add applications-fa.md file and linked it to README.md #8 2024-08-12 17:19:30 +00:00
Shahriar Ghasempour
6e40f90173 edit en section 2024-08-12 17:14:40 +00:00
Shahriar Ghasempour
9408220fc1 add applications-en.md file and liked it to README 2024-08-12 17:13:49 +00:00
Sohrab Behdani
b81e547c87
Fixed Workflow 2024-07-11 12:53:42 +03:30
a8efb74a78 fixed workflow 2024-07-10 00:26:55 +03:30
77a6fa60e2 fixed workflow 2024-07-10 00:24:46 +03:30
33a715bc76 changed some files 2024-07-10 00:14:25 +03:30
e403f83afc changed some files 2024-07-10 00:10:30 +03:30
6cb58a5700 changed hostname 2024-07-02 14:24:18 +03:30
16 changed files with 303 additions and 70 deletions

View file

@ -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 -Sy --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

View file

@ -10,8 +10,10 @@ env:
name: ${{ github.event.repository.name }}
release_name: ${{ github.ref_name }}
GH_TOKEN: ${{ github.token }}
HOST: mirror.parchlinux.com
jobs:
build:
build-beta:
if: github.event.release.prerelease == true
permissions:
contents: write
runs-on: ubuntu-latest
@ -21,15 +23,58 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Install Packages via Pacman
run: pacman -Sy; pacman --noconfirm -S git archiso python python-pygithub github-cli reflector p7zip unzip zip
run: pacman -Syu --noconfirm; pacman --noconfirm -S git archiso python python-pygithub github-cli reflector p7zip openssh sshpass rsync wget
- name: Change mirrors
run: reflector --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
- name: Build image
run: mkarchiso -v iso/
- name: remove last iso
run: sshpass -p "${{ secrets.SSH_PASS }}" ssh -o StrictHostKeyChecking=no root@$HOST rm -rf /srv/http/gnome/
- name: remove last iso
run: sshpass -p "${{ secrets.SSH_PASS }}" ssh -o StrictHostKeyChecking=no root@$HOST mkdir /srv/http/gnome/
- name: rename iso
run: mv "$(ls out/*.iso)" out/Parchlinux-Gnome-beta.iso
- name: upload iso to host
run: sshpass -p "${{ secrets.SSH_PASS }}" rsync -r "$(ls out/*.iso)" root@mirror.parchlinux.com:/srv/http/gnome/
- name: Upload iso to the release
run: |
cd ./out
mkdir iso_parts
# split -d -b 2000M "$(ls *.iso)" iso_parts/"$(ls *.iso)"_part
zip -s 1000m iso_parts/"$(ls *.iso)".zip "$(ls *.iso)"
#7z -v1000m a iso_parts/"$(ls *.iso)".zip "$(ls *.iso)"
#zip -s 2000m iso_parts/"$(ls *.iso)".zip "$(ls *.iso)"
7z -v1000m a iso_parts/"$(ls *.iso)".zip "$(ls *.iso)"
md5sum iso_parts/* > iso_parts/md5sums.txt
gh release upload ${{ github.event.release.tag_name }} ./iso_parts/* -R ${{ github.repository }}
build:
if: github.event.release.prerelease == false
permissions:
contents: write
runs-on: ubuntu-latest
container:
image: archlinux:latest
options: --privileged
steps:
- uses: actions/checkout@v3
- name: Install Packages via Pacman
run: pacman -Syu --noconfirm; pacman --noconfirm -S git archiso python python-pygithub github-cli reflector p7zip openssh sshpass rsync wget
- name: Change mirrors
run: reflector --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
- name: Build image
run: mkarchiso -v iso/
- name: remove last iso
run: sshpass -p "${{ secrets.SSH_PASS }}" ssh -o StrictHostKeyChecking=no root@$HOST rm -rf /srv/http/gnome/
- name: remove last iso
run: sshpass -p "${{ secrets.SSH_PASS }}" ssh -o StrictHostKeyChecking=no root@$HOST mkdir /srv/http/gnome/
- name: rename iso
run: mv "$(ls out/*.iso)" out/Parchlinux-Gnome-latest.iso
- name: upload iso to host
run: sshpass -p "${{ secrets.SSH_PASS }}" rsync -r "$(ls out/*.iso)" root@mirror.parchlinux.com:/srv/http/gnome/
- name: Upload iso to the release
run: |
cd ./out
mkdir iso_parts
# split -d -b 2000M "$(ls *.iso)" iso_parts/"$(ls *.iso)"_part
#zip -s 2000m iso_parts/"$(ls *.iso)".zip "$(ls *.iso)"
7z -v1000m a iso_parts/"$(ls *.iso)".zip "$(ls *.iso)"
md5sum iso_parts/* > iso_parts/md5sums.txt
gh release upload ${{ github.event.release.tag_name }} ./iso_parts/* -R ${{ github.repository }}

43
.gitlab-ci.yml Normal file
View file

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

25
CHANGELOG.md Normal file
View file

@ -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
‏

View file

@ -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
<div dir="rtl">
@ -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 | بهره وری |
</div>

View file

@ -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"
echo -e "$Blue### Install complete ###$reset"
echo -e "$Green### Start build $reponame with archiso ###$reset"
build
makezip
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

11
docs/applications-en.md Normal file
View file

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

10
docs/applications-fa.md Normal file
View file

@ -0,0 +1,10 @@
# برنامه های از پیش نصب شده
| نام | استفاده | دسته بندی |
|--------------|----------|------------|
| Tuba | کلاینتی برای مرور فدیورس. | اجتماعی |
| Fractal | کلاینتی برای مرور [ماتریس]. | اجتماعی |
| PipeLine | کلاینتی برای تماشای peertube و piped youtube | فیلم و موسیقی |
| celluloid | یک MPV front-end نوشته شده در GTK | فیلم و موسیقی |
| G4Music | یک پخش کننده موسیقی ساده و آسان برای استفاده که در vala و GTK | فیلم و موسیقی |
| FireFox | مرورگر وب سریع، خصوصی و ایمن | مرورگر وب |
| Folio | یادداشت برداری در Markdown | بهره وری |

View file

@ -1 +1 @@
parchiso
parch

View file

@ -0,0 +1,73 @@
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(usbhid xhci_hcd)
MODULES=()
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=(setfont)
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No RAID, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect modconf block filesystems fsck)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev modconf block filesystems fsck)
#
## This setup assembles a mdadm array with an encrypted root file system.
## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
#
## This setup loads an lvm2 volume group.
# HOOKS=(base udev modconf block lvm2 filesystems fsck)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr and fsck hooks.
HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard)
# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
# MODULES_DECOMPRESS
# Decompress kernel modules during initramfs creation.
# Enable to speedup boot process, disable to save RAM
# during early userspace. Switch (yes/no).
#MODULES_DECOMPRESS="yes"

View file

@ -1,2 +0,0 @@
HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard)
COMPRESSION="xz"

View file

@ -1,9 +1,5 @@
# mkinitcpio preset file for the 'linux' package on archiso
PRESETS=('archiso')
ALL_kver='/boot/vmlinuz-linux'
archiso_config='/etc/mkinitcpio.conf.d/archiso.conf'
archiso_config='/etc/mkinitcpio.conf'
archiso_image="/boot/initramfs-linux.img"

View file

@ -0,0 +1,7 @@
# mkinitcpio preset file for the kernel
ALL_kver='/boot/vmlinuz-linux'
#PRESETS=('default' 'fallback')
PRESETS=('default')
default_image="/boot/initramfs-linux.img"
#fallback_image="/boot/initramfs-linux-fallback.img"
#fallback_options="-S autodetect"

View file

@ -0,0 +1 @@
FONT=ter-132n

View file

@ -8,6 +8,7 @@ gst-plugins-good
amd-ucode
arch-install-scripts
b43-fwcutter
broadcom-wl-dkms
base
base-devel
bind
@ -35,7 +36,6 @@ 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
@ -139,9 +138,6 @@ bluez
bluez-utils
parch-bluetooth
#Tasky
tasky
#Desktop
firefox
unzip
@ -159,14 +155,20 @@ 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
#extensions
nautilus-open-in-ptyxis
gnome-shell-extension-persian-calendar
gnome-shell-extension-appindicator
#videocodec
jasper
@ -197,9 +199,6 @@ flac
boost
qt6ct
#themes
adw-gtk3-git
papirus-icon-theme
#parchlinuxstuff
calamares
@ -220,7 +219,6 @@ extension-manager
parch-budgie
parch-plymouth
plymouth
aptpac
power-profiles-daemon
fastfetch
parch-welcome

View file

@ -38,7 +38,7 @@ CheckSpace
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
SigLevel = Never
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
@ -69,13 +69,12 @@ 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.
#[core-testing]
#Include = /etc/pacman.d/mirrorlist
[ppr]
SigLevel = Optional TrustedOnly
Server = https://raw.githubusercontent.com/parchlinux/ppr/main/x86_64/
#[core-testing]
#Include = /etc/pacman.d/mirrorlist
Server = https://git.parchlinux.com/repos/ppr/raw/branch/main/x86_64/
[core]
Include = /etc/pacman.d/mirrorlist
@ -97,7 +96,8 @@ Include = /etc/pacman.d/mirrorlist
[pcp]
SigLevel = Optional TrustedOnly
Server = https://raw.githubusercontent.com/parchlinux/pcp/main/x86_64/
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.