Getting Started

What is Parch Gnu/Linux ?

Parch is an Arch-based Linux distribution which is focused on being simple and easy to use.

Parch stands for Persian Arch.

What to expect from here?

In this Documention we talk about how to make a custom version of Parch and also how can we contribute in this project.

How to make a custom version of Parch Gnu/Linux?

What is a custom version?

A custom version of ParchLinux , is a version that has been modified by a user to match his needs. for example, in a custom version you can have your own set of software or even use your own dot files.

Note Before using your own dotfiles in parch , you need to package them and send them to one of Parch Linux maintainers for testing. if your packages doesn`t have any problem it would be added to PCP (Parch Community Packages) repository.

Start making changes!

First of all you need to use Parch Linux template repository to make a new repository.

How to make a repo using template?

Currently all of Parch Linux Development is placed on github, first of all you need a github account and enable ssh on your github account.

After making An account, open the Parch Linux template repository page using this link

then on the page click on use this template button and select create new repository.

template image

Then in the next page set a name for your repository.

Note

We recommend you to set names as for example: parch-iso-$(desktop) if you want to submit it as a community iso later.

After setting the name click on create repository button.

new repo

Starting to Shape the custom release

After cloning your custom repository and after you cd into it, you would face a profile which later makes parch happens.

Naming the release

Open profiledef file that is placed inside the iso directory, to set the name of release, the content should be like this:

#!/usr/bin/env bash
# shellcheck disable=SC2034

iso_name="Parchlinux"
iso_label="PARCH_LINUX$(date +%Y%m)"
iso_publisher="Parch Linux<https://parchlinux.com>"
iso_application="Parch Linux Live/Rescue CD"
iso_version="$(date +%Y.%m.%d)"
install_dir="arch"
buildmodes=('iso')
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
           'uefi-ia32.grub.esp' 'uefi-x64.systemd-boot.esp'
           'uefi-ia32.grub.eltorito' 'uefi-x64.systemd-boot.eltorito')
arch="x86_64"
pacman_conf="pacman.conf"
airootfs_image_type="squashfs"
airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86')
file_permissions=(
  ["/etc/shadow"]="0:0:400"
  ["/root"]="0:0:750"
  ["/root/.automated_script.sh"]="0:0:755"
  ["/usr/local/bin/choose-mirror"]="0:0:755"
  ["/usr/local/bin/Installation_guide"]="0:0:755"
  ["/usr/local/bin/livecd-sound"]="0:0:755"
)

you can change the iso_name to your desigerd name for example: Parch Linux Designer Edition

and the iso lable is what the iso shows after get mounted or written to a usb disk, cd or etc...

dont touch other things, save the file and exit after changing the name and lable.

Adding packages to the release

For adding packages you need to edit the packages.x86_64 file located in iso directory. write the name of your packages there and save it.

Note

Its better to use #lables to set the packages lables and grouping them.

Display Manager

All versions of parchlinux expect gnome, uses SDDM as the default display manager, the sddm is predefined inside the packages file and pre-enabled by default inside the Systemd services.

Changing the theme for SDDM

simply just ask the developers to package your theme and put them inside PCP mirror, then make a theme.conf file inside the iso/airootfs/etc/sddm.conf.d/ and set the theme name and cursor theme name there.

Autologin file

Remember to edit the autologin file located inside iso/airootfs/etc/sddm.conf.d and set the proper desktop name for it, if you dont after booting you would see the login screen

Adding Dotfiles

You can add your dotfiles for DE or Applications inside iso/airootfs/etc/skel or just ask a Repo Maintainer to package them for you and put them inside the pcp repository.

Installer

Parch by default uses calamares and that is recommended to put calamares and calamares-parch packages inside your package list.

Note

Do not edit or remove parchlinux core packages inside the packages file, you would get a unbootable iso image.

Kernel

Currently the only kernel which is supported by live iso is the generic kernel. please dont use zen or xanmod or you would get a unbootable image.

Testing changes

You can test your changes by running the build.sh file, it would make a iso for you.