diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..3ecb8fc
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,6 @@
+{
+    "[python]": {
+        "editor.defaultFormatter": "ms-python.autopep8"
+    },
+    "python.formatting.provider": "none"
+}
diff --git a/01_prepare.sh b/01_prepare.sh
index 11abf96..0501591 100755
--- a/01_prepare.sh
+++ b/01_prepare.sh
@@ -1,9 +1,8 @@
 #!/bin/bash
 
-sudo pacman -Sw --noconfirm --cachedir "/disk/github/active/make_iso/melawy-archiso/airootfs/opt/extra-drivers" r8168
+sudo pacman -Sw --noconfirm --cachedir "./airootfs/opt/extra-drivers" r8168
 
-sudo pacman -Sw --noconfirm --cachedir "/disk/github/active/make_iso/melawy-archiso/airootfs/usr/share/packages" dracut \
-dracut-hook \
+sudo pacman -Sw --noconfirm --cachedir "./airootfs/usr/share/packages" dracut \
 grub \
 kernel-install-for-dracut \
 libxvmc \
@@ -14,4 +13,5 @@ linux-xanmod-anbox \
 linux-xanmod-anbox-headers \
 os-prober \
 refind \
+update-grub \
 xf86-video-intel
diff --git a/03_boot.sh b/03_boot.sh
new file mode 100644
index 0000000..89bdea4
--- /dev/null
+++ b/03_boot.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+#qemu-system-x86_64 -boot d -cdrom ./out/melawy-linux-2023.10.02-x86_64.iso -usb -vga virtio -display spice-app -full-screen -net nic -net user -m 8192 -smbios type=0,uefi=on -smp cpus=4 -enable-kvm -bios /usr/share/ovmf/x64/OVMF.fd
+
+cp -av -- '/usr/share/edk2-ovmf/x64/OVMF_VARS.fd' "./out/"
+
+qemu-system-x86_64 \
+-boot order=d,menu=on,reboot-timeout=5000 \
+-cdrom ./out/melawy-linux-2023.10.02-x86_64.iso \
+-smbios type=0,uefi=on \
+-smp cpus=4 \
+-m 8192 \
+-usb \
+-k en-us \
+-name archiso,process=archiso_0 \
+-display sdl,gl=on,show-cursor=on,window-close=on \
+-vga virtio \
+-full-screen \
+-audiodev pa,id=snd0 \
+-device ich9-intel-hda \
+-device hda-output,audiodev=snd0 \
+-device virtio-net-pci,romfile=,netdev=net0 -netdev user,id=net0,hostfwd=tcp::60022-:22 \
+-machine type=q35,smm=on,accel=kvm,usb=on,pcspk-audiodev=snd0 \
+-global ICH9-LPC.disable_s3=1 \
+-enable-kvm \
+-drive "if=pflash,format=raw,unit=0,file=/usr/share/edk2-ovmf/x64/OVMF_CODE.fd,read-only=on" \
+-drive "if=pflash,format=raw,unit=1,file=./out/OVMF_VARS.fd" \
+-global "driver=cfi.pflash01,property=secure,value=off" \
+-serial stdio
diff --git a/airootfs/etc/NetworkManager/NetworkManager.conf b/airootfs/etc/NetworkManager/NetworkManager.conf
new file mode 100644
index 0000000..eed717a
--- /dev/null
+++ b/airootfs/etc/NetworkManager/NetworkManager.conf
@@ -0,0 +1,5 @@
+# Configuration file for NetworkManager.
+# See "man 5 NetworkManager.conf" for details.
+
+[device]
+wifi.scan-rand-mac-address=no
diff --git a/airootfs/etc/dev-rel b/airootfs/etc/dev-rel
new file mode 100644
index 0000000..1bb79be
--- /dev/null
+++ b/airootfs/etc/dev-rel
@@ -0,0 +1,3 @@
+ISO_RELEASE=08-12-2023
+ISO_CODENAME=MelawyLinux
+ISO_BUILD=08-12-2023
diff --git a/airootfs/etc/environment b/airootfs/etc/environment
old mode 100644
new mode 100755
index fe6bd67..93e2951
--- a/airootfs/etc/environment
+++ b/airootfs/etc/environment
@@ -3,7 +3,6 @@
 #
 # Syntax: simple "KEY=VAL" pairs on separate lines
 #
-#QT_QPA_PLATFORMTHEME=qt5ct
-#QT_STYLE_OVERRIDE=kvantum
 BROWSER=firefox
 EDITOR=nano
+ZPOOL_VDEV_NAME_PATH=1
diff --git a/airootfs/etc/fonts/local.conf b/airootfs/etc/fonts/local.conf
new file mode 100644
index 0000000..5130e09
--- /dev/null
+++ b/airootfs/etc/fonts/local.conf
@@ -0,0 +1,122 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+  <match target="font">
+    <edit name="autohint" mode="assign">
+      <bool>true</bool>
+    </edit>
+    <edit name="hinting" mode="assign">
+      <bool>true</bool>
+    </edit>
+    <edit mode="assign" name="hintstyle">
+      <const>hintslight</const>
+    </edit>
+    <edit mode="assign" name="lcdfilter">
+      <const>lcddefault</const>
+    </edit>
+  </match>
+
+  <!-- Default sans-serif font -->
+  <match target="pattern">
+    <test qual="any" name="family"><string>-apple-system</string></test>
+    <!--<test qual="any" name="lang"><string>ja</string></test>-->
+    <edit name="family" mode="prepend" binding="same"><string>Tex Gyre Heros</string></edit>
+  </match>
+  <match target="pattern">
+    <test qual="any" name="family"><string>Helvetica Neue</string></test>
+    <!--<test qual="any" name="lang"><string>ja</string></test>-->
+    <edit name="family" mode="prepend" binding="same"><string>Tex Gyre Heros</string></edit>
+  </match>
+  <match target="pattern">
+    <test qual="any" name="family"><string>Helvetica</string></test>
+    <!--<test qual="any" name="lang"><string>ja</string></test>-->
+    <edit name="family" mode="prepend" binding="same"><string>Tex Gyre Heros</string></edit>
+  </match>
+  <match target="pattern">
+    <test qual="any" name="family"><string>arial</string></test>
+    <!--<test qual="any" name="lang"><string>ja</string></test>-->
+    <edit name="family" mode="prepend" binding="same"><string>Tex Gyre Heros</string></edit>
+  </match>
+  <match target="pattern">
+    <test qual="any" name="family"><string>sans-serif</string></test>
+    <!--<test qual="any" name="lang"><string>ja</string></test>-->
+    <edit name="family" mode="prepend" binding="same"><string>Tex Gyre Heros</string></edit>
+  </match>
+
+  <!-- Default serif fonts -->
+  <match target="pattern">
+    <test qual="any" name="family"><string>serif</string></test>
+    <edit name="family" mode="prepend" binding="same"><string>Libertinus Serif</string></edit>
+    <edit name="family" mode="prepend" binding="same"><string>Noto Serif</string></edit>
+    <edit name="family" mode="prepend" binding="same"><string>Noto Color Emoji</string></edit>
+    <edit name="family" mode="append" binding="same"><string>IPAPMincho</string></edit>
+    <edit name="family" mode="append" binding="same"><string>HanaMinA</string></edit>
+  </match>
+
+  <!-- Default monospace fonts -->
+  <match target="pattern">
+    <test qual="any" name="family"><string>SFMono-Regular</string></test>
+    <edit name="family" mode="prepend" binding="same"><string>DM Mono</string></edit>
+    <edit name="family" mode="prepend" binding="same"><string>Space Mono</string></edit>
+    <edit name="family" mode="append" binding="same"><string>Inconsolatazi4</string></edit>
+    <edit name="family" mode="append" binding="same"><string>IPAGothic</string></edit>
+  </match>
+  <match target="pattern">
+    <test qual="any" name="family"><string>Menlo</string></test>
+    <edit name="family" mode="prepend" binding="same"><string>DM Mono</string></edit>
+    <edit name="family" mode="prepend" binding="same"><string>Space Mono</string></edit>
+    <edit name="family" mode="append" binding="same"><string>Inconsolatazi4</string></edit>
+    <edit name="family" mode="append" binding="same"><string>IPAGothic</string></edit>
+  </match>
+  <match target="pattern">
+    <test qual="any" name="family"><string>monospace</string></test>
+    <edit name="family" mode="prepend" binding="same"><string>DM Mono</string></edit>
+    <edit name="family" mode="prepend" binding="same"><string>Space Mono</string></edit>
+    <edit name="family" mode="append" binding="same"><string>Inconsolatazi4</string></edit>
+    <edit name="family" mode="append" binding="same"><string>IPAGothic</string></edit>
+  </match>
+
+  <!-- Fallback fonts preference order -->
+  <alias>
+    <family>sans-serif</family>
+    <prefer>
+      <family>Noto Sans</family>
+      <family>Noto Color Emoji</family>
+      <family>Noto Emoji</family>
+      <family>Open Sans</family>
+      <family>Droid Sans</family>
+      <family>Ubuntu</family>
+      <family>Roboto</family>
+      <family>NotoSansCJK</family>
+      <family>Source Han Sans JP</family>
+      <family>IPAPGothic</family>
+      <family>VL PGothic</family>
+      <family>Koruri</family>
+    </prefer>
+  </alias>
+  <alias>
+    <family>serif</family>
+    <prefer>
+      <family>Noto Serif</family>
+      <family>Noto Color Emoji</family>
+      <family>Noto Emoji</family>
+      <family>Droid Serif</family>
+      <family>Roboto Slab</family>
+      <family>IPAPMincho</family>
+    </prefer>
+  </alias>
+  <alias>
+    <family>monospace</family>
+    <prefer>
+      <family>Noto Sans Mono</family>
+      <family>Noto Color Emoji</family>
+      <family>Noto Emoji</family>
+      <family>Inconsolatazi4</family>
+      <family>Ubuntu Mono</family>
+      <family>Droid Sans Mono</family>
+      <family>Roboto Mono</family>
+      <family>IPAGothic</family>
+    </prefer>
+  </alias>
+</fontconfig>
diff --git a/airootfs/etc/group b/airootfs/etc/group
index 2f50b54..93e6a62 100644
--- a/airootfs/etc/group
+++ b/airootfs/etc/group
@@ -1,16 +1,17 @@
 root:x:0:root
 sys:x:3:bin,liveuser
+adm:x:4:liveuser
+wheel:x:10:liveuser
+uucp:x:14:liveuser
 network:x:90:liveuser
 power:x:98:liveuser
-adm:x:999:liveuser
-wheel:x:998:liveuser
-uucp:x:987:liveuser
-optical:x:990:liveuser
-rfkill:x:983:liveuser
-video:x:986:liveuser
-storage:x:988:liveuser
-audio:x:995:liveuser
-users:x:985:liveuser
 nopasswdlogin:x:966:liveuser
 autologin:x:967:liveuser
-liveuser:x:1000:
\ No newline at end of file
+rfkill:x:983:liveuser
+users:x:985:liveuser
+video:x:986:liveuser
+storage:x:988:liveuser
+optical:x:990:liveuser
+audio:x:995:liveuser
+liveuser:x:1000:
+liveuser:x:1000:liveuser
diff --git a/airootfs/etc/gshadow b/airootfs/etc/gshadow
index 8bf2275..91db3d8 100644
--- a/airootfs/etc/gshadow
+++ b/airootfs/etc/gshadow
@@ -1,10 +1,10 @@
-root:::root
+root:!*::root
 sys:!!::liveuser
-network:!!::liveuser
-power:!!::liveuser
 adm:!!::liveuser
 wheel:!!::liveuser
 uucp:!!::liveuser
+network:!!::liveuser
+power:!!::liveuser
 optical:!!::liveuser
 rfkill:!!::liveuser
 video:!!::liveuser
@@ -13,4 +13,4 @@ audio:!!::liveuser
 users:!!::liveuser
 nopasswdlogin:!::liveuser
 autologin:!::liveuser
-liveuser:!::
+liveuser:!*::
diff --git a/airootfs/etc/hostname b/airootfs/etc/hostname
index 51fbdc7..ca976d5 100644
--- a/airootfs/etc/hostname
+++ b/airootfs/etc/hostname
@@ -1 +1,3 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
 Melawy-Linux
diff --git a/airootfs/etc/locale.conf b/airootfs/etc/locale.conf
index f318dbb..8f62933 100644
--- a/airootfs/etc/locale.conf
+++ b/airootfs/etc/locale.conf
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
 LANG=ru_RU.UTF-8
 LC_ADDRESS=ru_RU.UTF-8
 LC_IDENTIFICATION=ru_RU.UTF-8
diff --git a/airootfs/etc/makepkg.conf b/airootfs/etc/makepkg.conf
index 8b5003e..4fe6679 100644
--- a/airootfs/etc/makepkg.conf
+++ b/airootfs/etc/makepkg.conf
@@ -136,7 +136,7 @@ DBGSRCDIR="/usr/src/debug"
 #
 COMPRESSGZ=(gzip -c -f -n)
 COMPRESSBZ2=(bzip2 -c -f)
-COMPRESSXZ=(xz -c -z --threads=0 -9 -e -)
+COMPRESSXZ=(xz -vv -c -z --threads=0 -9 -e -)
 COMPRESSZST=(zstd -c -z -q -)
 COMPRESSLRZ=(lrzip -q)
 COMPRESSLZO=(lzop -q)
diff --git a/airootfs/etc/melawy-linux-release b/airootfs/etc/melawy-linux-release
new file mode 100644
index 0000000..f4fd41e
--- /dev/null
+++ b/airootfs/etc/melawy-linux-release
@@ -0,0 +1,4 @@
+LSB_VERSION=1.4
+DISTRIB_ID=MelawyLinux
+DISTRIB_RELEASE=rolling
+DISTRIB_DESCRIPTION="MelawyLinux"
diff --git a/airootfs/etc/mkinitcpio.conf b/airootfs/etc/mkinitcpio.conf
index 1541dca..8123c43 100644
--- a/airootfs/etc/mkinitcpio.conf
+++ b/airootfs/etc/mkinitcpio.conf
@@ -3,7 +3,7 @@
 # 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=(piix ide_disk reiserfs)
+#     MODULES=(usbhid xhci_hcd piix ide_disk reiserfs)
 MODULES=(vmd)
 
 # BINARIES
@@ -49,21 +49,27 @@ FILES=()
 #
 ##   NOTE: If you have /usr on a separate partition, you MUST include the
 #    usr, fsck and shutdown hooks.
-HOOKS=(base udev modconf kms keyboard keymap consolefont memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems plymouth)
+HOOKS=(base udev modconf kms  keymap consolefont memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard plymouth)
 #HOOKS=(base systemd systemd-tool modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard sd-vconsole plymouth sd-shutdown)
 
 
 # COMPRESSION
-# Use this to compress the initramfs image. By default, gzip 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="zstd"
 
 # 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"
diff --git a/airootfs/etc/modprobe.d/iwlwifi.conf b/airootfs/etc/modprobe.d/iwlwifi.conf
new file mode 100644
index 0000000..c920c66
--- /dev/null
+++ b/airootfs/etc/modprobe.d/iwlwifi.conf
@@ -0,0 +1 @@
+options iwlwifi bt_coex_active=0 swcrypto=1 11n_disable=8
diff --git a/airootfs/etc/modprobe.d/nvidia-utils.conf b/airootfs/etc/modprobe.d/nvidia-utils.conf
new file mode 100644
index 0000000..017b682
--- /dev/null
+++ b/airootfs/etc/modprobe.d/nvidia-utils.conf
@@ -0,0 +1 @@
+# THIS IS A STUB TO OVERRIDE THE NVIDIA-UTILS PACKAGE, DO NOT TOUCH.
diff --git a/airootfs/etc/modules-load.d/nvidia-utils.conf b/airootfs/etc/modules-load.d/nvidia-utils.conf
new file mode 100644
index 0000000..017b682
--- /dev/null
+++ b/airootfs/etc/modules-load.d/nvidia-utils.conf
@@ -0,0 +1 @@
+# THIS IS A STUB TO OVERRIDE THE NVIDIA-UTILS PACKAGE, DO NOT TOUCH.
diff --git a/airootfs/etc/modules-load.d/zfs.conf b/airootfs/etc/modules-load.d/zfs.conf
new file mode 100644
index 0000000..73304bc
--- /dev/null
+++ b/airootfs/etc/modules-load.d/zfs.conf
@@ -0,0 +1 @@
+zfs
diff --git a/airootfs/etc/motd b/airootfs/etc/motd
old mode 100644
new mode 100755
index 4d9eda1..f86ea98
--- a/airootfs/etc/motd
+++ b/airootfs/etc/motd
@@ -1,11 +1,29 @@
-To install Arch Linux follow the installation guide:
-https://wiki.archlinux.org/title/Installation_guide
+This ISO is based on Arch-ISO modified hugely to provide Installation Environment for MelawyOS.
+https://endeavouros.com
 
-For Wi-Fi, authenticate to the wireless network using the iwctl utility.
-For mobile broadband (WWAN) modems, connect with the mmcli utility.
-Ethernet, WLAN and WWAN interfaces using DHCP should work automatically.
+MelawyOS-archiso Sources:
+https://github.com/Melawy
 
-After connecting to the internet, the installation guide can be accessed
-via the convenience script Installation_guide.
+Arch-ISO Source:
+https://gitlab.archlinux.org/archlinux/archiso
 
-                                          
+Calamares as our installer:
+https://github.com/calamares/calamares
+
+Live environment will start now and let you install MelawyOS to disk, or tryout KDE-Desktop from Live-Session.
+
+Bugs can be reported here:
+https://github.com/Melawy
+
+Getting help at the forum: https://github.com/Melawy
+Help-Chat is available on telegram: https://t.me/Melawy_chat
+News is available on telegram: https://t.me/Melawy_news
+
+Our journey wouldn't be made possible without the donates:
+https://www.tinkoff.ru/cf/7OmVoFjdFNI
+
+Thank you for donating your trust in us!
+
+Welcome to your Melawy
+
+------------------
diff --git a/airootfs/etc/os-release b/airootfs/etc/os-release
new file mode 100644
index 0000000..da9432a
--- /dev/null
+++ b/airootfs/etc/os-release
@@ -0,0 +1,10 @@
+NAME="MelawyLinux"
+PRETTY_NAME="MelawyLinux"
+ID=MelawyLinux
+ID_LIKE=arch
+BUILD_ID=rolling
+ANSI_COLOR="38;2;23;147;209"
+HOME_URL="https://melawy.ru/"
+LOGO=MelawyLinux
+IMAGE_ID=MelawyLinux
+IMAGE_VERSION=08-12-2023
diff --git a/airootfs/etc/pacman.conf b/airootfs/etc/pacman.conf
index 38af6bc..dcdc795 100644
--- a/airootfs/etc/pacman.conf
+++ b/airootfs/etc/pacman.conf
@@ -1,67 +1,126 @@
+#
 # /etc/pacman.conf
-# 
-# 
+#
 # See the pacman.conf(5) manpage for option and repository directives
-# 
-# SPDX-License-Identifier: GPL-3.0-or-later
 
-# 
+#
 # GENERAL OPTIONS
-# 
+#
 [options]
-# RootDir = /
-# DBPath = /var/lib/pacman/
-# CacheDir = /var/cache/pacman/pkg/
-# LogFile = /var/log/pacman.log
-# GPGDir = /etc/pacman.d/gnupg/
-# HookDir = /etc/pacman.d/hooks/
-HoldPkg = pacman glibc
-# XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
-# XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
-# CleanMethod = KeepInstalled
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir     = /
+#DBPath      = /var/lib/pacman/
+#CacheDir    = /var/cache/pacman/pkg/
+#LogFile     = /var/log/pacman.log
+#GPGDir      = /etc/pacman.d/gnupg/
+#HookDir     = /etc/pacman.d/hooks/
+HoldPkg     = pacman glibc
+#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
 Architecture = auto
-# IgnorePkg = 
-# IgnoreGroup = 
-# NoUpgrade = 
-# NoExtract = 
-# UseSyslog
-# NoProgressBar
-CheckSpace
-# VerbosePkgLists
-ParallelDownloads = 5
-# Color
-ILoveCandy
-CheckSpace
-# VerbosePkgLists
-# DisableDownloadTimeout
-SigLevel = Required DatabaseOptional
-LocalFileSigLevel = Optional
-# RemoteFileSigLevel = Required
 
-# [testing]
-# Include = /etc/pacman.d/mirrorlist
+#IgnorePkg   =
+#IgnorePkg   =
+#IgnoreGroup =
+
+#NoUpgrade   =
+#NoExtract   =
+
+# Misc options
+#UseSyslog
+Color
+ILoveCandy
+#NoProgressBar
+#CheckSpace
+VerbosePkgLists
+ParallelDownloads = 5
+
+# 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
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
+
+#
+# REPOSITORIES
+#   - can be defined here or included from another file
+#   - pacman will search repositories in the order defined here
+#   - local/custom mirrors can be added here or in separate files
+#   - repositories listed first will take precedence when packages
+#     have identical names, regardless of version number
+#   - URLs will have $repo replaced by the name of the current repo
+#   - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+#       [repo-name]
+#       Server = ServerName
+#       Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+[endeavouros]
+SigLevel = PackageRequired
+Include = /etc/pacman.d/endeavouros-mirrorlist
+
+#[core-testing]
+#Include = /etc/pacman.d/mirrorlist
 
 [core]
 Include = /etc/pacman.d/mirrorlist
 
+#[extra-testing]
+#Include = /etc/pacman.d/mirrorlist
+
 [extra]
 Include = /etc/pacman.d/mirrorlist
 
-# [community-testing]
-# Include = /etc/pacman.d/mirrorlist
+# If you want to run 32 bit applications on your x86_64 system,
+# enable the multilib repositories as required here.
 
-[community]
-Include = /etc/pacman.d/mirrorlist
-
-# [multilib-testing]
-# Include = /etc/pacman.d/mirrorlist
+#[multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
 
 [multilib]
 Include = /etc/pacman.d/mirrorlist
 
-# [custom]
-# SigLevel = Optional TrustAll
-# Server = file:///home/custompkgs
+# An example of a custom package repository.  See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
+
+[arcolinux_repo]
+SigLevel = Required DatabaseOptional
+Include = /etc/pacman.d/arcolinux-mirrorlist
+
+[arcolinux_repo_xlarge]
+SigLevel = Required DatabaseOptional
+Include = /etc/pacman.d/arcolinux-mirrorlist
+
+[arcolinux_repo_3party]
+SigLevel = Required DatabaseOptional
+Include = /etc/pacman.d/arcolinux-mirrorlist
+
+[cachyos]
+Include = /etc/pacman.d/cachyos-mirrorlist
+
+[garuda]
+Include = /etc/pacman.d/chaotic-mirrorlist
+
+[chaotic-aur]
+Include = /etc/pacman.d/chaotic-mirrorlist
 
 [melawy]
 SigLevel = Required DatabaseOptional
@@ -82,36 +141,3 @@ Include = /etc/pacman.d/melawy-linux-mirrorlist
 [melawy-aur-gui-app]
 SigLevel = Required DatabaseOptional
 Include = /etc/pacman.d/melawy-linux-mirrorlist
-
-[melawy-aur-cargo]
-SigLevel = Required DatabaseOptional
-Include = /etc/pacman.d/melawy-linux-mirrorlist
-
-[arcolinux_repo]
-SigLevel = Required DatabaseOptional
-Include = /etc/pacman.d/arcolinux-mirrorlist
-
-[arcolinux_repo_xlarge]
-SigLevel = Required DatabaseOptional
-Include = /etc/pacman.d/arcolinux-mirrorlist
-
-[arcolinux_repo_3party]
-SigLevel = Required DatabaseOptional
-Include = /etc/pacman.d/arcolinux-mirrorlist
-
-# [endeavouros]
-# SigLevel = PackageRequired
-# Include = /etc/pacman.d/endeavouros-mirrorlist
-
-# [cachyos]
-# Include = /etc/pacman.d/cachyos-mirrorlist
-
-# [garuda]
-# Include = /etc/pacman.d/chaotic-mirrorlist
-
-# [chaotic-aur]
-# Include = /etc/pacman.d/chaotic-mirrorlist
-
-# [local]
-# SigLevel = Optional TrustAll
-# Server = file:///disk/repo/$repo/$arch
diff --git a/airootfs/etc/pamac.conf b/airootfs/etc/pamac.conf
index 5db7858..646acbd 100644
--- a/airootfs/etc/pamac.conf
+++ b/airootfs/etc/pamac.conf
@@ -17,7 +17,7 @@ EnableDowngrade
 #SimpleInstall
 
 ## Allow Pamac to search and install packages from AUR:
-EnableAUR
+#EnableAUR
 
 ## Keep built packages from AUR in cache after installation:
 KeepBuiltPkgs
diff --git a/airootfs/etc/passwd b/airootfs/etc/passwd
index da8dd66..0917446 100644
--- a/airootfs/etc/passwd
+++ b/airootfs/etc/passwd
@@ -1,2 +1,2 @@
-root:x:0:0:root:/root:/usr/bin/zsh
+root:x:0:0:root:/root:/bin/bash
 liveuser:x:1000:1000::/home/liveuser:/bin/bash
diff --git a/airootfs/etc/plymouth/plymouthd.conf b/airootfs/etc/plymouth/plymouthd.conf
index 4b2b1e9..54b1867 100644
--- a/airootfs/etc/plymouth/plymouthd.conf
+++ b/airootfs/etc/plymouth/plymouthd.conf
@@ -1,5 +1,5 @@
 [Daemon]
-Theme=melawy-lera-sugar
+Theme=melawy-nier-a2
 DeviceScale=1
 DeviceTimeout=8
 ShowDelay=0
diff --git a/airootfs/etc/sddm.conf.d/kde_settings.conf b/airootfs/etc/sddm.conf.d/kde_settings.conf
index be704d1..ea3c1f8 100644
--- a/airootfs/etc/sddm.conf.d/kde_settings.conf
+++ b/airootfs/etc/sddm.conf.d/kde_settings.conf
@@ -4,8 +4,8 @@ Numlock=on
 RebootCommand=/usr/bin/systemctl reboot
 
 [Theme]
-Current=Melawy-Lera-Sugar
-CursorTheme=Qogir-dark
+Current=Melawy-Nier-A2
+CursorTheme=Melawy-red-light-default-cursors
 Font=Noto Sans,10,-1,0,50,0,0,0,0,0
 
 [Users]
diff --git a/airootfs/etc/sddm.conf.d/tty.conf b/airootfs/etc/sddm.conf.d/tty.conf
deleted file mode 100644
index 5f80756..0000000
--- a/airootfs/etc/sddm.conf.d/tty.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[X11]
-MinimumVT=7
diff --git a/airootfs/etc/sysctl.d/99-local.conf b/airootfs/etc/sysctl.d/99-local.conf
new file mode 100644
index 0000000..b154692
--- /dev/null
+++ b/airootfs/etc/sysctl.d/99-local.conf
@@ -0,0 +1 @@
+net.ipv6.conf.default.use_tempaddr = 2
diff --git a/airootfs/etc/systemd/intel.service b/airootfs/etc/systemd/intel.service
deleted file mode 100644
index 02d8a4c..0000000
--- a/airootfs/etc/systemd/intel.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=detect intel legacy gpu and install xf86-video-intel
-Before=graphical.target
-
-[Service]
-Type=simple
-ExecStart=/bin/bash /usr/bin/GPU-Intel-installer
-
-[Install]
-WantedBy=multi-user.target
diff --git a/airootfs/etc/systemd/journald.conf b/airootfs/etc/systemd/journald.conf
index 6e11247..4e6a3f3 100644
--- a/airootfs/etc/systemd/journald.conf
+++ b/airootfs/etc/systemd/journald.conf
@@ -12,7 +12,7 @@
 # See journald.conf(5) for details.
 
 [Journal]
-Storage=volatile
+Storage=auto
 #Compress=yes
 #Seal=yes
 #SplitMode=uid
diff --git a/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf b/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf
old mode 100644
new mode 100755
index b69850d..3104779
--- a/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf
+++ b/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf
@@ -1,2 +1,5 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
 [Journal]
 Storage=volatile
diff --git a/airootfs/etc/systemd/logind.conf b/airootfs/etc/systemd/logind.conf
index 72b3254..a4e8125 100644
--- a/airootfs/etc/systemd/logind.conf
+++ b/airootfs/etc/systemd/logind.conf
@@ -1,13 +1,16 @@
 #  This file is part of systemd.
 #
-#  systemd is free software; you can redistribute it and/or modify it
-#  under the terms of the GNU Lesser General Public License as published by
-#  the Free Software Foundation; either version 2.1 of the License, or
-#  (at your option) any later version.
+#  systemd is free software; you can redistribute it and/or modify it under the
+#  terms of the GNU Lesser General Public License as published by the Free
+#  Software Foundation; either version 2.1 of the License, or (at your option)
+#  any later version.
 #
-# Entries in this file show the compile time defaults.
-# You can change settings by editing this file.
-# Defaults can be restored by simply deleting this file.
+# Entries in this file show the compile time defaults. Local configuration
+# should be created by either modifying this file, or by creating "drop-ins" in
+# the logind.conf.d/ subdirectory. The latter is generally recommended.
+# Defaults can be restored by simply deleting this file and all drop-ins.
+#
+# Use 'systemd-analyze cat-config systemd/logind.conf' to display the full config.
 #
 # See logind.conf(5) for details.
 
@@ -18,21 +21,29 @@
 #KillOnlyUsers=
 #KillExcludeUsers=root
 #InhibitDelayMaxSec=5
+#UserStopDelaySec=10
 #HandlePowerKey=poweroff
-HandleSuspendKey=ignore
-HandleHibernateKey=ignore
-HandleLidSwitch=ignore
+#HandlePowerKeyLongPress=ignore
+#HandleRebootKey=reboot
+#HandleRebootKeyLongPress=poweroff
+#HandleSuspendKey=suspend
+#HandleSuspendKeyLongPress=hibernate
+#HandleHibernateKey=hibernate
+#HandleHibernateKeyLongPress=ignore
+#HandleLidSwitch=suspend
 #HandleLidSwitchExternalPower=suspend
 #HandleLidSwitchDocked=ignore
 #PowerKeyIgnoreInhibited=no
 #SuspendKeyIgnoreInhibited=no
 #HibernateKeyIgnoreInhibited=no
 #LidSwitchIgnoreInhibited=yes
+#RebootKeyIgnoreInhibited=no
 #HoldoffTimeoutSec=30s
 #IdleAction=ignore
 #IdleActionSec=30min
 #RuntimeDirectorySize=10%
-#RuntimeDirectoryInodes=400k
+#RuntimeDirectoryInodesMax=
 #RemoveIPC=yes
 #InhibitorsMax=8192
 #SessionsMax=8192
+#StopIdleSessionSec=infinity
diff --git a/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf b/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf
deleted file mode 100644
index f3ecb39..0000000
--- a/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[Login]
-HandleSuspendKey=ignore
-HandleHibernateKey=ignore
-HandleLidSwitch=ignore
diff --git a/airootfs/etc/systemd/logind.conf.d/melawylinux-settings.conf b/airootfs/etc/systemd/logind.conf.d/melawylinux-settings.conf
new file mode 100644
index 0000000..e0b4e28
--- /dev/null
+++ b/airootfs/etc/systemd/logind.conf.d/melawylinux-settings.conf
@@ -0,0 +1,12 @@
+[Login]
+HandlePowerKey=poweroff
+HandlePowerKeyLongPress=ignore
+HandleRebootKey=reboot
+HandleRebootKeyLongPress=poweroff
+HandleSuspendKey=suspend
+HandleSuspendKeyLongPress=hibernate
+HandleHibernateKey=hibernate
+HandleHibernateKeyLongPress=ignore
+HandleLidSwitch=suspend
+HandleLidSwitchExternalPower=suspend
+HandleLidSwitchDocked=ignore
diff --git a/airootfs/etc/systemd/network.conf.d/ipv6-privacy-extensions.conf b/airootfs/etc/systemd/network.conf.d/ipv6-privacy-extensions.conf
new file mode 100644
index 0000000..0e9ceb4
--- /dev/null
+++ b/airootfs/etc/systemd/network.conf.d/ipv6-privacy-extensions.conf
@@ -0,0 +1,2 @@
+[Network]
+IPv6PrivacyExtensions=yes
diff --git a/airootfs/etc/systemd/network/20-ethernet.network b/airootfs/etc/systemd/network/20-ethernet.network
index 9ada778..c1144dd 100644
--- a/airootfs/etc/systemd/network/20-ethernet.network
+++ b/airootfs/etc/systemd/network/20-ethernet.network
@@ -1,19 +1,11 @@
 [Match]
-# Matching with "Type=ether" causes issues with containers because it also matches virtual Ethernet interfaces (veth*).
-# See https://bugs.archlinux.org/task/70892
-# Instead match by globbing the network interface name.
 Name=en*
 Name=eth*
 
 [Network]
 DHCP=yes
-IPv6PrivacyExtensions=yes
+MulticastDNS=yes
 
-# systemd-networkd does not set per-interface-type default route metrics
-# https://github.com/systemd/systemd/issues/17698
-# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
-# Use values from NetworkManager. From nm_device_get_route_metric_default in
-# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
 [DHCPv4]
 RouteMetric=100
 
diff --git a/airootfs/etc/systemd/network/20-wlan.network b/airootfs/etc/systemd/network/20-wlan.network
index 601d5b8..538d275 100644
--- a/airootfs/etc/systemd/network/20-wlan.network
+++ b/airootfs/etc/systemd/network/20-wlan.network
@@ -3,13 +3,8 @@ Name=wl*
 
 [Network]
 DHCP=yes
-IPv6PrivacyExtensions=yes
+MulticastDNS=yes
 
-# systemd-networkd does not set per-interface-type default route metrics
-# https://github.com/systemd/systemd/issues/17698
-# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
-# Use values from NetworkManager. From nm_device_get_route_metric_default in
-# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
 [DHCPv4]
 RouteMetric=600
 
diff --git a/airootfs/etc/systemd/network/20-wwan.network b/airootfs/etc/systemd/network/20-wwan.network
index 9104c24..ad70dbd 100644
--- a/airootfs/etc/systemd/network/20-wwan.network
+++ b/airootfs/etc/systemd/network/20-wwan.network
@@ -3,13 +3,7 @@ Name=ww*
 
 [Network]
 DHCP=yes
-IPv6PrivacyExtensions=yes
 
-# systemd-networkd does not set per-interface-type default route metrics
-# https://github.com/systemd/systemd/issues/17698
-# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
-# Use values from NetworkManager. From nm_device_get_route_metric_default in
-# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
 [DHCPv4]
 RouteMetric=700
 
diff --git a/airootfs/etc/systemd/resolved.conf.d/archiso.conf b/airootfs/etc/systemd/resolved.conf.d/archiso.conf
new file mode 100644
index 0000000..636f3bd
--- /dev/null
+++ b/airootfs/etc/systemd/resolved.conf.d/archiso.conf
@@ -0,0 +1,4 @@
+# Default systemd-resolved configuration for archiso
+
+[Resolve]
+MulticastDNS=yes
diff --git a/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service b/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service
new file mode 120000
index 0000000..d256bfe
--- /dev/null
+++ b/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/bluetooth.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/dbus-fi.w1.wpa_supplicant1.service b/airootfs/etc/systemd/system/dbus-fi.w1.wpa_supplicant1.service
new file mode 120000
index 0000000..1aff68e
--- /dev/null
+++ b/airootfs/etc/systemd/system/dbus-fi.w1.wpa_supplicant1.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/wpa_supplicant.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/dbus-org.bluez.service b/airootfs/etc/systemd/system/dbus-org.bluez.service
new file mode 120000
index 0000000..d256bfe
--- /dev/null
+++ b/airootfs/etc/systemd/system/dbus-org.bluez.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/bluetooth.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/dbus-org.freedesktop.Avahi.service b/airootfs/etc/systemd/system/dbus-org.freedesktop.Avahi.service
new file mode 120000
index 0000000..e7ae405
--- /dev/null
+++ b/airootfs/etc/systemd/system/dbus-org.freedesktop.Avahi.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/avahi-daemon.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
index 0ba0e67..038961e 100644
--- a/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
+++ b/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
@@ -2,7 +2,7 @@
 Description=Temporary /etc/pacman.d/gnupg directory
 
 [Mount]
-What=ramfs
+What=tmpfs
 Where=/etc/pacman.d/gnupg
-Type=ramfs
-Options=mode=0755
+Type=tmpfs
+Options=mode=0755,noswap
diff --git a/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
index a07a34b..c3bb4dd 100644
--- a/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
+++ b/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
@@ -1,4 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
 [Service]
 ExecStart=
-#ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin root - $TERM
-ExecStart=-/sbin/agetty --autologin liveuser --noclear %I 38400 linux
\ No newline at end of file
+ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin root - $TERM
diff --git a/airootfs/etc/systemd/system/intel.service b/airootfs/etc/systemd/system/intel.service
index 02d8a4c..9c110a5 100644
--- a/airootfs/etc/systemd/system/intel.service
+++ b/airootfs/etc/systemd/system/intel.service
@@ -4,7 +4,7 @@ Before=graphical.target
 
 [Service]
 Type=simple
-ExecStart=/bin/bash /usr/bin/GPU-Intel-installer
+ExecStart=/bin/bash /usr/local/bin/GPU-Intel-installer
 
 [Install]
 WantedBy=multi-user.target
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/avahi-daemon.service b/airootfs/etc/systemd/system/multi-user.target.wants/avahi-daemon.service
new file mode 120000
index 0000000..e7ae405
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/avahi-daemon.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/avahi-daemon.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/bluetooth.service b/airootfs/etc/systemd/system/multi-user.target.wants/bluetooth.service
new file mode 120000
index 0000000..d256bfe
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/bluetooth.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/bluetooth.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/firewalld.service b/airootfs/etc/systemd/system/multi-user.target.wants/firewalld.service
new file mode 120000
index 0000000..91b6be3
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/firewalld.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/firewalld.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/intel.service b/airootfs/etc/systemd/system/multi-user.target.wants/intel.service
new file mode 120000
index 0000000..46f1e18
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/intel.service
@@ -0,0 +1 @@
+/etc/systemd/system/intel.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/ntpd.service b/airootfs/etc/systemd/system/multi-user.target.wants/ntpd.service
new file mode 120000
index 0000000..d3bfc72
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/ntpd.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/ntpd.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/pamac-cleancache.timer b/airootfs/etc/systemd/system/multi-user.target.wants/pamac-cleancache.timer
new file mode 120000
index 0000000..77e1f7d
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/pamac-cleancache.timer
@@ -0,0 +1 @@
+/usr/lib/systemd/system/pamac-cleancache.timer
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/remote-fs.target b/airootfs/etc/systemd/system/multi-user.target.wants/remote-fs.target
new file mode 120000
index 0000000..2bc8b1c
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/remote-fs.target
@@ -0,0 +1 @@
+/usr/lib/systemd/system/remote-fs.target
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/spice-vdagentd.socket b/airootfs/etc/systemd/system/multi-user.target.wants/spice-vdagentd.socket
new file mode 120000
index 0000000..6bce993
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/spice-vdagentd.socket
@@ -0,0 +1 @@
+/usr/lib/systemd/system/spice-vdagentd.socket
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/systemd-timesyncd.service b/airootfs/etc/systemd/system/multi-user.target.wants/systemd-timesyncd.service
new file mode 120000
index 0000000..cd00411
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/systemd-timesyncd.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/systemd-timesyncd.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/vboxclient.service b/airootfs/etc/systemd/system/multi-user.target.wants/vboxclient.service
new file mode 120000
index 0000000..224542b
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/vboxclient.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/vboxclient.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/vcheck.service b/airootfs/etc/systemd/system/multi-user.target.wants/vcheck.service
new file mode 120000
index 0000000..1303d33
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/vcheck.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/virtual-machine-check.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/wpa_supplicant.service b/airootfs/etc/systemd/system/multi-user.target.wants/wpa_supplicant.service
new file mode 120000
index 0000000..1aff68e
--- /dev/null
+++ b/airootfs/etc/systemd/system/multi-user.target.wants/wpa_supplicant.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/wpa_supplicant.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service b/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
deleted file mode 120000
index 7d6ad92..0000000
--- a/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/systemd/system/systemd-networkd-wait-online.service
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/pacman-init.service b/airootfs/etc/systemd/system/pacman-init.service
index b824884..1a0be0f 100644
--- a/airootfs/etc/systemd/system/pacman-init.service
+++ b/airootfs/etc/systemd/system/pacman-init.service
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
 [Unit]
 Description=Initializes Pacman keyring
 Requires=etc-pacman.d-gnupg.mount
diff --git a/airootfs/etc/systemd/system/sockets.target.wants/avahi-daemon.socket b/airootfs/etc/systemd/system/sockets.target.wants/avahi-daemon.socket
new file mode 120000
index 0000000..045b23d
--- /dev/null
+++ b/airootfs/etc/systemd/system/sockets.target.wants/avahi-daemon.socket
@@ -0,0 +1 @@
+/usr/lib/systemd/system/avahi-daemon.socket
\ No newline at end of file
diff --git a/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket b/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket
new file mode 120000
index 0000000..3897c63
--- /dev/null
+++ b/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket
@@ -0,0 +1 @@
+/usr/lib/systemd/system/pcscd.socket
\ No newline at end of file
diff --git a/airootfs/etc/xdg/autostart/Calamares-etc.desktop b/airootfs/etc/xdg/autostart/Calamares-etc.desktop
index b93b60e..36c2588 100755
--- a/airootfs/etc/xdg/autostart/Calamares-etc.desktop
+++ b/airootfs/etc/xdg/autostart/Calamares-etc.desktop
@@ -240,7 +240,7 @@ SingleMainWindow=true
 StartupNotify=true
 Terminal=false
 TerminalOptions=
-Exec=/usr/bin/calamares_polkit %f -d -c /etc/calamares/configs/melawy-linux
+Exec=/usr/bin/calamares_polkit %f -d -c /etc/calamares/
 Type=Application
 Version=1.0
 X-AppStream-Ignore=true
diff --git a/airootfs/etc/xdg/kcm-about-distrorc b/airootfs/etc/xdg/kcm-about-distrorc
new file mode 100644
index 0000000..80c3f01
--- /dev/null
+++ b/airootfs/etc/xdg/kcm-about-distrorc
@@ -0,0 +1,4 @@
+[General]
+Name=MelawyLinux
+LogoPath=/usr/share/logos/melawy.png
+Website=https://melawy.ru/
diff --git a/airootfs/etc/xdg/reflector/reflector.conf b/airootfs/etc/xdg/reflector/reflector.conf
index a2cd2b6..12c5c07 100644
--- a/airootfs/etc/xdg/reflector/reflector.conf
+++ b/airootfs/etc/xdg/reflector/reflector.conf
@@ -28,7 +28,9 @@
 
 
 -c CA,FI,FR,DE,IS,IE,IT,JP,KZ,LV,LU,NZ,NO,PL,PT,RU,SG,ES,SE,CH,TW,TH
---protocol https,http,rsync
+--ipv4
+--ipv6
+--protocol https
 --fastest 50
 --latest 50
 --sort rate
diff --git a/airootfs/root/.automated_script.sh b/airootfs/root/.automated_script.sh
index ed3a924..8e72bf7 100755
--- a/airootfs/root/.automated_script.sh
+++ b/airootfs/root/.automated_script.sh
@@ -1,22 +1,29 @@
 #!/usr/bin/env bash
 
-script_cmdline ()
-{
+script_cmdline() {
     local param
-    for param in $(< /proc/cmdline); do
+    for param in $(</proc/cmdline); do
         case "${param}" in
-            script=*) echo "${param#*=}" ; return 0 ;;
+            script=*)
+                echo "${param#*=}"
+                return 0
+                ;;
         esac
     done
 }
 
-automated_script ()
-{
+automated_script() {
     local script rt
     script="$(script_cmdline)"
     if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
         if [[ "${script}" =~ ^((http|https|ftp)://) ]]; then
-            curl "${script}" --retry-connrefused -s -o /tmp/startup_script >/dev/null
+            # there's no synchronization for network availability before executing this script
+            printf '%s: waiting for network-online.target\n' "$0"
+            until systemctl --quiet is-active network-online.target; do
+                sleep 1
+            done
+            printf '%s: downloading %s\n' "$0" "${script}"
+            curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script
             rt=$?
         else
             cp "${script}" /tmp/startup_script
@@ -24,6 +31,9 @@ automated_script ()
         fi
         if [[ ${rt} -eq 0 ]]; then
             chmod +x /tmp/startup_script
+            printf '%s: executing automated script\n' "$0"
+            # note that script is executed when other services (like pacman-init) may be still in progress, please
+            # synchronize to "systemctl is-system-running --wait" when your script depends on other services
             /tmp/startup_script
         fi
     fi
diff --git a/airootfs/root/.gnupg/scdaemon.conf b/airootfs/root/.gnupg/scdaemon.conf
new file mode 100644
index 0000000..e1f3d1f
--- /dev/null
+++ b/airootfs/root/.gnupg/scdaemon.conf
@@ -0,0 +1,4 @@
+disable-ccid
+disable-pinpad
+pcsc-driver /usr/lib/libpcsclite.so
+pcsc-shared
diff --git a/airootfs/root/.zlogin b/airootfs/root/.zlogin
old mode 100755
new mode 100644
index 0fb119d..bf6bc8f
--- a/airootfs/root/.zlogin
+++ b/airootfs/root/.zlogin
@@ -1,5 +1,5 @@
 # fix for screen readers
-if grep -Fq 'accessibility=' /proc/cmdline &> /dev/null; then
+if grep -Fqa 'accessibility=' /proc/cmdline &> /dev/null; then
     setopt SINGLE_LINE_ZLE
 fi
 
diff --git a/airootfs/root/archives/liveuser.tar.xz b/airootfs/root/archives/liveuser.tar.xz
index 2b01587..da8aec7 100644
Binary files a/airootfs/root/archives/liveuser.tar.xz and b/airootfs/root/archives/liveuser.tar.xz differ
diff --git a/airootfs/root/customize_airootfs.sh b/airootfs/root/customize_airootfs.sh
index be08b40..7de3975 100755
--- a/airootfs/root/customize_airootfs.sh
+++ b/airootfs/root/customize_airootfs.sh
@@ -2,48 +2,49 @@
 
 locale-gen
 
-ln -sf /usr/share/zoneinfo/UTC /etc/localtime
-
-usermod -s /bin/bash root
+usermod -p "123" -s /bin/bash root
 cp -aT /etc/skel/ /root/
 
-useradd -m -p "" -g 'users' -G 'adm,audio,floppy,log,network,nopasswdlogin,optical,power,rfkill,scanner,storage,sys,tty,users,uucp,wheel' -s /bin/bash liveuser
-usermod -m -p "" -g 'users' -G 'adm,audio,autologin,network,nopasswdlogin,optical,power,rfkill,storage,sys,users,uucp,video,wheel' -s /bin/bash liveuser
-usermod -m -p "" -g 'users' -G 'adm,audio,autologin,floppy,log,network,nopasswdlogin,optical,power,rfkill,scanner,storage,sys,tty,users,uucp,video,wheel' -s /bin/bash liveuser
+usermod -p "123" liveuser
+
+groups="adm audio autologin floppy log network nopasswdlogin optical power rfkill scanner storage sys tty users uucp video wheel"
+for i in $groups
+do
+    #usermod -m -d /home/liveuser -p "123" -g 'users' -G $i -s /bin/bash liveuser
+    usermod -G $i liveuser
+done
 
-chmod 750 /etc/sudoers.d
-chmod 440 /etc/sudoers.d/g_wheel
 chown -R 1000:1000 /home/liveuser
 
+findstr=$(grep -e 'kdesu' /usr/bin/eos-install-mode-run-calamares)
+sed -e "s/$findstr//g" -i /usr/bin/eos-install-mode-run-calamares
+
 sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist
 sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf
 
 echo -e "[Daemon]\nTheme=melawy-lera-sugar\nDeviceScale=1\nDeviceTimeout=8\nShowDelay=0" > "/usr/share/plymouth/plymouthd.defaults"
 
-cat "/usr/lib/melawy-linux-release" >> "/etc/motd"
-echo "------------------" >> "/etc/motd"
+# cat "/usr/lib/melawy-linux-release" >> "/etc/motd"
+# echo "------------------" >> "/etc/motd"
 
 
 mkdir -p "/etc/calamares/configs/melawy-linux/files/"
 cp "/root/wallpaper.png" "/etc/calamares/configs/melawy-linux/files/melawy-linux-wallpaper.png"
 chmod 644 "/etc/calamares/configs/melawy-linux/files/"*".png"
 
-mkdir -p "/usr/share/melawy-linux/backgrounds/"
-cp "/root/wallpaper.png" "/usr/share/melawy-linux/backgrounds/melawy-linux-wallpaper.png"
-chmod 644 "/usr/share/melawy-linux/backgrounds/"*".png"
+chmod 644 "/usr/share/wallpapers/melawy-linux-wallpapers/"*".png"
 
+cp "/usr/lib/modprobe.d/nvidia-utils.conf" "/etc/calamares/configs/melawy-linux/files/nv-modprobe"
+cp "/usr/lib/modules-load.d/nvidia-utils.conf" "/etc/calamares/configs/melawy-linux/files/nv-modules-load"
 
-mv "/usr/lib/modprobe.d/nvidia-utils.conf" "/etc/calamares/configs/melawy-linux/files/nv-modprobe"
-mv "/usr/lib/modules-load.d/nvidia-utils.conf" "/etc/calamares/configs/melawy-linux/files/nv-modules-load"
-
-systemctl enable sddm.service
-systemctl enable ntpd.service
-systemctl enable NetworkManager.service systemd-timesyncd.service bluetooth.service firewalld.service
-systemctl enable vboxservice.service vmtoolsd.service vmware-vmblock-fuse.service
-systemctl enable intel.service
-systemctl enable pacman-init.service choose-mirror.service
-#systemctl set-default multi-user.target
-systemctl set-default graphical.target
+# systemctl enable sddm.service
+# systemctl enable ntpd.service
+# systemctl enable NetworkManager.service systemd-timesyncd.service bluetooth.service firewalld.service
+# systemctl enable vboxservice.service vmtoolsd.service vmware-vmblock-fuse.service
+# systemctl enable intel.service
+# systemctl enable pacman-init.service choose-mirror.service
+# #systemctl set-default multi-user.target
+# systemctl set-default graphical.target
 
 pacman -Qs | grep "/calamares " | cut -c7- > iso_package_versions
 pacman -Qs | grep "/firefox " | cut -c7- >> iso_package_versions
@@ -55,12 +56,6 @@ mv "iso_package_versions" "/home/liveuser/"
 
 cd "/root"
 
-haveged -w 1024
-pacman-key --init
-pkill haveged
-pacman-key --populate archlinux melawy-linux arcolinux
-pacman-key --updatedb
-
 tar -xJvf /root/archives/skel.tar.xz -C /etc/skel --strip=1 --overwrite
 chown -R 0:0 /etc/skel
 
diff --git a/airootfs/root/wallpaper.png b/airootfs/root/wallpaper.png
index fafb0de..6ed5499 100644
Binary files a/airootfs/root/wallpaper.png and b/airootfs/root/wallpaper.png differ
diff --git a/airootfs/usr/bin/GPU-Intel-installer b/airootfs/usr/local/bin/GPU-Intel-installer
similarity index 100%
rename from airootfs/usr/bin/GPU-Intel-installer
rename to airootfs/usr/local/bin/GPU-Intel-installer
diff --git a/airootfs/usr/local/bin/alci-make-a-pure-arch b/airootfs/usr/local/bin/alci-make-a-pure-arch
deleted file mode 100755
index e2bbfa2..0000000
--- a/airootfs/usr/local/bin/alci-make-a-pure-arch
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-#set -e
-###############################################################################
-# Author	:	Erik Dubois
-# Website	:	https://www.erikdubois.be
-# Website	:	https://www.arcolinux.info
-# Website	:	https://www.arcolinux.com
-# Website	:	https://www.arcolinuxd.com
-# Website	:	https://www.arcolinuxb.com
-# Website	:	https://www.arcolinuxiso.com
-# Website	:	https://www.arcolinuxforum.com
-###############################################################################
-#
-#   DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
-#
-###############################################################################
-
-#if necessary we can use this script too
diff --git a/airootfs/usr/local/bin/all-cores b/airootfs/usr/local/bin/all-cores
new file mode 100755
index 0000000..9f8b5cf
--- /dev/null
+++ b/airootfs/usr/local/bin/all-cores
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+#set -e
+##################################################################################################################
+# Author    :   Valeria Fadeeva
+# Website   :   https://valeria.fadeeva.me
+# Website   :   https://fadeeva.me
+# Website   :   https://melawy.ru
+##################################################################################################################
+#
+#   DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
+#
+##################################################################################################################
+
+numberofcores=$(grep -c ^processor /proc/cpuinfo)
+
+if [ $numberofcores -gt 1 ]
+then
+        echo "You have " $numberofcores" cores."
+        echo "Changing the makeflags for "$numberofcores" cores."
+        sudo sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j'$(($numberofcores+1))'"/g' /etc/makepkg.conf;
+        echo "Changing the compression settings for "$numberofcores" cores."
+        sudo sed -i 's/COMPRESSXZ=(xz -c -z -)/COMPRESSXZ=(xz -c -z - --threads=0)/g' /etc/makepkg.conf
+        sudo sed -i 's/COMPRESSZST=(zstd -c -z -q -)/COMPRESSZST=(zstd -c -z -q - --threads=0)/g' /etc/makepkg.conf
+        sudo sed -i "s/PKGEXT='.pkg.tar.xz'/PKGEXT='.pkg.tar.zst'/g" /etc/makepkg.conf
+else
+        echo "No change."
+fi
diff --git a/airootfs/usr/local/bin/calamares-offline.sh b/airootfs/usr/local/bin/calamares-offline.sh
new file mode 100755
index 0000000..0891496
--- /dev/null
+++ b/airootfs/usr/local/bin/calamares-offline.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+Main() {
+    local mode=offline
+    local progname=""
+    progname="$(basename "$0")"
+    local log=/home/liveuser/melawy-install.log
+
+    cat <<EOF > $log
+########## $log by $progname
+########## Started (UTC): $(date -u "+%x %X")
+########## Install mode: $mode
+
+EOF
+    RunInTerminal "tail -f $log" &
+
+    sudo cp /usr/share/calamares/settings_${mode}.conf /etc/calamares/settings.conf
+    sudo -E dbus-launch calamares -D6 >> $log
+}
+
+Main "$@"
diff --git a/airootfs/usr/local/bin/calamares-online.sh b/airootfs/usr/local/bin/calamares-online.sh
new file mode 100755
index 0000000..8628de1
--- /dev/null
+++ b/airootfs/usr/local/bin/calamares-online.sh
@@ -0,0 +1,99 @@
+#!/bin/bash
+
+FollowFile() {
+    local tailfile="$1"
+    local term_title="$2"
+
+    alacritty -t "$term_title" -e tail -f "$tailfile" &
+}
+
+catch_chrooted_pacman_log() {
+    local pacmanlog=""
+    local lockfile="$HOME/.$1.lck"
+
+    # wait until pacman.log is available in the chrooted system, then follow the log in background
+    while true ; do
+        sleep 2
+        pacmanlog="$(/usr/bin/ls -1 /tmp/calamares-root-*/var/log/pacman.log 2>/dev/null | /usr/bin/tail -n 1)"
+        if [ -n "$pacmanlog" ] ; then
+            # pacman.log found
+            [ -r "$lockfile" ] && return
+            /usr/bin/touch "$lockfile"
+            FollowFile "$pacmanlog" "Pacman log" 400 50
+            break
+        fi
+    done
+}
+
+Main() {
+    local progname
+    progname="$(basename "$0")"
+    local log=/home/liveuser/melawy-install.log
+    local mode=""
+
+    case "$progname" in
+        calamares-online.sh) mode=online ;;
+        calamares-offline.sh) mode=offline ;;
+    esac
+    mode=online  # keep this line for now!
+
+    local _efi_check_dir="/sys/firmware/efi"
+    local _exitcode=2 # by default use grub
+
+    local SYSTEM=""
+    local BOOTLOADER=""
+    if [ -d "${_efi_check_dir}" ]; then
+        SYSTEM="UEFI SYSTEM"
+
+        # Restrict bootloader selection to only UEFI systems
+        _exitcode=$(yad --width 300 --title "Bootloader" \
+    --image=gnome-shutdown \
+    --button="Grub:2" \
+    --button="Systemd-boot:3" \
+    --button="Refind:4" \
+    --text "Choose Bootloader:" ; echo $?)
+    else
+        SYSTEM="BIOS/MBR SYSTEM"
+    fi
+
+
+    if [[ "${_exitcode}" -eq 2 ]]; then
+        BOOTLOADER="GRUB"
+        echo "USING GRUB!"
+        yes | sudo pacman -R cachyos-calamares-systemd
+        yes | sudo pacman -R cachyos-calamares-grub
+        yes | sudo pacman -R cachyos-calamares-refind
+        yes | sudo pacman -Sy cachyos-calamares-grub
+    elif [[ "${_exitcode}" -eq 3 ]]; then
+        BOOTLOADER="SYSTEMD-BOOT"
+        echo "USING SYSTEMD-BOOT!"
+        yes | sudo pacman -R cachyos-calamares-grub
+        yes | sudo pacman -R cachyos-calamares-refind
+        yes | sudo pacman -Sy cachyos-calamares-systemd
+    elif [[ "${_exitcode}" -eq 4 ]]; then
+        BOOTLOADER="REFIND"
+        echo "USING REFIND!"
+        yes | sudo pacman -R cachyos-calamares-grub
+        yes | sudo pacman -R cachyos-calamares-systemd
+        yes | sudo pacman -Sy cachyos-calamares-refind
+    else
+        exit
+    fi
+
+    cat <<EOF > $log
+########## $log by $progname
+########## Started (UTC): $(date -u "+%x %X")
+########## Install mode: $mode
+########## System: $SYSTEM
+########## Bootloader: $BOOTLOADER
+EOF
+    FollowFile "$log" "Install log" 20 20
+
+    sudo cp /usr/share/calamares/settings_${mode}.conf /etc/calamares/settings.conf
+    sudo -E  dbus-launch calamares -D6 >> $log &
+
+    # comment out the following line if pacman.log is not needed:
+    [ "$mode" = "online" ] && catch_chrooted_pacman_log "$progname"
+}
+
+Main "$@"
diff --git a/airootfs/usr/local/bin/choose-mirror b/airootfs/usr/local/bin/choose-mirror
index b021945..d2349de 100755
--- a/airootfs/usr/local/bin/choose-mirror
+++ b/airootfs/usr/local/bin/choose-mirror
@@ -4,21 +4,22 @@
 
 get_cmdline() {
     local param
-    for param in $(< /proc/cmdline); do
+    for param in $(</proc/cmdline); do
         case "${param}" in
-            $1=*) echo "${param##*=}";
-            return 0
-            ;;
+            "${1}="*)
+                echo "${param##*=}"
+                return 0
+                ;;
         esac
     done
 }
 
-mirror=$(get_cmdline mirror)
-[[ $mirror = auto ]] && mirror=$(get_cmdline archiso_http_srv)
-[[ $mirror ]] || exit 0
+mirror="$(get_cmdline mirror)"
+[[ "$mirror" == 'auto' ]] && mirror="$(get_cmdline archiso_http_srv)"
+[[ -n "$mirror" ]] || exit 0
 
 mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
-cat >/etc/pacman.d/mirrorlist << EOF
+cat >/etc/pacman.d/mirrorlist <<EOF
 #
 # Arch Linux repository mirrorlist
 # Generated by archiso
diff --git a/airootfs/usr/bin/device-info b/airootfs/usr/local/bin/device-info
similarity index 100%
rename from airootfs/usr/bin/device-info
rename to airootfs/usr/local/bin/device-info
diff --git a/airootfs/usr/local/bin/displaymanager-check b/airootfs/usr/local/bin/displaymanager-check
deleted file mode 100755
index 916547f..0000000
--- a/airootfs/usr/local/bin/displaymanager-check
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-#set -e
-###############################################################################
-# Author	:	Erik Dubois
-# Website	:	https://www.erikdubois.be
-# Website	:	https://www.arcolinux.info
-# Website	:	https://www.arcolinux.com
-# Website	:	https://www.arcolinuxd.com
-# Website	:	https://www.arcolinuxb.com
-# Website	:	https://www.arcolinuxiso.com
-# Website	:	https://www.arcolinuxforum.com
-###############################################################################
-#
-#   DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
-#
-###############################################################################
-
-package=sddm
-if pacman -Qs $package > /dev/null ; then
-    ln -sf /usr/lib/systemd/system/sddm.service /etc/systemd/system/display-manager.service
-fi
-package=gdm
-if pacman -Qs $package > /dev/null ; then
-    ln -sf /usr/lib/systemd/system/gdm.service /etc/systemd/system/display-manager.service
-fi
-package=lxdm
-if pacman -Qs $package > /dev/null ; then
-    ln -sf /usr/lib/systemd/system/lxdm.service /etc/systemd/system/display-manager.service
-fi
-package=lightdm
-if pacman -Qs $package > /dev/null ; then
-  ln -sf /usr/lib/systemd/system/lightdm.service /etc/systemd/system/display-manager.service
-fi
diff --git a/airootfs/usr/local/bin/alci-displaymanager-check b/airootfs/usr/local/bin/dmcheck
similarity index 67%
rename from airootfs/usr/local/bin/alci-displaymanager-check
rename to airootfs/usr/local/bin/dmcheck
index 916547f..8957714 100755
--- a/airootfs/usr/local/bin/alci-displaymanager-check
+++ b/airootfs/usr/local/bin/dmcheck
@@ -1,33 +1,42 @@
-#!/bin/bash
+#!/usr/bin/env bash
 #set -e
 ###############################################################################
-# Author	:	Erik Dubois
-# Website	:	https://www.erikdubois.be
-# Website	:	https://www.arcolinux.info
-# Website	:	https://www.arcolinux.com
-# Website	:	https://www.arcolinuxd.com
-# Website	:	https://www.arcolinuxb.com
-# Website	:	https://www.arcolinuxiso.com
-# Website	:	https://www.arcolinuxforum.com
+# Author    :   Valeria Fadeeva
+# Website   :   https://valeria.fadeeva.me
+# Website   :   https://fadeeva.me
+# Website   :   https://melawy.ru
 ###############################################################################
 #
 #   DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
 #
 ###############################################################################
 
+package=ly
+if pacman -Qs $package > /dev/null ; then
+  ln -sf /usr/lib/systemd/system/ly.service /etc/systemd/system/display-manager.service
+fi
+
 package=sddm
 if pacman -Qs $package > /dev/null ; then
     ln -sf /usr/lib/systemd/system/sddm.service /etc/systemd/system/display-manager.service
 fi
+
 package=gdm
 if pacman -Qs $package > /dev/null ; then
     ln -sf /usr/lib/systemd/system/gdm.service /etc/systemd/system/display-manager.service
 fi
+
 package=lxdm
 if pacman -Qs $package > /dev/null ; then
     ln -sf /usr/lib/systemd/system/lxdm.service /etc/systemd/system/display-manager.service
 fi
+
 package=lightdm
 if pacman -Qs $package > /dev/null ; then
   ln -sf /usr/lib/systemd/system/lightdm.service /etc/systemd/system/display-manager.service
 fi
+
+echo "#################################"
+echo "End displaymanager-check"
+echo "#################################"
+rm /usr/local/bin/dmcheck
diff --git a/airootfs/usr/local/bin/fsprogschk b/airootfs/usr/local/bin/fsprogschk
new file mode 100755
index 0000000..b21cf4c
--- /dev/null
+++ b/airootfs/usr/local/bin/fsprogschk
@@ -0,0 +1,29 @@
+#!/bin/bash
+#set -e
+
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+BLUE='\033[0;34m'
+NC='\033[0m'
+
+###############################################################################
+# Author    :   Valeria Fadeeva
+# Website   :   https://valeria.fadeeva.me
+# Website   :   https://fadeeva.me
+# Website   :   https://melawy.ru
+###############################################################################
+
+if lsblk -f | grep -q "btrfs"; then
+    echo -e "${GREEN}BTRFS partitions found. Removing XFS-Progs.${NC}"
+    echo
+    sudo pacman -Rdd --noconfirm xfsprogs
+elif lsblk -f | grep -q "xfs"; then
+    echo -e "${RED}XFS partitions found. Removing BTRFS-Progs.${NC}"
+    echo
+    sudo pacman -Rdd --noconfirm btrfs-progs
+else
+    echo -e "${BLUE}No XFS or BTRFS partitions found. Removing both Progs Packages.${NC}"
+    sudo pacman -Rdd --noconfirm xfsprogs btrfs-progs
+fi
+
+rm /usr/local/bin/fsprogschk
diff --git a/airootfs/usr/local/bin/get-nemesis-on-alci b/airootfs/usr/local/bin/get-nemesis-on-alci
deleted file mode 100755
index d0ec56b..0000000
--- a/airootfs/usr/local/bin/get-nemesis-on-alci
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-#set -e
-##################################################################################################################
-# Author 	: Erik Dubois
-# Website   : https://www.erikdubois.be
-# Website   : https://www.alci.online
-# Website	: https://www.arcolinux.info
-# Website	: https://www.arcolinux.com
-# Website	: https://www.arcolinuxd.com
-# Website	: https://www.arcolinuxb.com
-# Website	: https://www.arcolinuxiso.com
-# Website	: https://www.arcolinuxforum.com
-##################################################################################################################
-#
-#   DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
-#
-##################################################################################################################
-#tput setaf 0 = black 
-#tput setaf 1 = red 
-#tput setaf 2 = green
-#tput setaf 3 = yellow 
-#tput setaf 4 = dark blue 
-#tput setaf 5 = purple
-#tput setaf 6 = cyan 
-#tput setaf 7 = gray 
-#tput setaf 8 = light blue
-##################################################################################################################
-
-#iso=alci-iso-hardened
-
-echo
-tput setaf 3
-echo "################################################################"
-echo "################### Start clone arcolinux-nemesis"
-echo "################################################################"
-tput sgr0
-echo
-
-sudo pacman -Sy git --noconfirm --needed
-
-[ -d $HOME"/DATA" ] || mkdir -p $HOME"/DATA"
-cd ~/DATA
-git clone https://github.com/erikdubois/arcolinux-nemesis
-
-echo
-tput setaf 3
-echo "################################################################"
-echo "################### End clone arcolinux-nemesis"
-echo "################################################################"
-tput sgr0
-echo
\ No newline at end of file
diff --git a/airootfs/usr/bin/melawy-linux-connection-checker b/airootfs/usr/local/bin/melawy-linux-connection-checker
similarity index 100%
rename from airootfs/usr/bin/melawy-linux-connection-checker
rename to airootfs/usr/local/bin/melawy-linux-connection-checker
diff --git a/airootfs/usr/local/bin/melawy-linux-final b/airootfs/usr/local/bin/melawy-linux-final
new file mode 100755
index 0000000..c121b0b
--- /dev/null
+++ b/airootfs/usr/local/bin/melawy-linux-final
@@ -0,0 +1,59 @@
+#!/bin/bash
+echo
+echo "#################################"
+echo "Start melawy-linux-final"
+echo "#################################"
+
+echo "Permissions of important folders"
+echo "#################################"
+chmod 750 /etc/sudoers.d
+chmod 750 /etc/polkit-1/rules.d
+chgrp polkitd /etc/polkit-1/rules.d
+
+echo "Copy /etc/skel to /root"
+echo "#################################"
+cp -aT /etc/skel/ /root/
+
+echo "Cleanup autologin root"
+echo "#################################"
+rm -rf /etc/systemd/system/getty@tty1.service.d
+
+echo "Setting editor to nano"
+echo "#################################"
+echo "EDITOR=nano" >> /etc/profile
+
+#Original cleanup
+echo "Cleanup original files"
+echo "#################################"
+rm -f /etc/sudoers.d/g_wheel
+rm -f /etc/polkit-1/rules.d/49-nopasswd_global.rules
+rm -f /etc/systemd/system/etc-pacman.d-gnupg.mount
+rm -f /etc/xdg/autostart/welcome.desktop
+rm /root/{.automated_script.sh,.zlogin}
+mv /etc/melawy-linux-release /etc/lsb-release
+
+echo "Permission of root"
+echo "#################################"
+chmod -v 750 /root
+
+echo "Patching System.conf"
+echo "#################################"
+sed -i "s/#RebootWatchdogSec=10min/RebootWatchdogSec=30s/g" /etc/systemd/system.conf
+sed -i "s/#DefaultTimeoutStopSec=90s/DefaultTimeoutStopSec=5s/g" /etc/systemd/system.conf
+sed -i "s/#DefaultTimeoutStartSec=90s/DefaultTimeoutStartSec=10s/g" /etc/systemd/system.conf
+
+echo "Setting KGPg Never to start"
+echo "#################################"
+sed -i '219 i OnlyShowIn=KDE' /etc/xdg/autostart/org.kde.kgpg.desktop
+
+echo "Fixing SDDM.conf User"
+echo "#####################"
+sed -i "s/User=liveuser/User=/g" /etc/sddm.conf.d/kde_settings.conf
+
+echo "#################################"
+echo "End melawy-linux-final"
+echo "#################################"
+rm /usr/local/bin/vcheck
+rm /usr/local/bin/all-cores
+rm /usr/local/bin/melawy-linux-final
+rm -rf /home/liveuser/
diff --git a/airootfs/usr/local/bin/prepare-live-desktop.sh b/airootfs/usr/local/bin/prepare-live-desktop.sh
new file mode 100755
index 0000000..2b35714
--- /dev/null
+++ b/airootfs/usr/local/bin/prepare-live-desktop.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+# borrowed from manjaro livecd
+
+xdg=$(xdg-user-dir DESKTOP)
+src='/usr/share/applications'
+
+## We don't need .desktop on desktop,
+## actually we should remove .desktop or fix the .desktop as it is running with pkexec,
+## and using current calamares config (not even running with script to provide logs).
+#if [[ -f /usr/bin/calamares ]]; then
+#    install -Dm755 $src/calamares.desktop \
+#    $xdg/calamares.desktop
+#fi
+
+# workaround for glib trash bug (https://bugzilla.gnome.org/show_bug.cgi?id=748248)
+userid=$(id -u $USER)
+if [ ! -d "/.Trash-$userid" ]; then
+    sudo mkdir -p /.Trash-$userid/{expunged,files,info}
+    sudo chown -R $userid /.Trash-$userid
+fi
+
+# mark launchers trusted for XFCE 4.18
+for f in $(ls $xdg/*desktop); do
+    gio set -t string $f metadata::xfce-exe-checksum "$(sha256sum $f | awk '{print $1}')"
+done;
diff --git a/airootfs/usr/local/bin/remove-nvidia b/airootfs/usr/local/bin/remove-nvidia
new file mode 100755
index 0000000..88f79b4
--- /dev/null
+++ b/airootfs/usr/local/bin/remove-nvidia
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+_remove_pacman_package() {
+  local _pkgname="$1"
+  pacman -Rsnc "$_pkgname" --noconfirm || true
+}
+
+# remove pkgs installed for VMs
+_clean_vm_packages() {
+
+  #remove virtualbox
+  if pacman -Qi virtualbox-guest-utils &> /dev/null; then
+    systemctl disable vboxservice.service
+    _remove_pacman_package virtualbox-guest-utils
+  fi
+
+  if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then
+    systemctl disable vboxservice.service
+    _remove_pacman_package virtualbox-guest-utils-nox
+  fi
+
+  #remove vmware
+  if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then
+    rm /etc/xdg/autostart/vmware-user.desktop
+  fi
+
+  if pacman -Qi open-vm-tools &> /dev/null; then
+    systemctl disable vmtoolsd.service
+    _remove_pacman_package open-vm-tools
+  fi
+
+  if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
+    rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
+  fi
+
+  #remove qemu
+  if pacman -Qi qemu-guest-agent &> /dev/null; then
+    systemctl disable qemu-guest-agent.service
+    _remove_pacman_package qemu-guest-agent
+  fi
+}
+
+_check_not_running_vm="$(systemd-detect-virt | grep -q 'none'; echo $?)"
+if [[ "${_check_not_running_vm}" -eq 0 ]]; then
+  _clean_vm_packages
+fi
+
+# vim:set ft=bash sw=2 sts=2 et:
diff --git a/airootfs/usr/local/bin/removeun b/airootfs/usr/local/bin/removeun
new file mode 100755
index 0000000..5154a85
--- /dev/null
+++ b/airootfs/usr/local/bin/removeun
@@ -0,0 +1,60 @@
+#!/bin/bash
+#set -e
+
+_clean_files() {
+local _files_to_remove=(
+  /etc/modprobe.d/nvidia-utils.conf
+  /etc/modules-load.d/nvidia-utils.conf
+  /usr/local/bin/choose-mirror
+  /usr/local/bin/prepare-live-desktop.sh
+  /usr/local/bin/removeun-online
+  /usr/local/share/livecd-sound
+)
+
+  local xx
+  for xx in "${_files_to_remove[@]}"; do rm -rf "$xx" || true; done
+}
+
+_clean_packages() {
+local _packages_to_remove=(
+  gparted
+  grsync
+  cachyos-calamares-grub
+  cachyos-calamares-systemd
+  cachyos-calamares-refind
+  cachyos-calamares
+  cachyos-calamares-config
+  edk2-shell
+  boost-libs
+  doxygen
+  expect
+  gpart
+  tcpdump
+  arch-install-scripts
+  squashfs-tools
+  extra-cmake-modules
+  cmake
+  elinks
+  yaml-cpp
+  syslinux
+  clonezilla
+  memtest86+
+  mkinitcpio-archiso
+)
+
+  local _check_nvidia_card="$(chwd --is_nvidia_card | grep -q 'NVIDIA card found!'; echo $?)"
+  if [[ "${_check_nvidia_card}" -ne 0 ]]; then
+    echo "No NVIDIA card detected. Removing nvidia drivers"
+    _packages_to_remove+=(nvidia-dkms nvidia-utils egl-wayland)
+  fi
+
+  local xx
+  # @ does one by one to avoid errors in the entire process
+  # taken from Erik Dubois script
+  for xx in "${_packages_to_remove[@]}"; do pacman -Rsnc "$xx" --noconfirm; done
+}
+
+_clean_packages
+_clean_files
+
+# vim:set ft=bash sw=2 sts=2 et:
diff --git a/airootfs/usr/local/bin/removeun-online b/airootfs/usr/local/bin/removeun-online
new file mode 100755
index 0000000..a1df016
--- /dev/null
+++ b/airootfs/usr/local/bin/removeun-online
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+_clean_packages() {
+    local _leave_these_packages="base\nbase-devel\ncachyos-keyring\ncachyos-hello\ngrub\nefibootmgr\noctopi\nca-certificates\n"
+    local _leave_these_basepackages="filesystem\ngcc-libs\nglibc\nglib2\nbash\ncoreutils\nfile\nfindutils\ngawk\ngrep\nprocps-ng\nsed\ntar\ngettext\npciutils\npsmisc\nshadow\nutil-linux\nbzip2\ngzip\nxz\nlicenses\npacman\nsystemd\nsystemd-sysvcompat\niputils\niproute2\n"
+    local _packages_to_remove=($(comm -23 <(pacman -Qq | sort) <({ pacman -Qqg base-devel; pacman -Qqg cachyos; printf $_leave_these_packages; printf $_leave_these_basepackages; } | sort -u)))
+    local xx
+    # @ does one by one to avoid errors in the entire process
+    # * can be used to treat all packages in one command
+    for xx in "${_packages_to_remove[@]}"; do pacman -Rs "$xx" --noconfirm; done
+
+    # making sure they are removed
+#    local _toberemoved_str=$'bash-completion\nxorg-xinit\nxorg-xkill\nxorg-xinput\nxorg-xrandr\nxorg-xrdb\nmkinitcpio-openswap\nalacritty\nkonsole\nkwin-scripts-forceblur\nnetworkmanager-vpnc\nnetworkmanager-qt\nnetworkmanager-openvpn\nwireguard-tools\nopenconnect\nopenvpn\nqt5-xmlpatterns\ndoxygen\ntcpdump\ndmidecode\nkparts\npolkit-qt5\nxorg-server\nxorg-apps\nqt5-tools\nzfs-utils\nlinux-cachyos-zfs\nwget\nvirtualbox-guest-utils\nxf86-video-vesa\nxf86-video-amdgpu\nxf86-video-intel\nnvidia-dkms\nnvidia-utils\nlightdm\nlightdm-gtk-greeter\nlightdm-webkit2-greeter\nbase-devel\nlinux-cachyos-headers\nplasma-browser-integration\nplasma-desktop\nplasma-firewall\nplasma-framework\nplasma-integration\nplasma-nm\nplasma-pa\nplasma-systemmonitor\nplasma-thunderbolt\nplasma-workspace\ndiscover\npackagekit-qt5\nxed\nparole\nristretto\ndolphin\ndolphin-plugins\ncapitaine-cursors\ngtk-engine-murrine\ngnome-themes-extra\nadwaita-icon-theme\nfile-roller\nlibwnck3\nnetwork-manager-applet\ngalculator\ncachy-browser\nkvantum-qt5\nqt5ct\nneofetch\nopen-vm-tools\nxf86-input-vmmouse\nxf86-video-vmware\ncachyos-kde-settings\ncachyos-picom-config\ncachyos-rate-mirrors\ncachyos-kernel-manager\nchwd\noctopi\nreflector-simple\nmeld\nparu\nnordic-theme-git\nlightly-git\ncachyos-nord-kde-theme-git\nchar-white'
+#    local _toberemoved_packages
+#    readarray -t _toberemoved_packages <<< "$_toberemoved_str"
+#    local xxx
+#    for xxx in "${_toberemoved_packages[@]}"; do pacman -Rs "$xxx" --noconfirm; done
+
+    rm /etc/sddm.conf || true
+}
+
+_pacman_fix() {
+
+pacman-key --init
+pacman-key --populate cachyos
+}
+
+_try_v3() {
+    /lib/ld-linux-x86-64.so.2 --help | grep "x86-64-v3 (supported, searched)" > /dev/null
+
+    local pacman_conf="/etc/pacman.conf"
+    local pacman_conf_cachyos="/etc/pacman-more.conf"
+    local pacman_conf_path_backup="/etc/pacman.conf.bak"
+
+    if [ $? -eq 0 ]; then
+        echo "x86-64-v3 is supported"
+
+        sed -i 's/Architecture = auto/#Architecture = auto/' $pacman_conf_cachyos
+        sed -i 's/#<disabled_v3>//g' $pacman_conf_cachyos
+
+        echo "backup old config"
+        mv $pacman_conf $pacman_conf_path_backup
+
+        echo "CachyOS -v3 Repo changed"
+        mv $pacman_conf_cachyos $pacman_conf
+
+    else
+        echo "x86-64-v3 is not supported"
+    fi
+
+}
+
+_clean_packages
+_try_v3
+_pacman_fix
diff --git a/airootfs/usr/local/bin/services b/airootfs/usr/local/bin/services
new file mode 100755
index 0000000..0efa4e5
--- /dev/null
+++ b/airootfs/usr/local/bin/services
@@ -0,0 +1,19 @@
+#!/bin/bash
+echo
+echo "#################################"
+echo "Start Services"
+echo "#################################"
+
+echo "Permission of root"
+echo "#################################"
+chmod -v 750 /root
+
+echo "Bluetooth improvements"
+echo "#################################"
+sed -i "s/#AutoEnable=false/AutoEnable=true/g" /etc/bluetooth/main.conf
+echo 'load-module module-switch-on-connect' | sudo tee --append /etc/pulse/default.pa
+
+echo "#################################"
+echo "End melawy-linux-final"
+echo "#################################"
+rm /usr/local/bin/services
diff --git a/airootfs/usr/local/bin/skel b/airootfs/usr/local/bin/skel
new file mode 100755
index 0000000..892bc9b
--- /dev/null
+++ b/airootfs/usr/local/bin/skel
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+echo
+echo "#################################"
+echo "Moving content from skel"
+echo "#################################"
+
+for i in `ls /home/`; do su -s "/bin/bash" -c "cp -aT /etc/skel/ /home/$i/" $i || exit 0; done
+rm /usr/local/bin/skel
\ No newline at end of file
diff --git a/airootfs/usr/local/bin/ucode b/airootfs/usr/local/bin/ucode
new file mode 100755
index 0000000..0e9b404
--- /dev/null
+++ b/airootfs/usr/local/bin/ucode
@@ -0,0 +1,23 @@
+#!/bin/bash
+#set -e
+###############################################################################
+# Author    :   Valeria Fadeeva
+# Website   :   https://valeria.fadeeva.me
+# Website   :   https://fadeeva.me
+# Website   :   https://melawy.ru
+###############################################################################
+
+cpu_vendor=$(cat /proc/cpuinfo | awk '/vendor_id/ {print $3}' | head -n 1)
+
+if [[ "$cpu_vendor" == "GenuineIntel" ]]; then
+    echo "Intel CPU detected."
+    sudo pacman -Rdd --noconfirm amd-ucode
+elif [[ "$cpu_vendor" == "AuthenticAMD" ]]; then
+    echo "AMD CPU detected."
+    sudo pacman -Rdd --noconfirm intel-ucode
+else
+    echo "Unknown CPU vendor: $cpu_vendor"
+    sudo pacman -Rdd --noconfirm intel-ucode amd-ucode
+fi
+
+rm /usr/local/bin/ucode
diff --git a/airootfs/usr/local/bin/vcheck b/airootfs/usr/local/bin/vcheck
new file mode 100755
index 0000000..8fb756a
--- /dev/null
+++ b/airootfs/usr/local/bin/vcheck
@@ -0,0 +1,151 @@
+#!/bin/bash
+#set -e
+###############################################################################
+# Author    :   Valeria Fadeeva
+# Website   :   https://valeria.fadeeva.me
+# Website   :   https://fadeeva.me
+# Website   :   https://melawy.ru
+###############################################################################
+#
+#   DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
+#
+###############################################################################
+
+result=$(systemd-detect-virt)
+
+while [ -e "/var/lib/pacman/db.lck" ];
+do
+    echo 'Pacman is not ready yet. Will try again in 5 seconds.'
+    seconds=$(($seconds + 5))
+    sleep 5
+    if [[ "$seconds" == "30" ]]; then
+        echo 'Warning: removing pacman db.lck!'
+        rm /var/lib/pacman/db.lck
+    fi
+done
+
+echo "You are working on "$result
+
+if [ $result = "oracle" ];
+	then
+		#remove vmware
+		if pacman -Qi open-vm-tools &> /dev/null; then
+			systemctl disable vmtoolsd.service
+			echo "Disabled vmtoolsd.service"
+			pacman -Rns open-vm-tools --noconfirm
+			echo "Removed open-vm-tools"
+		fi
+
+		if pacman -Qi xf86-video-vmware &> /dev/null; then
+			pacman -Rns xf86-video-vmware --noconfirm
+			echo "Removed xf86-video-vmware"
+		fi
+
+		if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
+	   		rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
+			echo "Removed vmtoolsd.service if still exists"
+		fi
+
+		#remove qemu
+		if pacman -Qi qemu-guest-agent &> /dev/null; then
+			systemctl disable qemu-guest-agent.service
+			pacman -Rns qemu-guest-agent --noconfirm
+			echo "Removed qemu-guest-agent"
+		fi
+fi
+
+if [ $result = "kvm" ];
+	then
+		#remove vmware
+		if pacman -Qi open-vm-tools &> /dev/null; then
+			systemctl disable vmtoolsd.service
+			echo "Disabled vmtoolsd.service"
+			pacman -Rns open-vm-tools --noconfirm
+			echo "Removed open-vm-tools"
+		fi
+
+		if pacman -Qi xf86-video-vmware &> /dev/null; then
+			pacman -Rns xf86-video-vmware --noconfirm
+			echo "Removed xf86-video-vmware"
+		fi
+
+		if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
+	   		rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
+			echo "Removed vmtoolsd.service if still exists"
+		fi
+
+		#remove virtualbox
+		if pacman -Qi virtualbox-guest-utils &> /dev/null; then
+			systemctl disable vboxservice.service
+			pacman -Rns virtualbox-guest-utils --noconfirm
+			echo "Removed virtualbox-guest-utils"
+		fi
+		if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then
+			systemctl disable vboxservice.service
+			pacman -Rns virtualbox-guest-utils-nox --noconfirm
+			echo "Removed virtualbox-guest-utils-nox"
+		fi
+fi
+
+if [ $result = "vmware" ];
+	then
+		#remove virtualbox
+		if pacman -Qi virtualbox-guest-utils &> /dev/null; then
+			systemctl disable vboxservice.service
+			pacman -Rns virtualbox-guest-utils --noconfirm
+			echo "Removed virtualbox-guest-utils"
+		fi
+		if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then
+			systemctl disable vboxservice.service
+			pacman -Rns virtualbox-guest-utils-nox --noconfirm
+			echo "Removed virtualbox-guest-utils-nox"
+		fi
+
+		#remove qemu
+		if pacman -Qi qemu-guest-agent &> /dev/null; then
+			systemctl disable qemu-guest-agent.service
+			pacman -Rns qemu-guest-agent --noconfirm
+			echo "Removed qemu-guest-agent"
+		fi
+fi
+
+if [ $result = "none" ];
+	then
+		#remove virtualbox
+		if pacman -Qi virtualbox-guest-utils &> /dev/null; then
+			systemctl disable vboxservice.service
+			pacman -Rns virtualbox-guest-utils --noconfirm
+			echo "Removed virtualbox-guest-utils"
+		fi
+
+		if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then
+			systemctl disable vboxservice.service
+			pacman -Rns virtualbox-guest-utils-nox --noconfirm
+			echo "Removed virtualbox-guest-utils-nox"
+		fi
+
+		#remove vmware
+		if pacman -Qi open-vm-tools &> /dev/null; then
+			systemctl disable vmtoolsd.service
+			echo "Disabled vmtoolsd.service"
+			pacman -Rns open-vm-tools --noconfirm
+			echo "Removed open-vm-tools"
+		fi
+
+		if pacman -Qi xf86-video-vmware &> /dev/null; then
+			pacman -Rns xf86-video-vmware --noconfirm
+			echo "Removed xf86-video-vmware"
+		fi
+
+		if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
+	   		rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
+			echo "Removed vmtoolsd.service if still exists"
+		fi
+
+		#remove qemu
+		if pacman -Qi qemu-guest-agent &> /dev/null; then
+			systemctl disable qemu-guest-agent.service
+			pacman -Rns qemu-guest-agent --noconfirm
+			echo "Removed qemu-guest-agent"
+		fi
+fi
diff --git a/airootfs/usr/share/logos/melawy.png b/airootfs/usr/share/logos/melawy.png
new file mode 100644
index 0000000..cb94626
Binary files /dev/null and b/airootfs/usr/share/logos/melawy.png differ
diff --git a/airootfs/usr/share/pixmaps/melawylinux.png b/airootfs/usr/share/pixmaps/melawylinux.png
new file mode 100644
index 0000000..cb94626
Binary files /dev/null and b/airootfs/usr/share/pixmaps/melawylinux.png differ
diff --git a/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/fenek.png b/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/fenek.png
new file mode 100644
index 0000000..d501b9d
Binary files /dev/null and b/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/fenek.png differ
diff --git a/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/lera-sugar.png b/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/lera-sugar.png
new file mode 100644
index 0000000..fafb0de
Binary files /dev/null and b/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/lera-sugar.png differ
diff --git a/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/nier-a2.png b/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/nier-a2.png
new file mode 100644
index 0000000..6ed5499
Binary files /dev/null and b/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/nier-a2.png differ
diff --git a/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/splash.png b/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/splash.png
new file mode 100644
index 0000000..6ed5499
Binary files /dev/null and b/airootfs/usr/share/wallpapers/melawy-linux-wallpapers/splash.png differ
diff --git a/mkarchiso_last_my b/mkarchiso_last_my
index 16f4161..5da3ce5 100755
--- a/mkarchiso_last_my
+++ b/mkarchiso_last_my
@@ -29,6 +29,7 @@ gpg_key=""
 gpg_sender=""
 iso_name=""
 iso_label=""
+iso_uuid=""
 iso_publisher=""
 iso_application=""
 iso_version=""
@@ -38,6 +39,7 @@ pacman_conf=""
 packages=""
 bootstrap_packages=""
 pacstrap_dir=""
+declare -i rm_work_dir=0
 buildmodes=()
 bootmodes=()
 airootfs_image_type=""
@@ -49,6 +51,7 @@ efiboot_files=()
 # adapted from GRUB_EARLY_INITRD_LINUX_STOCK in https://git.savannah.gnu.org/cgit/grub.git/tree/util/grub-mkconfig.in
 readonly ucodes=('intel-uc.img' 'intel-ucode.img' 'amd-uc.img' 'amd-ucode.img' 'early_ucode.cpio' 'microcode.cpio')
 
+
 # Show an INFO message
 # $1: message string
 _msg_info() {
@@ -85,7 +88,7 @@ usage: ${app_name} [options] <profile_dir>
                       Default: '${iso_application}'
      -C <file>        pacman configuration file.
                       Default: '${pacman_conf}'
-     -D <install_dir> Set an install_dir. All files will by located here.
+     -D <install_dir> Set an install_dir. All files will be located here.
                       Default: '${install_dir}'
                       NOTE: Max 8 characters, use only [a-z0-9]
      -L <label>       Set the ISO volume label
@@ -108,6 +111,7 @@ usage: ${app_name} [options] <profile_dir>
                       Default: '${out_dir}'
      -p [package ..]  Package(s) to install.
                       Multiple packages are provided as quoted, space delimited list.
+     -r               Delete the working directory at the end.
      -v               Enable verbose output
      -w <work_dir>    Set the working directory
                       Default: '${work_dir}'
@@ -170,9 +174,10 @@ _cleanup_pacstrap_dir() {
     [[ -d "${pacstrap_dir}/var/tmp" ]] && find "${pacstrap_dir}/var/tmp" -mindepth 1 -delete
     # Delete package pacman related files.
     find "${work_dir}" \( -name '*.pacnew' -o -name '*.pacsave' -o -name '*.pacorig' \) -delete
-    # Create an empty /etc/machine-id
+    # Create /etc/machine-id with special value 'uninitialized': the final id is
+    # generated on first boot, systemd's first-boot mechanism applies (see machine-id(5))
     rm -f -- "${pacstrap_dir}/etc/machine-id"
-    printf '' > "${pacstrap_dir}/etc/machine-id"
+    printf 'uninitialized\n' >"${pacstrap_dir}/etc/machine-id"
 
     _msg_info "Done!"
 }
@@ -207,7 +212,7 @@ _mkairootfs_ext4+squashfs() {
     [[ ! "${quiet}" == "y" ]] || mkfs_ext4_options+=('-q')
     rm -f -- "${pacstrap_dir}.img"
     E2FSPROGS_FAKE_TIME="${SOURCE_DATE_EPOCH}" mkfs.ext4 "${mkfs_ext4_options[@]}" -- "${pacstrap_dir}.img" 32G
-    tune2fs -c 0 -i 0 -- "${pacstrap_dir}.img" > /dev/null
+    tune2fs -c 0 -i 0 -- "${pacstrap_dir}.img" >/dev/null
     _msg_info "Done!"
 
     install -d -m 0755 -- "${isofs_dir}/${install_dir}/${arch}"
@@ -248,9 +253,9 @@ _mkchecksum() {
     _msg_info "Creating checksum file for self-test..."
     cd -- "${isofs_dir}/${install_dir}/${arch}"
     if [[ -e "${isofs_dir}/${install_dir}/${arch}/airootfs.sfs" ]]; then
-        sha512sum airootfs.sfs > airootfs.sha512
+        sha512sum airootfs.sfs >airootfs.sha512
     elif [[ -e "${isofs_dir}/${install_dir}/${arch}/airootfs.erofs" ]]; then
-        sha512sum airootfs.erofs > airootfs.sha512
+        sha512sum airootfs.erofs >airootfs.sha512
     fi
     cd -- "${OLDPWD}"
     _msg_info "Done!"
@@ -283,12 +288,12 @@ _run_once() {
 # Set up custom pacman.conf with custom cache and pacman hook directories.
 _make_pacman_conf() {
     local _cache_dirs _system_cache_dirs _profile_cache_dirs
-    _system_cache_dirs="$(pacman-conf CacheDir| tr '\n' ' ')"
-    _profile_cache_dirs="$(pacman-conf --config "${pacman_conf}" CacheDir| tr '\n' ' ')"
+    _system_cache_dirs="$(pacman-conf CacheDir | tr '\n' ' ')"
+    _profile_cache_dirs="$(pacman-conf --config "${pacman_conf}" CacheDir | tr '\n' ' ')"
 
     # Only use the profile's CacheDir, if it is not the default and not the same as the system cache dir.
-    if [[ "${_profile_cache_dirs}" != "/var/cache/pacman/pkg" ]] && \
-        [[ "${_system_cache_dirs}" != "${_profile_cache_dirs}" ]]; then
+    if [[ "${_profile_cache_dirs}" != "/var/cache/pacman/pkg" ]] \
+        && [[ "${_system_cache_dirs}" != "${_profile_cache_dirs}" ]]; then
         _cache_dirs="${_profile_cache_dirs}"
     else
         _cache_dirs="${_system_cache_dirs}"
@@ -300,9 +305,9 @@ _make_pacman_conf() {
     # append CacheDir and HookDir to [options] section
     # HookDir is *always* set to the airootfs' override directory
     # see `man 8 pacman` for further info
-    pacman-conf --config "${pacman_conf}" | \
-        sed "/CacheDir/d;/DBPath/d;/HookDir/d;/LogFile/d;/RootDir/d;/\[options\]/a CacheDir = ${_cache_dirs}
-        /\[options\]/a HookDir = ${pacstrap_dir}/etc/pacman.d/hooks/" > "${work_dir}/${buildmode}.pacman.conf"
+    pacman-conf --config "${pacman_conf}" \
+        | sed "/CacheDir/d;/DBPath/d;/HookDir/d;/LogFile/d;/RootDir/d;/\[options\]/a CacheDir = ${_cache_dirs}
+        /\[options\]/a HookDir = ${pacstrap_dir}/etc/pacman.d/hooks/" >"${work_dir}/${buildmode}.pacman.conf"
 }
 
 # Prepare working directory and copy custom root file system files.
@@ -317,7 +322,7 @@ _make_custom_airootfs() {
         cp -af --no-preserve=ownership,mode -- "${profile}/airootfs/." "${pacstrap_dir}"
         # Set ownership and mode for files and directories
         for filename in "${!file_permissions[@]}"; do
-            IFS=':' read -ra permissions <<< "${file_permissions["${filename}"]}"
+            IFS=':' read -ra permissions <<<"${file_permissions["${filename}"]}"
             # Prevent file path traversal outside of $pacstrap_dir
             if [[ "$(realpath -q -- "${pacstrap_dir}${filename}")" != "${pacstrap_dir}"* ]]; then
                 _msg_error "Failed to set permissions on '${pacstrap_dir}${filename}'. Outside of valid path." 1
@@ -358,7 +363,7 @@ _make_packages() {
 
     # Unset TMPDIR to work around https://bugs.archlinux.org/task/70580
     if [[ "${quiet}" = "y" ]]; then
-        env -u TMPDIR pacstrap -C "${work_dir}/${buildmode}.pacman.conf" -c -G -M -- "${pacstrap_dir}" "${buildmode_pkg_list[@]}" &> /dev/null
+        env -u TMPDIR pacstrap -C "${work_dir}/${buildmode}.pacman.conf" -c -G -M -- "${pacstrap_dir}" "${buildmode_pkg_list[@]}" &>/dev/null
     else
         env -u TMPDIR pacstrap -C "${work_dir}/${buildmode}.pacman.conf" -c -G -M -- "${pacstrap_dir}" "${buildmode_pkg_list[@]}"
     fi
@@ -396,13 +401,13 @@ _make_customize_airootfs() {
                 if [[ ! -d "${pacstrap_dir}${passwd[5]}" ]]; then
                     install -d -m 0750 -o "${passwd[2]}" -g "${passwd[3]}" -- "${pacstrap_dir}${passwd[5]}"
                 fi
-                cp -dnRT --preserve=mode,timestamps,links -- "${pacstrap_dir}/etc/skel/." "${pacstrap_dir}${passwd[5]}"
+                cp -dRT --update=none --preserve=mode,timestamps,links -- "${pacstrap_dir}/etc/skel/." "${pacstrap_dir}${passwd[5]}"
                 chmod -f 0750 -- "${pacstrap_dir}${passwd[5]}"
                 chown -hR -- "${passwd[2]}:${passwd[3]}" "${pacstrap_dir}${passwd[5]}"
             else
                 _msg_error "Failed to set permissions on '${pacstrap_dir}${passwd[5]}'. Outside of valid path." 1
             fi
-        done < "${profile}/airootfs/etc/passwd"
+        done <"${profile}/airootfs/etc/passwd"
         _msg_info "Done!"
     fi
 
@@ -423,6 +428,10 @@ _make_bootmodes() {
     for bootmode in "${bootmodes[@]}"; do
         _run_once "_make_bootmode_${bootmode}"
     done
+
+    if [[ "${bootmodes[*]}" != *grub* ]]; then
+        _run_once _make_common_grubenv_and_loopbackcfg
+    fi
 }
 
 # Copy kernel and initramfs to ISO 9660
@@ -453,9 +462,10 @@ _make_bootmode_bios.syslinux.mbr() {
     install -d -m 0755 -- "${isofs_dir}/boot/syslinux"
     for _cfg in "${profile}/syslinux/"*.cfg; do
         sed "s|%ARCHISO_LABEL%|${iso_label}|g;
+             s|%ARCHISO_UUID%|${iso_uuid}|g;
              s|%INSTALL_DIR%|${install_dir}|g;
              s|%ARCH%|${arch}|g" \
-             "${_cfg}" > "${isofs_dir}/boot/syslinux/${_cfg##*/}"
+            "${_cfg}" >"${isofs_dir}/boot/syslinux/${_cfg##*/}"
     done
     if [[ -e "${profile}/syslinux/splash.png" ]]; then
         install -m 0644 -- "${profile}/syslinux/splash.png" "${isofs_dir}/boot/syslinux/"
@@ -480,10 +490,8 @@ _make_bootmode_bios.syslinux.mbr() {
     if [[ -e "${pacstrap_dir}/boot/memtest86+/memtest.bin" ]]; then
         install -d -m 0755 -- "${isofs_dir}/boot/memtest86+/"
         # rename for PXE: https://wiki.archlinux.org/title/Syslinux#Using_memtest
-        install -m 0644 -- "${pacstrap_dir}/boot/memtest86+/memtest.bin" \
-                           "${isofs_dir}/boot/memtest86+/memtest"
-        install -m 0644 -- "${pacstrap_dir}/usr/share/licenses/common/GPL2/license.txt" \
-                           "${isofs_dir}/boot/memtest86+/"
+        install -m 0644 -- "${pacstrap_dir}/boot/memtest86+/memtest.bin" "${isofs_dir}/boot/memtest86+/memtest"
+        install -m 0644 -- "${pacstrap_dir}/usr/share/licenses/common/GPL2/license.txt" "${isofs_dir}/boot/memtest86+/"
     fi
     _msg_info "Done! SYSLINUX set up for BIOS booting from a disk successfully."
 }
@@ -505,8 +513,8 @@ _make_bootmode_bios.syslinux.eltorito() {
 _make_boot_on_fat() {
     local ucode_image all_ucode_images=()
     _msg_info "Preparing kernel and initramfs for the FAT file system..."
-    mmd -i "${efibootimg}" "::/${install_dir}" "::/${install_dir}/boot" \
-                           "::/${install_dir}/boot/${arch}"
+    mmd -i "${efibootimg}" \
+        "::/${install_dir}" "::/${install_dir}/boot" "::/${install_dir}/boot/${arch}"
     mcopy -i "${efibootimg}" "${pacstrap_dir}/boot/vmlinuz-"* \
                              "${pacstrap_dir}/boot/initramfs-"*".img" \
                              "${pacstrap_dir}/boot/linux-"* \
@@ -534,10 +542,11 @@ _make_efibootimg() {
     fi
 
     # Convert from bytes to KiB and round up to the next full MiB with an additional MiB for reserved sectors.
-    imgsize_kib="$(awk 'function ceil(x){return int(x)+(x>int(x))}
+    imgsize_kib="$(
+        awk 'function ceil(x){return int(x)+(x>int(x))}
             function byte_to_kib(x){return x/1024}
             function mib_to_kib(x){return x*1024}
-            END {print mib_to_kib(ceil((byte_to_kib($1)+1024)/1024))}' <<< "${imgsize_bytes}"
+            END {print mib_to_kib(ceil((byte_to_kib($1)+1024)/1024))}' <<<"${imgsize_bytes}"
     )"
     # The FAT image must be created with mkfs.fat not mformat, as some systems have issues with mformat made images:
     # https://lists.gnu.org/archive/html/grub-devel/2019-04/msg00099.html
@@ -546,7 +555,7 @@ _make_efibootimg() {
     if [[ "${quiet}" == "y" ]]; then
         # mkfs.fat does not have a -q/--quiet option, so redirect stdout to /dev/null instead
         # https://github.com/dosfstools/dosfstools/issues/103
-        mkfs.fat -C -n ARCHISO_EFI "${efibootimg}" "${imgsize_kib}" > /dev/null
+        mkfs.fat -C -n ARCHISO_EFI "${efibootimg}" "${imgsize_kib}" >/dev/null
     else
         mkfs.fat -C -n ARCHISO_EFI "${efibootimg}" "${imgsize_kib}"
     fi
@@ -555,41 +564,38 @@ _make_efibootimg() {
     mmd -i "${efibootimg}" ::/EFI ::/EFI/BOOT
 }
 
-
-
 # Copy GRUB files to ISO 9660 which is used by both IA32 UEFI and x64 UEFI
 _make_common_bootmode_grub_copy_to_isofs() {
     local files_to_copy=()
 
     files_to_copy+=("${work_dir}/grub/"*)
-    if compgen -G "${profile}/grub/!(*.cfg)" &> /dev/null; then
+    if compgen -G "${profile}/grub/!(*.cfg)" &>/dev/null; then
         files_to_copy+=("${profile}/grub/"!(*.cfg))
     fi
     install -d -m 0755 -- "${isofs_dir}/boot/grub"
-    install -m 0644 -- "${files_to_copy[@]}" "${isofs_dir}/boot/grub/"
+    cp -r --remove-destination -- "${files_to_copy[@]}" "${isofs_dir}/boot/grub/"
 }
 
 # Prepare GRUB configuration files
-_make_common_bootmode_grub_cfg(){
-    local _cfg archiso_uuid search_filename
+_make_common_bootmode_grub_cfg() {
+    local _cfg search_filename
 
     install -d -- "${work_dir}/grub"
 
-    # Precalculate the ISO's modification date in UTC, i.e. its "UUID"
-    TZ=UTC printf -v archiso_uuid '%(%F-%H-%M-%S-00)T' "$SOURCE_DATE_EPOCH"
     # Create a /boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuid file on ISO 9660. GRUB will search for it to find the ISO
     # volume. This is similar to what grub-mkrescue does, except it places the file in /.disk/, but we opt to use a
     # directory that does not start with a dot to avoid it being accidentally missed when copying the ISO's contents.
-    : > "${work_dir}/grub/${archiso_uuid}.uuid"
-    search_filename="/boot/grub/${archiso_uuid}.uuid"
+    : >"${work_dir}/grub/${iso_uuid}.uuid"
+    search_filename="/boot/grub/${iso_uuid}.uuid"
 
     # Fill GRUB configuration files
     for _cfg in "${profile}/grub/"*'.cfg'; do
         sed "s|%ARCHISO_LABEL%|${iso_label}|g;
+             s|%ARCHISO_UUID%|${iso_uuid}|g;
              s|%INSTALL_DIR%|${install_dir}|g;
              s|%ARCH%|${arch}|g;
              s|%ARCHISO_SEARCH_FILENAME%|${search_filename}|g" \
-             "${_cfg}" > "${work_dir}/grub/${_cfg##*/}"
+            "${_cfg}" >"${work_dir}/grub/${_cfg##*/}"
     done
 
     # Prepare grub.cfg that will be embedded inside the GRUB binaries
@@ -632,7 +638,7 @@ else
 fi
 EOF
     grubembedcfg="${grubembedcfg//'%ARCHISO_SEARCH_FILENAME%'/"${search_filename}"}"
-    printf '%s\n' "$grubembedcfg" > "${work_dir}/grub-embed.cfg"
+    printf '%s\n' "$grubembedcfg" >"${work_dir}/grub-embed.cfg"
 
     # Write grubenv
     printf '%.1024s' \
@@ -644,7 +650,41 @@ EOF
             "${arch}" \
             "${search_filename}" \
             "$(printf '%0.1s' "#"{1..1024})")" \
-        > "${work_dir}/grub/grubenv"
+        >"${work_dir}/grub/grubenv"
+}
+
+# Create GRUB specific configuration files when GRUB is not used as a boot loader
+_make_common_grubenv_and_loopbackcfg() {
+    local search_filename
+
+    install -d -m 0755 -- "${isofs_dir}/boot/grub"
+    # Create a /boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuid file on ISO 9660. GRUB will search for it to find the ISO
+    # volume. This is similar to what grub-mkrescue does, except it places the file in /.disk/, but we opt to use a
+    # directory that does not start with a dot to avoid it being accidentally missed when copying the ISO's contents.
+    search_filename="/boot/grub/${iso_uuid}.uuid"
+    : >"${isofs_dir}/${search_filename}"
+
+    # Write grubenv
+    printf '%.1024s' \
+        "$(printf '# GRUB Environment Block\nNAME=%s\nVERSION=%s\nARCHISO_LABEL=%s\nINSTALL_DIR=%s\nARCH=%s\nARCHISO_SEARCH_FILENAME=%s\n%s' \
+            "${iso_name}" \
+            "${iso_version}" \
+            "${iso_label}" \
+            "${install_dir}" \
+            "${arch}" \
+            "${search_filename}" \
+            "$(printf '%0.1s' "#"{1..1024})")" \
+        >"${isofs_dir}/boot/grub/grubenv"
+
+    # Copy loopback.cfg to /boot/grub/ on ISO 9660
+    if [[ -e "${profile}/grub/loopback.cfg" ]]; then
+        sed "s|%ARCHISO_LABEL%|${iso_label}|g;
+             s|%ARCHISO_UUID%|${iso_uuid}|g;
+             s|%INSTALL_DIR%|${install_dir}|g;
+             s|%ARCH%|${arch}|g;
+             s|%ARCHISO_SEARCH_FILENAME%|${search_filename}|g" \
+            "${profile}/grub/loopback.cfg" >"${isofs_dir}/boot/grub/loopback.cfg"
+    fi
 }
 
 _make_bootmode_uefi-ia32.grub.esp() {
@@ -661,12 +701,12 @@ _make_bootmode_uefi-ia32.grub.esp() {
                  search_fs_file search_fs_uuid search_label serial sleep tpm udf usb usbserial_common usbserial_ftdi \
                  usbserial_pl2303 usbserial_usbdebug video xfs zstd)
     grub-mkstandalone -O i386-efi \
-                      --modules="${grubmodules[*]}" \
-                      --locales="en@quot" \
-                      --themes="" \
-                      --sbat=/usr/share/grub/sbat.csv \
-                      --disable-shim-lock \
-                      -o "${work_dir}/BOOTIA32.EFI" "boot/grub/grub.cfg=${work_dir}/grub-embed.cfg"
+        --modules="${grubmodules[*]}" \
+        --locales="en@quot" \
+        --themes="" \
+        --sbat=/usr/share/grub/sbat.csv \
+        --disable-shim-lock \
+        -o "${work_dir}/BOOTIA32.EFI" "boot/grub/grub.cfg=${work_dir}/grub-embed.cfg"
     # Add GRUB to the list of files used to calculate the required FAT image size.
     efiboot_files+=("${work_dir}/BOOTIA32.EFI"
                     "${pacstrap_dir}/usr/share/edk2-shell/ia32/Shell_Full.efi")
@@ -738,12 +778,12 @@ _make_bootmode_uefi-x64.grub.esp() {
                  search_fs_file search_fs_uuid search_label serial sleep tpm udf usb usbserial_common usbserial_ftdi \
                  usbserial_pl2303 usbserial_usbdebug video xfs zstd)
     grub-mkstandalone -O x86_64-efi \
-                      --modules="${grubmodules[*]}" \
-                      --locales="en@quot" \
-                      --themes="" \
-                      --sbat=/usr/share/grub/sbat.csv \
-                      --disable-shim-lock \
-                      -o "${work_dir}/BOOTx64.EFI" "boot/grub/grub.cfg=${work_dir}/grub-embed.cfg"
+        --modules="${grubmodules[*]}" \
+        --locales="en@quot" \
+        --themes="" \
+        --sbat=/usr/share/grub/sbat.csv \
+        --disable-shim-lock \
+        -o "${work_dir}/BOOTx64.EFI" "boot/grub/grub.cfg=${work_dir}/grub-embed.cfg"
     # Add GRUB to the list of files used to calculate the required FAT image size.
     efiboot_files+=("${work_dir}/BOOTx64.EFI"
                     "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi")
@@ -802,11 +842,9 @@ _make_bootmode_uefi-x64.grub.eltorito() {
     _msg_info "Done!"
 }
 
-# Prepare systemd-boot for booting when written to a disk (isohybrid)
-_make_bootmode_uefi-x64.systemd-boot.esp() {
+_make_common_bootmode_systemd-boot() {
     local _file efiboot_imgsize
     local _available_ucodes=()
-    _msg_info "Setting up systemd-boot for UEFI booting..."
 
     for _file in "${ucodes[@]}"; do
         if [[ -e "${pacstrap_dir}/boot/${_file}" ]]; then
@@ -814,31 +852,67 @@ _make_bootmode_uefi-x64.systemd-boot.esp() {
         fi
     done
     # Calculate the required FAT image size in bytes
-    efiboot_files+=("${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi"
-                    "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi"
-                    "${profile}/efiboot/"
+    # shellcheck disable=SC2076
+    if [[ " ${bootmodes[*]} " =~ ' uefi-x64.systemd-boot.esp ' || " ${bootmodes[*]} " =~ ' uefi-x64.systemd-boot.eltorito ' ]]; then
+        efiboot_files+=("${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi"
+                        "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi")
+    fi
+    # shellcheck disable=SC2076
+    if [[ " ${bootmodes[*]} " =~ ' uefi-ia32.systemd-boot.esp ' || " ${bootmodes[*]} " =~ ' uefi-ia32.systemd-boot.eltorito ' ]]; then
+        efiboot_files+=("${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootia32.efi"
+                        "${pacstrap_dir}/usr/share/edk2-shell/ia32/Shell_Full.efi")
+    fi
+    efiboot_files+=("${profile}/efiboot/"
                     "${pacstrap_dir}/boot/vmlinuz-"*
                     "${pacstrap_dir}/boot/initramfs-"*".img"
                     "${pacstrap_dir}/boot/linux-"*
                     "${_available_ucodes[@]}")
-    efiboot_imgsize="$(du -bcs -- "${efiboot_files[@]}" \
-        2>/dev/null | awk 'END { print $1 }')"
+    efiboot_imgsize="$(du -bcs -- "${efiboot_files[@]}" 2>/dev/null | awk 'END { print $1 }')"
     # Create a FAT image for the EFI system partition
     _make_efibootimg "$efiboot_imgsize"
+}
 
-    # Copy systemd-boot EFI binary to the default/fallback boot path
-    mcopy -i "${efibootimg}" \
-        "${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi" ::/EFI/BOOT/BOOTx64.EFI
+_make_common_bootmode_systemd-boot_conf.isofs() {
+    local _conf
+
+    # Copy systemd-boot configuration files
+    install -d -m 0755 -- "${isofs_dir}/loader/entries"
+    install -m 0644 -- "${profile}/efiboot/loader/loader.conf" "${isofs_dir}/loader/"
+    for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do
+        sed "s|%ARCHISO_LABEL%|${iso_label}|g;
+             s|%INSTALL_DIR%|${install_dir}|g;
+             s|%ARCH%|${arch}|g" \
+            "${_conf}" >"${isofs_dir}/loader/entries/${_conf##*/}"
+    done
+}
+
+_make_common_bootmode_systemd-boot_conf.esp() {
+    local _conf
 
     # Copy systemd-boot configuration files
     mmd -i "${efibootimg}" ::/loader ::/loader/entries
     mcopy -i "${efibootimg}" "${profile}/efiboot/loader/loader.conf" ::/loader/
     for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do
         sed "s|%ARCHISO_LABEL%|${iso_label}|g;
+             s|%ARCHISO_UUID%|${iso_uuid}|g;
              s|%INSTALL_DIR%|${install_dir}|g;
              s|%ARCH%|${arch}|g" \
             "${_conf}" | mcopy -i "${efibootimg}" - "::/loader/entries/${_conf##*/}"
     done
+}
+
+# Prepare systemd-boot for booting when written to a disk (isohybrid)
+_make_bootmode_uefi-x64.systemd-boot.esp() {
+    _msg_info "Setting up systemd-boot for x64 UEFI booting..."
+
+    _run_once _make_common_bootmode_systemd-boot
+
+    # Copy systemd-boot EFI binary to the default/fallback boot path
+    mcopy -i "${efibootimg}" \
+        "${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi" ::/EFI/BOOT/BOOTx64.EFI
+
+    # Copy systemd-boot configuration files
+    _run_once _make_common_bootmode_systemd-boot_conf.esp
 
     # shellx64.efi is picked up automatically when on /
     if [[ -e "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ]]; then
@@ -848,9 +922,9 @@ _make_bootmode_uefi-x64.systemd-boot.esp() {
 
     # Copy kernel and initramfs to FAT image.
     # systemd-boot can only access files from the EFI system partition it was launched from.
-    _make_boot_on_fat
+    _run_once _make_boot_on_fat
 
-    _msg_info "Done! systemd-boot set up for UEFI booting successfully."
+    _msg_info "Done! systemd-boot set up for x64 UEFI booting successfully."
 }
 
 # Prepare systemd-boot for El Torito booting
@@ -870,14 +944,7 @@ _make_bootmode_uefi-x64.systemd-boot.eltorito() {
         "${isofs_dir}/EFI/BOOT/BOOTx64.EFI"
 
     # Copy systemd-boot configuration files
-    install -d -m 0755 -- "${isofs_dir}/loader/entries"
-    install -m 0644 -- "${profile}/efiboot/loader/loader.conf" "${isofs_dir}/loader/"
-    for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do
-        sed "s|%ARCHISO_LABEL%|${iso_label}|g;
-             s|%INSTALL_DIR%|${install_dir}|g;
-             s|%ARCH%|${arch}|g" \
-            "${_conf}" > "${isofs_dir}/loader/entries/${_conf##*/}"
-    done
+    _run_once _make_common_bootmode_systemd-boot_conf.isofs
 
     # edk2-shell based UEFI shell
     # shellx64.efi is picked up automatically when on /
@@ -888,6 +955,58 @@ _make_bootmode_uefi-x64.systemd-boot.eltorito() {
     _msg_info "Done!"
 }
 
+_make_bootmode_uefi-ia32.systemd-boot.esp() {
+    _msg_info "Setting up systemd-boot for IA32 UEFI booting..."
+
+    _run_once _make_common_bootmode_systemd-boot
+
+    # Copy systemd-boot EFI binary to the default/fallback boot path
+    mcopy -i "${efibootimg}" \
+        "${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootia32.efi" ::/EFI/BOOT/BOOTIA32.EFI
+
+    # Copy systemd-boot configuration files
+    _run_once _make_common_bootmode_systemd-boot_conf.esp
+
+    # shellia32.efi is picked up automatically when on /
+    if [[ -e "${pacstrap_dir}/usr/share/edk2-shell/ia32/Shell_Full.efi" ]]; then
+        mcopy -i "${efibootimg}" \
+            "${pacstrap_dir}/usr/share/edk2-shell/ia32/Shell_Full.efi" ::/shellia32.efi
+    fi
+
+    # Copy kernel and initramfs to FAT image.
+    # systemd-boot can only access files from the EFI system partition it was launched from.
+    _run_once _make_boot_on_fat
+
+    _msg_info "Done! systemd-boot set up for IA32 UEFI booting successfully."
+}
+
+_make_bootmode_uefi-ia32.systemd-boot.eltorito() {
+    # El Torito UEFI boot requires an image containing the EFI system partition.
+    # uefi-ia32.systemd-boot.eltorito has the same requirements as uefi-ia32.systemd-boot.esp
+    _run_once _make_bootmode_uefi-ia32.systemd-boot.esp
+
+    # Additionally set up systemd-boot in ISO 9660. This allows creating a medium for the live environment by using
+    # manual partitioning and simply copying the ISO 9660 file system contents.
+    # This is not related to El Torito booting and no firmware uses these files.
+    _msg_info "Preparing an /EFI directory for the ISO 9660 file system..."
+    install -d -m 0755 -- "${isofs_dir}/EFI/BOOT"
+
+    # Copy systemd-boot EFI binary to the default/fallback boot path
+    install -m 0644 -- "${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootia32.efi" \
+        "${isofs_dir}/EFI/BOOT/BOOTIA32.EFI"
+
+    # Copy systemd-boot configuration files
+    _run_once _make_common_bootmode_systemd-boot_conf.isofs
+
+    # edk2-shell based UEFI shell
+    # shellia32.efi is picked up automatically when on /
+    if [[ -e "${pacstrap_dir}/usr/share/edk2-shell/ia32/Shell_Full.efi" ]]; then
+        install -m 0644 -- "${pacstrap_dir}/usr/share/edk2-shell/ia32/Shell_Full.efi" "${isofs_dir}/shellia32.efi"
+    fi
+
+    _msg_info "Done!"
+}
+
 _validate_requirements_bootmode_bios.syslinux.mbr() {
     # bios.syslinux.mbr requires bios.syslinux.eltorito
     # shellcheck disable=SC2076
@@ -931,20 +1050,15 @@ _validate_requirements_bootmode_bios.syslinux.eltorito() {
     _validate_requirements_bootmode_bios.syslinux.mbr
 }
 
-_validate_requirements_bootmode_uefi-x64.systemd-boot.esp() {
-    # shellcheck disable=SC2076
-    if [[ " ${bootmodes[*]} " =~ ' uefi-x64.grub.esp ' ]]; then
-        _msg_error "Validating '${bootmode}': cannot be used with bootmode uefi-x64.grub.esp!" 0
-    fi
-
+_validate_requirements_common_systemd-boot() {
     # Check if mkfs.fat is available
-    if ! command -v mkfs.fat &> /dev/null; then
+    if ! command -v mkfs.fat &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating '${bootmode}': mkfs.fat is not available on this host. Install 'dosfstools'!" 0
     fi
 
     # Check if mmd and mcopy are available
-    if ! { command -v mmd &> /dev/null && command -v mcopy &> /dev/null; }; then
+    if ! { command -v mmd &>/dev/null && command -v mcopy &>/dev/null; }; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating '${bootmode}': mmd and/or mcopy are not available on this host. Install 'mtools'!" 0
     fi
@@ -976,6 +1090,14 @@ _validate_requirements_bootmode_uefi-x64.systemd-boot.esp() {
     fi
 }
 
+_validate_requirements_bootmode_uefi-x64.systemd-boot.esp() {
+    # shellcheck disable=SC2076
+    if [[ " ${bootmodes[*]} " =~ ' uefi-x64.grub.esp ' ]]; then
+        _msg_error "Validating '${bootmode}': cannot be used with bootmode uefi-x64.grub.esp!" 0
+    fi
+    _validate_requirements_common_systemd-boot
+}
+
 _validate_requirements_bootmode_uefi-x64.systemd-boot.eltorito() {
     # shellcheck disable=SC2076
     if [[ " ${bootmodes[*]} " =~ ' uefi-x64.grub.eltorito ' ]]; then
@@ -986,9 +1108,28 @@ _validate_requirements_bootmode_uefi-x64.systemd-boot.eltorito() {
     _validate_requirements_bootmode_uefi-x64.systemd-boot.esp
 }
 
+_validate_requirements_bootmode_uefi-ia32.systemd-boot.esp() {
+    # shellcheck disable=SC2076
+    if [[ " ${bootmodes[*]} " =~ ' uefi-ia32.grub.esp ' ]]; then
+        _msg_error "Validating '${bootmode}': cannot be used with bootmode uefi-ia32.grub.esp!" 0
+    fi
+
+    _validate_requirements_common_systemd-boot
+}
+
+_validate_requirements_bootmode_uefi-ia32.systemd-boot.eltorito() {
+    # shellcheck disable=SC2076
+    if [[ " ${bootmodes[*]} " =~ ' uefi-ia32.grub.eltorito ' ]]; then
+        _msg_error "Validating '${bootmode}': cannot be used with bootmode uefi-ia32.grub.eltorito!" 0
+    fi
+
+    # uefi-ia32.systemd-boot.eltorito has the exact same requirements as uefi-ia32.systemd-boot.esp
+    _validate_requirements_bootmode_uefi-x64.systemd-boot.esp
+}
+
 _validate_requirements_bootmode_uefi-ia32.grub.esp() {
     # Check if GRUB is available
-    if ! command -v grub-mkstandalone &> /dev/null; then
+    if ! command -v grub-mkstandalone &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating '${bootmode}': grub-install is not available on this host. Install 'grub'!" 0
     fi
@@ -1015,19 +1156,19 @@ _validate_requirements_bootmode_uefi-x64.grub.esp() {
     fi
 
     # Check if GRUB is available
-    if ! command -v grub-mkstandalone &> /dev/null; then
+    if ! command -v grub-mkstandalone &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating '${bootmode}': grub-install is not available on this host. Install 'grub'!" 0
     fi
 
         # Check if mkfs.fat is available
-    if ! command -v mkfs.fat &> /dev/null; then
+    if ! command -v mkfs.fat &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating '${bootmode}': mkfs.fat is not available on this host. Install 'dosfstools'!" 0
     fi
 
     # Check if mmd and mcopy are available
-    if ! { command -v mmd &> /dev/null && command -v mcopy &> /dev/null; }; then
+    if ! { command -v mmd &>/dev/null && command -v mcopy &>/dev/null; }; then
         _msg_error "Validating '${bootmode}': mmd and/or mcopy are not available on this host. Install 'mtools'!" 0
     fi
 
@@ -1156,14 +1297,14 @@ _sign_netboot_artifacts() {
 }
 
 _validate_requirements_airootfs_image_type_squashfs() {
-    if ! command -v mksquashfs &> /dev/null; then
+    if ! command -v mksquashfs &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating '${airootfs_image_type}': mksquashfs is not available on this host. Install 'squashfs-tools'!" 0
     fi
 }
 
 _validate_requirements_airootfs_image_type_ext4+squashfs() {
-    if ! { command -v mkfs.ext4 &> /dev/null && command -v tune2fs &> /dev/null; }; then
+    if ! { command -v mkfs.ext4 &>/dev/null && command -v tune2fs &>/dev/null; }; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating '${airootfs_image_type}': mkfs.ext4 and/or tune2fs is not available on this host. Install 'e2fsprogs'!" 0
     fi
@@ -1171,22 +1312,22 @@ _validate_requirements_airootfs_image_type_ext4+squashfs() {
 }
 
 _validate_requirements_airootfs_image_type_erofs() {
-    if ! command -v mkfs.erofs &> /dev/null; then
+    if ! command -v mkfs.erofs &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating '${airootfs_image_type}': mkfs.erofs is not available on this host. Install 'erofs-utils'!" 0
     fi
 }
 
 _validate_common_requirements_buildmode_all() {
-    if ! command -v pacman &> /dev/null; then
+    if ! command -v pacman &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating build mode '${_buildmode}': pacman is not available on this host. Install 'pacman'!" 0
     fi
-    if ! command -v find &> /dev/null; then
+    if ! command -v find &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating build mode '${_buildmode}': find is not available on this host. Install 'findutils'!" 0
     fi
-    if ! command -v gzip &> /dev/null; then
+    if ! command -v gzip &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating build mode '${_buildmode}': gzip is not available on this host. Install 'gzip'!" 0
     fi
@@ -1210,7 +1351,7 @@ _validate_requirements_buildmode_bootstrap() {
     fi
 
     _validate_common_requirements_buildmode_all
-    if ! command -v bsdtar &> /dev/null; then
+    if ! command -v bsdtar &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating build mode '${_buildmode}': bsdtar is not available on this host. Install 'libarchive'!" 0
     fi
@@ -1247,15 +1388,15 @@ _validate_common_requirements_buildmode_iso_netboot() {
             _msg_error "Two certificates are required for codesigning netboot artifacts, but '${cert_list[*]}' is provided." 0
         fi
 
-        if ! command -v openssl &> /dev/null; then
+        if ! command -v openssl &>/dev/null; then
             (( validation_error=validation_error+1 ))
             _msg_error "Validating build mode '${_buildmode}': openssl is not available on this host. Install 'openssl'!" 0
         fi
     fi
 
     # Check if the specified airootfs_image_type is supported
-    if typeset -f "_mkairootfs_${airootfs_image_type}" &> /dev/null; then
-        if typeset -f "_validate_requirements_airootfs_image_type_${airootfs_image_type}" &> /dev/null; then
+    if typeset -f "_mkairootfs_${airootfs_image_type}" &>/dev/null; then
+        if typeset -f "_validate_requirements_airootfs_image_type_${airootfs_image_type}" &>/dev/null; then
             "_validate_requirements_airootfs_image_type_${airootfs_image_type}"
         else
             _msg_warning "Function '_validate_requirements_airootfs_image_type_${airootfs_image_type}' does not exist. Validating the requirements of '${airootfs_image_type}' airootfs image type will not be possible."
@@ -1275,8 +1416,8 @@ _validate_requirements_buildmode_iso() {
         _msg_error "No boot modes specified in '${profile}/profiledef.sh'." 0
     fi
     for bootmode in "${bootmodes[@]}"; do
-        if typeset -f "_make_bootmode_${bootmode}" &> /dev/null; then
-            if typeset -f "_validate_requirements_bootmode_${bootmode}" &> /dev/null; then
+        if typeset -f "_make_bootmode_${bootmode}" &>/dev/null; then
+            if typeset -f "_validate_requirements_bootmode_${bootmode}" &>/dev/null; then
                 "_validate_requirements_bootmode_${bootmode}"
             else
                 _msg_warning "Function '_validate_requirements_bootmode_${bootmode}' does not exist. Validating the requirements of '${bootmode}' boot mode will not be possible."
@@ -1287,7 +1428,7 @@ _validate_requirements_buildmode_iso() {
         fi
     done
 
-    if ! command -v awk &> /dev/null; then
+    if ! command -v awk &>/dev/null; then
         (( validation_error=validation_error+1 ))
         _msg_error "Validating build mode '${_buildmode}': awk is not available on this host. Install 'awk'!" 0
     fi
@@ -1360,7 +1501,7 @@ _add_xorrisofs_options_uefi-x64.systemd-boot.esp() {
         # A valid GPT prevents BIOS booting on some systems, instead use an invalid GPT (without a protective MBR).
         # The attached partition will have the EFI system partition type code in MBR, but in the invalid GPT it will
         # have a Microsoft basic partition type code.
-        if [[ ! " ${bootmodes[*]} " =~ ' uefi-x64.systemd-boot.eltorito ' &&  ! " ${bootmodes[*]} " =~ ' uefi-ia32.grub.eltorito ' ]]; then
+        if [[ ! " ${bootmodes[*]} " =~ ' uefi-x64.systemd-boot.eltorito ' && ! " ${bootmodes[*]} " =~ ' uefi-ia32.grub.eltorito ' ]]; then
             # If '-isohybrid-gpt-basdat' is specified before '-e', then the appended EFI system partition will have the
             # EFI system partition type ID/GUID in both MBR and GPT. If '-isohybrid-gpt-basdat' is specified after '-e',
             # the appended EFI system partition will have the Microsoft basic data type GUID in GPT.
@@ -1431,7 +1572,7 @@ _add_xorrisofs_options_uefi-x64.grub.esp() {
         # A valid GPT prevents BIOS booting on some systems, instead use an invalid GPT (without a protective MBR).
         # The attached partition will have the EFI system partition type code in MBR, but in the invalid GPT it will
         # have a Microsoft basic partition type code.
-        if [[ ! " ${bootmodes[*]} " =~ ' uefi-x64.grub.eltorito ' &&  ! " ${bootmodes[*]} " =~ ' uefi-ia32.grub.eltorito ' ]]; then
+        if [[ ! " ${bootmodes[*]} " =~ ' uefi-x64.grub.eltorito ' && ! " ${bootmodes[*]} " =~ ' uefi-ia32.grub.eltorito ' ]]; then
             # If '-isohybrid-gpt-basdat' is specified before '-e', then the appended EFI system partition will have the
             # EFI system partition type ID/GUID in both MBR and GPT. If '-isohybrid-gpt-basdat' is specified after '-e',
             # the appended EFI system partition will have the Microsoft basic data type GUID in GPT.
@@ -1498,7 +1639,7 @@ _build_bootstrap_image() {
     cd -- "${_bootstrap_parent}"
 
     _msg_info "Creating bootstrap image..."
-    bsdtar -cf - "root.${arch}" | gzip -cn9 > "${out_dir}/${image_name}"
+    bsdtar -cf - "root.${arch}" | gzip -cn9 >"${out_dir}/${image_name}"
     _msg_info "Done!"
     du -h -- "${out_dir}/${image_name}"
     cd -- "${OLDPWD}"
@@ -1511,33 +1652,38 @@ _build_iso_image() {
 
     [[ -d "${out_dir}" ]] || install -d -- "${out_dir}"
 
+    # Do not read xorriso startup files to prevent interference and unintended behavior.
+    # For it to work, -no_rc must be the first argument passed to xorriso.
+    xorriso_options=('-no_rc')
+
+
     if [[ "${quiet}" == "y" ]]; then
         # The when xorriso is run in mkisofs compatibility mode (xorrisofs), the mkisofs option -quiet is interpreted
         # too late (e.g. messages about SOURCE_DATE_EPOCH still get shown).
         # Instead use native xorriso option to silence the output.
-        xorriso_options=('-report_about' 'SORRY' "${xorriso_options[@]}")
+        xorriso_options+=('-report_about' 'SORRY')
     fi
 
     # Add required xorrisofs options for each boot mode
     for bootmode in "${bootmodes[@]}"; do
-        typeset -f "_add_xorrisofs_options_${bootmode}" &> /dev/null && "_add_xorrisofs_options_${bootmode}"
+        typeset -f "_add_xorrisofs_options_${bootmode}" &>/dev/null && "_add_xorrisofs_options_${bootmode}"
     done
 
     rm -f -- "${out_dir}/${image_name}"
     _msg_info "Creating ISO image..."
     xorriso "${xorriso_options[@]}" -as mkisofs \
-            -iso-level 3 \
-            -full-iso9660-filenames \
-            -joliet \
-            -joliet-long \
-            -rational-rock \
-            -volid "${iso_label}" \
-            -appid "${iso_application}" \
-            -publisher "${iso_publisher}" \
-            -preparer "prepared by ${app_name}" \
-            "${xorrisofs_options[@]}" \
-            -output "${out_dir}/${image_name}" \
-            "${isofs_dir}/"
+        -iso-level 3 \
+        -full-iso9660-filenames \
+        -joliet \
+        -joliet-long \
+        -rational-rock \
+        -volid "${iso_label}" \
+        -appid "${iso_application}" \
+        -publisher "${iso_publisher}" \
+        -preparer "prepared by ${app_name}" \
+        "${xorrisofs_options[@]}" \
+        -output "${out_dir}/${image_name}" \
+        "${isofs_dir}/"
     _msg_info "Done!"
     du -h -- "${out_dir}/${image_name}"
 }
@@ -1597,8 +1743,8 @@ _validate_options() {
 
     # Check if the specified buildmodes are supported
     for _buildmode in "${buildmodes[@]}"; do
-        if typeset -f "_build_buildmode_${_buildmode}" &> /dev/null; then
-            if typeset -f "_validate_requirements_buildmode_${_buildmode}" &> /dev/null; then
+        if typeset -f "_build_buildmode_${_buildmode}" &>/dev/null; then
+            if typeset -f "_validate_requirements_buildmode_${_buildmode}" &>/dev/null; then
                 "_validate_requirements_buildmode_${_buildmode}"
             else
                 _msg_warning "Function '_validate_requirements_buildmode_${_buildmode}' does not exist. Validating the requirements of '${_buildmode}' build mode will not be possible."
@@ -1670,10 +1816,15 @@ _set_overrides() {
     elif [[ -z "$quiet" ]]; then
         quiet="y"
     fi
+    if [[ -v override_rm_work_dir ]]; then
+        rm_work_dir="$override_rm_work_dir"
+    fi
 
     # Set variables that do not have overrides
     [[ -n "$airootfs_image_type" ]] || airootfs_image_type="squashfs"
     [[ -n "$iso_name" ]] || iso_name="${app_name}"
+    # Precalculate the ISO's modification date in UTC, i.e. its "UUID"
+    TZ=UTC printf -v iso_uuid '%(%F-%H-%M-%S-00)T' "$SOURCE_DATE_EPOCH"
 }
 
 _export_gpg_publickey() {
@@ -1689,22 +1840,23 @@ _make_version() {
     _msg_info "Creating version files..."
     # Write version file to system installation dir
     rm -f -- "${pacstrap_dir}/version"
-    printf '%s\n' "${iso_version}" > "${pacstrap_dir}/version"
+    printf '%s\n' "${iso_version}" >"${pacstrap_dir}/version"
 
     if [[ "${buildmode}" == @("iso"|"netboot") ]]; then
         install -d -m 0755 -- "${isofs_dir}/${install_dir}"
         # Write version file to ISO 9660
-        printf '%s\n' "${iso_version}" > "${isofs_dir}/${install_dir}/version"
+        printf '%s\n' "${iso_version}" >"${isofs_dir}/${install_dir}/version"
 
     fi
     if [[ "${buildmode}" == "iso" ]]; then
         # Write grubenv with version information to ISO 9660
-        # TODO: after sufficient time has passed, do not create this file anymore when GRUB boot modes are used.
-        #       _make_common_bootmode_grub_cfg already creates ${isofs_dir}/boot/grub/grubenv
+        # TODO: after sufficient time has passed, do not create this file anymore.
+        #       _make_common_bootmode_grub_cfg and _make_common_grubenv_and_loopbackcfg already create a
+        #       ${isofs_dir}/boot/grub/grubenv file
         rm -f -- "${isofs_dir}/${install_dir}/grubenv"
         printf '%.1024s' "$(printf '# GRUB Environment Block\nNAME=%s\nVERSION=%s\n%s' \
             "${iso_name}" "${iso_version}" "$(printf '%0.1s' "#"{1..1024})")" \
-            > "${isofs_dir}/${install_dir}/grubenv"
+            >"${isofs_dir}/${install_dir}/grubenv"
     fi
 
     # Append IMAGE_ID & IMAGE_VERSION to os-release
@@ -1716,7 +1868,7 @@ _make_version() {
         _msg_warning "os-release file '${_os_release}' is outside of valid path."
     else
         [[ ! -e "${_os_release}" ]] || sed -i '/^IMAGE_ID=/d;/^IMAGE_VERSION=/d' "${_os_release}"
-        printf 'IMAGE_ID=%s\nIMAGE_VERSION=%s\n' "${iso_name}" "${iso_version}" >> "${_os_release}"
+        printf 'IMAGE_ID=%s\nIMAGE_VERSION=%s\n' "${iso_name}" "${iso_version}" >>"${_os_release}"
     fi
 
     # Touch /usr/lib/clock-epoch to give another hint on date and time
@@ -1730,16 +1882,26 @@ _make_pkglist() {
     _msg_info "Creating a list of installed packages on live-enviroment..."
     case "${buildmode}" in
         "bootstrap")
-            pacman -Q --sysroot "${pacstrap_dir}" > "${pacstrap_dir}/pkglist.${arch}.txt"
+            pacman -Q --sysroot "${pacstrap_dir}" >"${pacstrap_dir}/pkglist.${arch}.txt"
             ;;
         "iso"|"netboot")
             install -d -m 0755 -- "${isofs_dir}/${install_dir}"
-            pacman -Q --sysroot "${pacstrap_dir}" > "${isofs_dir}/${install_dir}/pkglist.${arch}.txt"
+            pacman -Q --sysroot "${pacstrap_dir}" >"${isofs_dir}/${install_dir}/pkglist.${arch}.txt"
             ;;
     esac
     _msg_info "Done!"
 }
 
+# Create working directory
+_make_work_dir() {
+    if [[ ! -d "${work_dir}" ]]; then
+        install -d -- "${work_dir}"
+    elif (( rm_work_dir )); then
+        rm_work_dir=0
+        _msg_warning "Working directory removal requested, but '${work_dir}' already exists. It will not be removed!" 0
+    fi
+}
+
 # build the base for an ISO and/or a netboot target
 _build_iso_base() {
     local run_once_mode="base"
@@ -1751,13 +1913,9 @@ _build_iso_base() {
     isofs_dir="${work_dir}/iso"
 
     # Create working directory
-    [[ -d "${work_dir}" ]] || install -d -- "${work_dir}"
-    # Write build date to file or if the file exists, read it from there
-    if [[ -e "${work_dir}/build_date" ]]; then
-        SOURCE_DATE_EPOCH="$(<"${work_dir}/build_date")"
-    else
-        printf '%s\n' "$SOURCE_DATE_EPOCH" > "${work_dir}/build_date"
-    fi
+    _run_once _make_work_dir
+    # Write build date to file if it does not exist already
+    [[ -e "${work_dir}/build_date" ]] || printf '%s\n' "$SOURCE_DATE_EPOCH" >"${work_dir}/build_date"
 
     [[ "${quiet}" == "y" ]] || _show_config
     _run_once _make_pacman_conf
@@ -1812,7 +1970,6 @@ _build_buildmode_netboot() {
 
     if [[ -v cert_list ]]; then
         _run_once _sign_netboot_artifacts
-        _cms_sign_artifact "${airootfs_image_filename}"
     fi
     _run_once _export_netboot_artifacts
 }
@@ -1834,23 +1991,29 @@ _build() {
     for buildmode in "${buildmodes[@]}"; do
         _run_once "_build_buildmode_${buildmode}"
     done
+    if (( rm_work_dir )); then
+        _msg_info 'Removing the working directory...'
+        rm -rf -- "${work_dir:?}/"
+        _msg_info 'Done!'
+    fi
 }
 
-while getopts 'c:p:C:L:P:A:D:w:m:o:g:G:vh?' arg; do
+while getopts 'c:p:C:L:P:A:D:w:m:o:g:G:vrh?' arg; do
     case "${arg}" in
-        p) read -r -a override_pkg_list <<< "${OPTARG}" ;;
+        p) read -r -a override_pkg_list <<<"${OPTARG}" ;;
         C) override_pacman_conf="${OPTARG}" ;;
         L) override_iso_label="${OPTARG}" ;;
         P) override_iso_publisher="${OPTARG}" ;;
         A) override_iso_application="${OPTARG}" ;;
         D) override_install_dir="${OPTARG}" ;;
-        c) read -r -a override_cert_list <<< "${OPTARG}" ;;
+        c) read -r -a override_cert_list <<<"${OPTARG}" ;;
         w) override_work_dir="${OPTARG}" ;;
-        m) read -r -a override_buildmodes <<< "${OPTARG}" ;;
+        m) read -r -a override_buildmodes <<<"${OPTARG}" ;;
         o) override_out_dir="${OPTARG}" ;;
         g) override_gpg_key="${OPTARG}" ;;
         G) override_gpg_sender="${OPTARG}" ;;
         v) override_quiet="n" ;;
+        r) declare -i override_rm_work_dir=1 ;;
         h|?) _usage 0 ;;
         *)
             _msg_error "Invalid argument '${arg}'" 0
@@ -1873,6 +2036,13 @@ fi
 # get the absolute path representation of the first non-option argument
 profile="$(realpath -- "${1}")"
 
+# Read SOURCE_DATE_EPOCH from file early
+build_date_file="$(realpath -q -- "${override_work_dir:-./work}/build_date")" || :
+if [[ -f "$build_date_file" ]]; then
+    SOURCE_DATE_EPOCH="$(<"$build_date_file")"
+fi
+unset build_date_file
+
 _read_profile
 _set_overrides
 _validate_options
diff --git a/packages.x86_64 b/packages.x86_64
index 1207e4a..82877b0 100644
--- a/packages.x86_64
+++ b/packages.x86_64
@@ -1,1078 +1,439 @@
 # BASE
 
 ## Base system
-
-base
-# Minimal package set to define a basic Arch Linux installation
-# Минимальный набор пакетов для определения базовой установки Arch Linux.
-
-base-devel
-# Basic tools to build Arch Linux packages
-# Основные инструменты для сборки пакетов Arch Linux
-
 iptables-nft
-# Linux kernel packet control tool (using nft interface)
-# Инструмент управления пакетами ядра Linux (с использованием интерфейса nft)
-
+base
+base-devel
 archlinux-keyring
-# Arch Linux PGP keyring
-# Брелок Arch Linux PGP
+endeavouros-mirrorlist
+endeavouros-keyring
+cryptsetup
+device-mapper
+diffutils
+dracut
+edk2-shell
+inetutils
+less
+linux
+linux-firmware
+linux-firmware-marvell
+linux-headers
+logrotate
+lsb-release
+man-db
+man-pages
+mdadm
+nano
+nano-syntax-highlighting
+perl
+s-nail
+sudo
+sysfsutils
+systemd-sysvcompat
+texinfo
+which
+vi
+
+## Filesystem
+btrfs-progs
+dosfstools
+e2fsprogs
+exfatprogs
+f2fs-tools
+jfsutils
+lvm2
+mtools
+nfs-utils
+nilfs-utils
+ntfs-3g
+reiserfsprogs
+xfsprogs
+
+## Boot
+efibootmgr
+efitools
+
+# HARDWARE
+
+## CPU
+amd-ucode
+intel-ucode
+
+## X system
+mesa
+mesa-utils
+nvidia-dkms
+nvidia-utils
+xf86-input-libinput
+xf86-video-amdgpu
+xf86-video-ati
+xorg-server
+xorg-xdpyinfo
+xorg-xinit
+xorg-xinput
+xorg-xkill
+xorg-xrandr
+
+## Network hardware
+b43-fwcutter
+broadcom-wl-dkms
+
+## General hardware
+lsscsi
+sg3_utils
+smartmontools
+usbutils
+
+## Audio hardware
+alsa-firmware
+alsa-plugins
+alsa-utils
+ffmpegthumbnailer
+gst-libav
+gst-plugin-pipewire
+gst-plugins-bad
+gst-plugins-ugly
+libdvdcss
+pavucontrol
+pipewire-alsa
+pipewire-jack
+pipewire-pulse
+rtkit
+sof-firmware
+wireplumber
+
+
+# SOFTWARE
+
+## General system
+bash-completion
+dmidecode
+dialog
+dmraid
+downgrade
+duf
+fakeroot
+freetype2
+git
+glances
+python-packaging
+gpm
+gptfdisk
+haveged
+hwdetect
+hwinfo
+inxi
+libgsf
+libopenraw
+mlocate
+ntp
+pacman-contrib
+pkgfile
+poppler-glib
+power-profiles-daemon
+rebuild-detector
+reflector
+rsync
+tldr
+unrar
+unzip
+wget
+xdg-user-dirs
+xdg-utils
+xz
+
+## Network
+bind
+dhclient
+dnsmasq
+ethtool
+iwd
+modemmanager
+nbd
+ndisc6
+net-tools
+netctl
+networkmanager
+networkmanager-openconnect
+networkmanager-openvpn
+nss-mdns
+openconnect
+openvpn
+ppp
+pptpclient
+rp-pppoe
+usb_modeswitch
+vpnc
+whois
+wireless-regdb
+#wireless_tools
+wpa_supplicant
+xl2tpd
+
+## Bluetooth
+bluez
+bluez-utils
+
+## Firewall
+firewalld
+python-pyqt5
+python-capng
+
+# ISO
+
+## Live iso specific
+arch-install-scripts
+memtest86+
+mkinitcpio-archiso
+mkinitcpio-nfs-utils
+pv
+syslinux
+
+## Live iso tools
+clonezilla
+gpart
+grsync
+partitionmanager
+hdparm
+
+# DESKTOP
+
+## Desktop environment
+ark
+bluedevil
+breeze-gtk
+dolphin
+#eos-plasma-sddm-config
+gwenview
+haruna
+kcalc
+kate
+kdeconnect
+kde-gtk-config
+kgamma5
+khotkeys
+kimageformats
+kinfocenter
+kinit
+kio-fuse
+konsole
+kscreen
+kwallet-pam
+okular
+plasma-desktop
+plasma-disks
+plasma-nm
+plasma-pa
+plasma-systemmonitor
+powerdevil
+sddm-kcm
+spectacle
+xsettingsd
+
+## Editor
+kate
+
+## Archive
+file-roller
+
+## Browser
+firefox
+
+## System
+meld
+
+## Fonts
+adobe-source-han-sans-cn-fonts
+adobe-source-han-sans-jp-fonts
+adobe-source-han-sans-kr-fonts
+cantarell-fonts
+noto-fonts
+ttf-bitstream-vera
+ttf-dejavu
+ttf-liberation
+ttf-opensans
+
+# ENDEAVOUROS REPO
+
+## General
+endeavouros-theming
+eos-apps-info
+eos-hooks
+eos-log-tool
+eos-packagelist
+eos-quickstart
+eos-rankmirrors
+eos-update-notifier
+nvidia-inst
+rate-mirrors
+reflector-simple
+welcome
+yay
+
+## Calamares EndeavourOS
+calamares
+ckbcomp
+os-prober
+
+# VM SUPPORT
+
+## Qemu
+qemu-guest-agent
+
+## Spice
+spice-vdagent
+
+## Virtual-box
+virtualbox-guest-utils
+
+## VMware
+open-vm-tools
+xf86-input-vmmouse
+xf86-video-vmware
+xf86-video-qxl
+
+# eos-arm needed packages for chroot into arm device
+qemu-arm-aarch64-static-bin
 
 pacman-mirrorlist
-# Arch Linux mirrorlist for use by pacman
-# Список зеркал Arch Linux для использования pacman
-
 archlinux-appstream-data
-# Arch Linux application database for AppStream-based software centers
-# База данных приложений Arch Linux для центров программного обеспечения на основе AppStream
-
 arcolinux-keyring
-# ArcoLinux GPG keyring
-# Брелок ArcoLinux GPG
-
 arcolinux-mirrorlist-git
-# ArcoLinux mirrorlist for use by pacman
-# Список зеркал ArcoLinux для использования pacman
-
+chaotic-keyring
+chaotic-mirrorlist
+cachyos-keyring
+cachyos-mirrorlist
+cachyos-v3-mirrorlist
+cachyos-rate-mirrors
 melawy-linux-keyring
-# Melawy Linux GnuPG keyring
-# Брелок Melawy Linux GnuPG
-
 melawy-linux-mirrorlist
-# Melawy Linux mirror list for use by pacman
-# Список зеркал Melawy Linux для использования pacman
-
-cryptsetup
-# Userspace setup tool for transparent encryption of block devices using dm-crypt
-# Инструмент настройки пользовательского пространства для прозрачного шифрования блочных устройств с использованием dm-crypt
-
-device-mapper
-# Device mapper userspace library and tools
-# Библиотека и инструменты пользовательского пространства Device Mapper
-
-diffutils
-# Utility programs used for creating patch files
-# Утилиты, используемые для создания файлов патчей
-
-dracut
-# An event driven initramfs infrastructure
-# Инфраструктура initramfs, управляемая событиями
-
-edk2-shell
-# EDK2 UEFI Shell
-# Оболочка UEFI EDK2
-
-inetutils
-# A collection of common network programs
-# Сборник общих сетевых программ
-
-less
-# A terminal based program for viewing text files
-# Терминальная программа для просмотра текстовых файлов.
-
-#linux
-# The Linux kernel and modules
-# Ядро Linux и модули
 linux-xanmod-anbox
-
 linux-atm
-# Drivers and tools to support ATM networking under Linux.
-# Драйверы и инструменты для поддержки сетей банкоматов под Linux.
-
-linux-firmware
-# Firmware files for Linux
-# Файлы прошивки для Linux
-
-linux-firmware-marvell
-# Firmware files for Linux - marvell / Firmware for Marvell devices
-# Файлы прошивки для Linux - marvell / Прошивка для устройств Marvell
-
-#linux-headers
-# Headers and scripts for building modules for the Linux kernel
-# Заголовки и скрипты для сборки модулей для ядра Linux
 linux-xanmod-anbox-headers
-
-logrotate
-# Rotates system logs automatically
-# Автоматически ротирует системные журналы
-
+procps-ng
 syslog-ng
-# Next-generation syslogd with advanced networking and filtering capabilities
-# syslogd следующего поколения с расширенными возможностями работы с сетью и фильтрацией
-
-lsb-release
-# LSB version query program
-# Программа запроса версии LSB
-
-man-db
-# A utility for reading man pages
-# Утилита для чтения справочных страниц
-
-man-pages
-# Linux man pages
-# справочные страницы Linux
-
-mdadm
-# A tool for managing/monitoring Linux md device arrays, also known as Software RAID
-# Инструмент для управления/мониторинга массивов устройств Linux md, также известный как программный RAID.
-
-nano
-# Pico editor clone with enhancements
-# Клон редактора Pico с улучшениями
-
-nano-syntax-highlighting
-# Nano editor syntax highlighting enhancements
-# Усовершенствования подсветки синтаксиса редактора Nano
-
-s-nail
-# Environment for sending and receiving mail
-# Среда для отправки и получения почты
-
-sudo
-# Give certain users the ability to run some commands as root
-# Дайте определенным пользователям возможность запускать некоторые команды от имени root
-
-sysfsutils
-# System Utilities Based on Sysfs
-# Системные утилиты на основе Sysfs
-
-systemd-sysvcompat
-# sysvinit compat for systemd
-# sysvinit compat для systemd
-
-texinfo
-# GNU documentation system for on-line information and printed output
-# Система документации GNU для оперативной информации и вывода на печать
-
-which
-# A utility to show the full path of commands
-# Утилита для отображения полного пути команд
 
 neovim
-# Fork of Vim aiming to improve user experience, plugins, and GUIs
-# Форк Vim, направленный на улучшение пользовательского интерфейса, плагинов и графических интерфейсов.
-
 neovim-lsp_signature
 neovim-lspconfig
 neovim-nvim-treesitter
 neovim-qt
 
 ripgrep
-# A search tool that combines the usability of ag with the raw speed of grep
-# Инструмент поиска, сочетающий удобство использования ag с высокой скоростью grep.
 
-
-
-## Filesystem
-
-btrfs-progs
-# Btrfs filesystem utilities
-# Утилиты файловой системы Btrfs
-
-dosfstools
-# DOS filesystem utilities
-# Утилиты файловой системы DOS
-
-e2fsprogs
-# Ext2/3/4 filesystem utilities
-# Утилиты файловой системы Ext2/3/4
-
-exfatprogs
-# exFAT filesystem userspace utilities for the Linux Kernel exfat driver
-# Утилиты пользовательского пространства файловой системы exFAT для драйвера exfat ядра Linux
-
-f2fs-tools
-# Tools for Flash-Friendly File System (F2FS)
-# Инструменты для файловой системы, дружественной к Flash (F2FS)
+alacritty
+avahi
+boost-libs
+cronie
+fmt
+imwheel
+intltool
+kio
+chwd
+chwd-db
+polkit
+polkit-kde-agent
+polkit-qt5
+profile-sync-daemon
+python
+python-defusedxml
+qt5-xmlpatterns
+realtime-privileges
+smbclient
+solid
+traceroute
+yad
 
 fatresize
-# A utility to resize FAT filesystems using libparted
-# Утилита для изменения размера файловых систем FAT с помощью libparted
-
 gvfs
-# Virtual filesystem implementation for GIO
-# Реализация виртуальной файловой системы для GIO
-
 gvfs-afc
-# Virtual filesystem implementation for GIO (AFC backend; Apple mobile devices)
-# Реализация виртуальной файловой системы для GIO (серверная часть AFC; мобильные устройства Apple)
-
 gvfs-gphoto2
-# Virtual filesystem implementation for GIO (gphoto2 backend; PTP camera, MTP media player)
-# Реализация виртуальной файловой системы для GIO (бэкэнд gphoto2; камера PTP, медиаплеер MTP)
-
 gvfs-mtp
-# Virtual filesystem implementation for GIO (MTP backend; Android, media player)
-# Реализация виртуальной файловой системы для GIO (бэкэнд MTP; Android, медиаплеер)
-
 gvfs-nfs
-# Virtual filesystem implementation for GIO (NFS backend)
-# Реализация виртуальной файловой системы для GIO (серверная часть NFS)
-
 gvfs-smb
-# Virtual filesystem implementation for GIO (SMB/CIFS backend; Windows client)
-# Реализация виртуальной файловой системы для GIO (серверная часть SMB/CIFS; клиент Windows)
-
-jfsutils
-# JFS filesystem utilities
-# Утилиты файловой системы JFS
-
-lvm2
-# Logical Volume Manager 2 utilities
-# Утилиты диспетчера логических томов 2
-
-mtools
-# A collection of utilities to access MS-DOS disks
-# Набор утилит для доступа к дискам MS-DOS.
-
-nfs-utils
-# Support programs for Network File Systems
-# Программы поддержки для сетевых файловых систем
-
-nilfs-utils
-# A log-structured file system supporting continuous snapshotting (userspace utils)
-# Файловая система с журнальной структурой, поддерживающая непрерывное создание моментальных снимков (утилиты пользовательского пространства)
-
-ntfs-3g
-# NTFS filesystem driver and utilities
-# Драйвер файловой системы NTFS и утилиты
-
-reiserfsprogs
-# Reiserfs utilities
-# Утилиты Reiserfs
 
 udftools
-# Linux tools for UDF filesystems and DVD/CD-R(W) drives
-# Инструменты Linux для файловых систем UDF и приводов DVD/CD-R(W)
-
-xfsprogs
-# XFS filesystem utilities
-# Утилиты файловой системы XFS
-
 
+zfs-utils
+zfs-dkms
 
 ## BTRFS
-
 btrfs-assistant
-# An application for managing BTRFS subvolumes and Snapper snapshots
-# Приложение для управления подтомами BTRFS и моментальными снимками Snapper.
-
 btrfs-snapshots
-# Manage timestamped collections of btrfs snapshots
-# Управление коллекциями моментальных снимков btrfs с отметками времени
-
 timeshift
-# A system restore utility for Linux
-# Утилита восстановления системы для Linux
-
 timeshift-autosnap
-# Timeshift auto-snapshot script which runs before package upgrade using Pacman hook.
-# Скрипт автоматического моментального снимка Timeshift, который запускается перед обновлением пакета с помощью хука Pacman.
-
-
-
-## Boot
-
-efibootmgr
-# Linux user-space application to modify the EFI Boot Manager
-# Приложение пользовательского пространства Linux для изменения диспетчера загрузки EFI
-
-efitools
-# Tools for manipulating UEFI secure boot platforms
-# Инструменты для управления безопасными загрузочными платформами UEFI
-
-
-
-# HARDWARE
-
-## CPU
-
-amd-ucode
-# Microcode update image for AMD CPUs
-# Образ обновления микрокода для процессоров AMD
-
-intel-ucode
-# Microcode update files for Intel CPUs
-# Файлы обновления микрокода для процессоров Intel
-
-
-
-## X system
-
-#xf86-video-intel
-#xf86-video-nouveau
-
-mesa
-# An open-source implementation of the OpenGL specification
-# Реализация спецификации OpenGL с открытым исходным кодом.
-
-mesa-utils
-# Essential Mesa utilities
-# Основные утилиты Mesa
-
-nvidia-dkms
-# NVIDIA drivers - module sources
-# Драйверы NVIDIA - исходники модуля
 
+xorg-apps
 nvidia-settings
-# Tool for configuring the NVIDIA graphics driver
-# Инструмент для настройки графического драйвера NVIDIA
 
-nvidia-utils
-# NVIDIA drivers utilities
-# Утилиты для драйверов NVIDIA
+xf86-input-elographics
+xf86-input-evdev
+xf86-input-synaptics
+xf86-input-void
 
-xf86-input-libinput
-# Generic input driver for the X.Org server based on libinput
-# Общий драйвер ввода для сервера X.Org на основе libinput
-
-xf86-video-amdgpu
-# X.org amdgpu video driver
-# X.org видеодрайвер amdgpu
-
-xf86-video-ati
-# X.org ati video driver
-# Видеодрайвер X.org ati
-
-xorg-server
-# Xorg X server
-# Xorg X-сервер
-
-xorg-xdpyinfo
-# Display information utility for X
-# Утилита отображения информации для X
-
-xorg-xinit
-# X.Org initialisation program
-# Программа инициализации X.Org
-
-xorg-xinput
-# Small commandline tool to configure devices
-# Небольшой инструмент командной строки для настройки устройств
-
-xorg-xkill
-# Kill a client by its X resource
-# Убить клиента его X-ресурсом
-
-xorg-xrandr
-# Primitive command line interface to RandR extension
-# Примитивный интерфейс командной строки для расширения RandR
+xf86-video-fbdev
+xf86-video-openchrome
 
 xorg-xrdb
-# X server resource database utility
-# Утилита базы данных ресурсов X-сервера
-
 xorg-xhost
-# Server access control program for X
-# Программа управления доступом к серверу для X
 
-
-## Network hardware
-
-b43-fwcutter
-# firmware extractor for the b43 kernel module
-# экстрактор прошивки для модуля ядра b43
-
-broadcom-wl-dkms
-# Broadcom 802.11 Linux STA wireless driver
-# Беспроводной драйвер Broadcom 802.11 Linux STA
-
-
-
-## General hardware
-
-lsscsi
-# A tool that lists devices connected via SCSI and its transports
-# Инструмент, который выводит список устройств, подключенных через SCSI, и их транспорты.
-
-sg3_utils
-# Generic SCSI utilities
-# Общие утилиты SCSI
-
-smartmontools
-# Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives
-# Управление и мониторинг S.M.A.R.T. включенные жесткие диски ATA и SCSI
-
-usbutils
-# A collection of USB tools to query connected USB devices
-# Коллекция USB-инструментов для запроса подключенных USB-устройств.
-
-
-
-## Audio hardware
-
-alsa-firmware
-# Firmware binaries for loader programs in alsa-tools and hotplug firmware loader
-# Бинарные файлы прошивки для программ-загрузчиков в alsa-tools и загрузчик прошивки горячего подключения
-
-alsa-plugins
-# Additional ALSA plugins
-# Дополнительные плагины ALSA
-
-alsa-utils
-# Advanced Linux Sound Architecture - Utilities
-# Усовершенствованная звуковая архитектура Linux — Утилиты
-
-ffmpegthumbnailer
-# Lightweight video thumbnailer that can be used by file managers
-# Легкий превьюшник видео, который может использоваться файловыми менеджерами.
-
-gst-libav
-# Multimedia graph framework - libav plugin
-# Фреймворк мультимедийного графа — плагин libav
-
-gst-plugin-pipewire
-# Multimedia graph framework - pipewire plugin
-# Фреймворк мультимедийного графа - плагин pipewire
-
-gst-plugins-bad
-# Multimedia graph framework - bad plugins
-# Фреймворк мультимедийного графа — плохие плагины
-
-gst-plugins-ugly
-# Multimedia graph framework - ugly plugins
-# Фреймворк мультимедийного графа — уродливые плагины
-
-libdvdcss
-# Portable abstraction library for DVD decryption
-# Портативная библиотека абстракций для расшифровки DVD
-
-pavucontrol
-# PulseAudio Volume Control
-# Регулятор громкости PulseAudio
-
-pipewire-alsa
-# Low-latency audio/video router and processor - ALSA configuration
-# Аудио/видео маршрутизатор и процессор с малой задержкой — конфигурация ALSA
-
-pipewire-jack
-# Low-latency audio/video router and processor - JACK support
-# Маршрутизатор и процессор аудио/видео с малой задержкой — поддержка JACK
-
-pipewire-pulse
-# Low-latency audio/video router and processor - PulseAudio replacement
-# Аудио-/видео-маршрутизатор и процессор с малой задержкой — замена PulseAudio
-
-rtkit
-# Realtime Policy and Watchdog Daemon
-# Политика реального времени и демон Watchdog
-
-sof-firmware
-# Sound Open Firmware
-# Звук Открытая прошивка
-
-wireplumber
-# Session / policy manager implementation for PipeWire
-# Реализация диспетчера сеансов/политик для PipeWire
-
-
-
-# SOFTWARE
-
-## General system
-
-bash-completion
-# Programmable completion for the bash shell
-# Программируемое завершение для оболочки bash
+pipewire
 
 curl
-# command line tool and library for transferring data with URLs
-# инструмент командной строки и библиотека для передачи данных с URL-адресами
-
-dialog
-# A tool to display dialog boxes from shell scripts
-# Инструмент для отображения диалоговых окон из сценариев оболочки.
-
-dmidecode
-# Desktop Management Interface table related utilities
-# Утилиты, связанные с таблицей Desktop Management Interface
-
-dmraid
-# Device mapper RAID interface
-# Интерфейс RAID сопоставителя устройств
-
-downgrade
-# Bash script for downgrading one or more packages to a version in your cache or the A.L.A.
-# Сценарий Bash для понижения версии одного или нескольких пакетов до версии в вашем кеше или в A.L.A.
-
-duf
-# Disk Usage/Free Utility
-# Использование диска/бесплатная утилита
-
-fakeroot
-# Tool for simulating superuser privileges
-# Инструмент для имитации привилегий суперпользователя
-
-freetype2
-# Font rasterization library
-# Библиотека растеризации шрифтов
-
-git
-# the fast distributed version control system
-# быстрая распределенная система контроля версий
-
-glances
-# CLI curses-based monitoring tool
-# Инструмент мониторинга на основе CLI curses
-
-gpm
-# A mouse server for the console and xterm
-# Сервер мыши для консоли и xterm
-
-gptfdisk
-# A text-mode partitioning tool that works on GUID Partition Table (GPT) disks
-# Средство создания разделов в текстовом режиме, которое работает с дисками с таблицей разделов GUID (GPT).
-
-haveged
-# Entropy harvesting daemon using CPU timings
-# Демон сбора энтропии с использованием таймингов ЦП
-
-hwdetect
-# Hardware detection script with loading modules and mkinitcpio.conf
-# Скрипт обнаружения оборудования с загрузкой модулей и mkinitcpio.conf
-
-hwinfo
-# Hardware detection tool from openSUSE
-# Инструмент обнаружения оборудования от openSUSE
-
-inxi
-# Full featured CLI system information tool
-# Полнофункциональный системный информационный инструмент CLI
-
-libgsf
-# An extensible I/O abstraction library for dealing with structured file formats
-# Расширяемая библиотека абстракций ввода-вывода для работы со структурированными форматами файлов.
-
-libopenraw
-# Library for decoding RAW files
-# Библиотека для декодирования файлов RAW
-
-mlocate
-# Merging locate/updatedb implementation
-# Объединение реализации locate/updatedb
-
-ntp
-# Network Time Protocol reference implementation
-# Эталонная реализация протокола сетевого времени
-
-pacman-contrib
-# Contributed scripts and tools for pacman systems
-# Предоставленные скрипты и инструменты для систем pacman
-
-pkgfile
-# a pacman .files metadata explorer
-# проводник метаданных .files pacman
-
-poppler-glib
-# Poppler glib bindings
-# Привязки Poppler glib
-
-power-profiles-daemon
-# Makes power profiles handling available over D-Bus
-# Делает обработку профилей мощности доступной через D-Bus
-
-python-packaging
-# Core utilities for Python packages
-# Основные утилиты для пакетов Python
-
-rebuild-detector
-# Detects which packages need to be rebuilt
-# Определяет, какие пакеты необходимо пересобрать
-
-reflector
-# A Python 3 module and script to retrieve and filter the latest Pacman mirror list.
-# Модуль Python 3 и скрипт для извлечения и фильтрации последнего списка зеркал Pacman.
-
-rsync
-# A fast and versatile file copying tool for remote and local files
-# Быстрый и универсальный инструмент для копирования удаленных и локальных файлов.
-
-tldr
-# Command line client for tldr, a collection of simplified and community-driven man pages.
-# Клиент командной строки для tldr, набор упрощенных справочных страниц, созданных сообществом.
-
-unrar
-# The RAR uncompression program
-# Программа распаковки RAR
-
-unzip
-# For extracting and viewing files in .zip archives
-# Для извлечения и просмотра файлов в архивах .zip
-
-wget
-# Network utility to retrieve files from the Web
-# Сетевая утилита для извлечения файлов из Интернета
 
 xdg-desktop-portal
-# Desktop integration portals for sandboxed apps
-# Порталы интеграции с настольными компьютерами для изолированных приложений
-
 xdg-desktop-portal-kde
-# A backend implementation for xdg-desktop-portal using Qt/KF5
-# Бэкенд-реализация для xdg-desktop-portal с использованием Qt/KF5.
-
-xdg-user-dirs
-# Manage user directories like ~/Desktop and ~/Music
-# Управление пользовательскими каталогами, такими как ~/Desktop и ~/Music
-
 xdg-user-dirs-gtk
-# Creates user dirs and asks to relocalize them
-# Создает пользовательские каталоги и просит переместить их
-
-xdg-utils
-# Command line tools that assist applications with a variety of desktop integration tasks
-# Инструменты командной строки, помогающие приложениям выполнять различные задачи интеграции с настольными компьютерами.
-
-xz
-# Library and command line tools for XZ and LZMA compressed files
-# Библиотека и инструменты командной строки для сжатых файлов XZ и LZMA
-
-
-
-## Network
-
-bind
-# A complete, highly portable implementation of the DNS protocol
-# Полная, переносимая реализация протокола DNS.
-
-dhclient
-# A standalone DHCP client from the dhcp package
-# Автономный DHCP-клиент из пакета dhcp
 
 dhcpcd
-# RFC2131 compliant DHCP client daemon
-# Демон DHCP-клиента, совместимый с RFC2131
-
-dnsmasq
-# Lightweight, easy to configure DNS forwarder and DHCP server
-# Легкий, простой в настройке сервер переадресации DNS и DHCP-сервер
-
-ethtool
-# Utility for controlling network drivers and hardware
-# Утилита для управления сетевыми драйверами и оборудованием
-
-iwd
-# Internet Wireless Daemon
-# Интернет-демон беспроводной связи
-
-modemmanager
-# Mobile broadband modem management service
-# Услуга управления мобильным широкополосным модемом
-
-nbd
-# tools for network block devices, allowing you to use remote block devices over TCP/IP
-# инструменты для сетевых блочных устройств, позволяющие использовать удаленные блочные устройства по TCP/IP
-
-ndisc6
-# Collection of IPv6 networking utilities
-# Коллекция сетевых утилит IPv6
-
-net-tools
-# Configuration tools for Linux networking
-# Инструменты настройки для сети Linux
-
-netctl
-# Profile based systemd network management
-# Управление сетью systemd на основе профилей
-
-networkmanager
-# Network connection manager and user applications
-# Диспетчер сетевых подключений и пользовательские приложения
-
-networkmanager-openconnect
-# NetworkManager VPN plugin for OpenConnect
-# Плагин NetworkManager VPN для OpenConnect
-
-networkmanager-openvpn
-# NetworkManager VPN plugin for OpenVPN
-# Плагин NetworkManager VPN для OpenVPN
-
-nss-mdns
-# glibc plugin providing host name resolution via mDNS
-# Плагин glibc, обеспечивающий разрешение имени хоста через mDNS
-
-openconnect
-# Open client for Cisco AnyConnect VPN
-# Открытый клиент для Cisco AnyConnect VPN
-
-openresolv
-# resolv.conf management framework (resolvconf)
-# Фреймворк управления resolv.conf (resolvconf)
-
+#openresolv
+systemd-resolvconf
 openssh
-# SSH protocol implementation for remote login, command execution and file transfer
-# Реализация протокола SSH для удаленного входа в систему, выполнения команд и передачи файлов
-
-openvpn
-# An easy-to-use, robust and highly configurable VPN (Virtual Private Network)
-# Простая в использовании, надежная и гибко настраиваемая VPN (виртуальная частная сеть)
-
-ppp
-# A daemon which implements the Point-to-Point Protocol for dial-up networking
-# Демон, который реализует протокол Point-to-Point для удаленного доступа к сети.
-
-pptpclient
-# Client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP.
-# Клиент для проприетарного протокола Microsoft Point-to-Point Tunneling Protocol, PPTP.
-
-rp-pppoe
-# Roaring Penguin's Point-to-Point Protocol over Ethernet client
-# Протокол Point-to-Point от Roaring Penguin через Ethernet-клиент
-
-usb_modeswitch
-# Activating switchable USB devices on Linux.
-# Активация переключаемых USB-устройств в Linux.
-
-vpnc
-# VPN client for cisco3000 VPN Concentrators
-# VPN-клиент для концентраторов Cisco3000 VPN
-
 wireguard-tools
-# next generation secure network tunnel - tools for configuration
-# Защищенный сетевой туннель нового поколения — инструменты для настройки
-
-whois
-# Intelligent WHOIS client
-# Интеллектуальный клиент WHOIS
-
-wireless-regdb
-# Central Regulatory Domain Database
-# Центральная база данных регуляторных доменов
-
 wireless_tools
-# Tools allowing to manipulate the Wireless Extensions
-# Инструменты, позволяющие управлять беспроводными расширениями
-
-wpa_supplicant
-# A utility providing key negotiation for WPA wireless networks
-# Утилита, обеспечивающая согласование ключей для беспроводных сетей WPA.
-
 wvdial
-# A dialer program to connect to the Internet
-# Программа дозвона для подключения к Интернету
-
-xl2tpd
-# an open source implementation of the L2TP maintained by Xelerance Corporation
-# реализация L2TP с открытым исходным кодом, поддерживаемая Xelerance Corporation
-
-
-
-## Bluetooth
-
-bluedevil
-# Integrate the Bluetooth technology within KDE workspace and applications
-# Интегрируйте технологию Bluetooth в рабочее пространство и приложения KDE.
-
-bluez
-# Daemons for the bluetooth protocol stack
-# Демоны для стека протоколов Bluetooth
-
+mobile-broadband-provider-info
 bluez-tools
-# A set of tools to manage Bluetooth devices for Linux
-# Набор инструментов для управления устройствами Bluetooth для Linux.
-
-bluez-utils
-# Development and debugging utilities for the bluetooth protocol stack
-# Утилиты для разработки и отладки стека протоколов bluetooth
-
-
-
-## Firewall
-
-firewalld
-# Firewall daemon with D-Bus interface
-# Демон межсетевого экрана с интерфейсом D-Bus
-
-python-capng
-# A library for Linux that makes using posix capabilities easy (Python bindings)
-# Библиотека для Linux, упрощающая использование возможностей posix (привязки Python)
-
-python-pyqt5
-# A set of Python bindings for the Qt5 toolkit
-# Набор привязок Python для инструментария Qt5.
-
-
-
-# ISO
-## Live iso specific
-
-#archinstall
-
-arch-install-scripts
-# Scripts to aid in installing Arch Linux
-# Скрипты для помощи в установке Arch Linux
-
-grub
-# GNU GRand Unified Bootloader (2)
-# Унифицированный загрузчик GNU GRand (2)
-
-memtest86+
-# Advanced memory diagnostic tool legacy BIOS version
-# Расширенный инструмент диагностики памяти устаревшей версии BIOS
-
-memtest86+-efi
-# Advanced memory diagnostic tool EFI version
-# Расширенный инструмент диагностики памяти версии EFI
-
-mkinitcpio
-# Modular initramfs image creation utility
-# Модульная утилита для создания образов initramfs
-
-mkinitcpio-archiso
-# Initcpio scripts used by archiso
-# Скрипты initcpio, используемые archiso
-
-mkinitcpio-systemd-tool
-# Provisioning tool for systemd in initramfs (systemd-tool)
-# Инструмент подготовки для systemd в initramfs (systemd-tool)
-
-mkinitcpio-nfs-utils
-# ipconfig and nfsmount tools for NFS root support in mkinitcpio
-# Инструменты ipconfig и nfsmount для поддержки root NFS в mkinitcpio
-
-mkinitcpio-openswap
-# mkinitcpio hook to open swap at boot time
-# Перехватчик mkinitcpio для открытия подкачки во время загрузки
-
-os-prober
-# Utility to detect other OSes on a set of drives
-# Утилита для обнаружения других ОС на наборе дисков
-
-pv
-# A terminal-based tool for monitoring the progress of data through a pipeline.
-# Инструмент на основе терминала для мониторинга прохождения данных по конвейеру.
 
 refind
-# An EFI boot manager
-# Менеджер загрузки EFI
-
-syslinux
-# Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE
-# Коллекция загрузчиков, которые загружаются с файловых систем FAT, ext2/3/4 и btrfs, с компакт-дисков и через PXE.
-
-
-
-
-## Live iso tools
-
-clonezilla
-# ncurses partition and disk imaging/cloning program
-# ncurses раздел и программа создания образа/клонирования диска
 
 ddrescue
-# GNU data recovery tool
-# Инструмент восстановления данных GNU
-
-gpart
-# Partition table rescue/guessing tool
-# Инструмент восстановления/угадывания таблицы разделов
-
 gparted
-# A Partition Magic clone, frontend to GNU Parted
-# Клон Partition Magic, интерфейс к GNU Parted
-
-grsync
-# GTK+ GUI for rsync to synchronize folders, files and make backups
-# Графический интерфейс GTK+ для rsync для синхронизации папок, файлов и создания резервных копий
-
-hdparm
-# A shell utility for manipulating Linux IDE drive/driver parameters
-# Утилита оболочки для управления параметрами диска/драйвера Linux IDE.
-
 partclone
-# Utilities to save and restore used blocks on a partition
-# Утилиты для сохранения и восстановления используемых блоков на разделе
-
 parted
-# A program for creating, destroying, resizing, checking and copying partitions
-# Программа для создания, уничтожения, изменения размера, проверки и копирования разделов
-
 partimage
-# Partition Image saves partitions in many formats to an image file.
-# Изображение раздела сохраняет разделы во многих форматах в файл изображения.
-
 squashfs-tools
-# Tools for squashfs, a highly compressed read-only filesystem for Linux
-# Инструменты для squashfs, сильно сжатой файловой системы только для чтения для Linux.
 
 
-
-# DESKTOP
-
 ## Display manager
-
 accountsservice
-# D-Bus interface for user account query and manipulation
-# Интерфейс D-Bus для запросов и манипуляций с учетной записью пользователя
-
 sddm
-# QML based X11 and Wayland display manager. The Simple Desktop Display Manager
-# Менеджер отображения X11 и Wayland на основе QML. Диспетчер отображения простого рабочего стола
-
-
-## Desktop environment
-
 breeze
-# Artwork, styles and assets for the Breeze visual style for the Plasma Desktop
-# Иллюстрации, стили и активы для визуального стиля Breeze для Plasma Desktop
-
-breeze-gtk
-# Breeze widget theme for GTK 2 and 3
-# Тема виджета Breeze для GTK 2 и 3
-
 breeze-icons
-# Breeze icon themes
-# Темы значков бриза
-
 discord
-# All-in-one voice and text chat for gamers
-# Универсальный голосовой и текстовый чат для геймеров
-
-dolphin
-# KDE File Manager
-# Файловый менеджер KDE
-
 drkonqi
-# The KDE crash handler
-# Обработчик сбоя KDE
-
 ksystemlog
-# System log viewer tool
-# Средство просмотра системного журнала
-
+flatpak
 flatpak-kcm
-# Flatpak Permissions Management KCM
-# Управление разрешениями Flatpak KCM
-
-kde-gtk-config
-# GTK2 and GTK3 Configurator for KDE
-# Конфигуратор GTK2 и GTK3 для KDE
-
 kdeplasma-addons
-# All kind of addons to improve your Plasma experience
-# Все виды дополнений для улучшения вашего опыта Plasma
-
-kgamma5
-# Adjust your monitor gamma settings
-# Настройте параметры гаммы монитора
-
-khotkeys
-# KHotKeys
-# KHotKeys
-
-kinfocenter
-# A utility that provides information about a computer system
-# Утилита, которая предоставляет информацию о компьютерной системе
-
-kitty-terminfo
-# Terminfo for kitty, an OpenGL-based terminal emulator
-# Terminfo для котенка, эмулятор терминала на основе OpenGL
-
-konsole
-# KDE terminal emulator
-# Эмулятор терминала KDE
-
-kscreen
-# KDE screen management software
-# Программное обеспечение для управления экраном KDE
-
 ksshaskpass
-# ssh-add helper that uses kwallet and kpassworddialog
-# помощник ssh-add, использующий kwallet и kpassworddialog
-
-kwallet-pam
-# KWallet PAM integration
-# Интеграция KWallet PAM
-
 gnome-keyring
-
-kwayland-integration
-# Provides integration plugins for various KDE frameworks for the wayland windowing system
-# Предоставляет интеграционные плагины для различных фреймворков KDE для оконной системы wayland.
-
 kwrited
-# KDE daemon listening for wall and write messages
-# Демон KDE прослушивает стену и пишет сообщения
-
 libwnck3
-# Library to manage X windows and workspaces (via pagers, tasklists, etc.)
-# Библиотека для управления окнами X и рабочими пространствами (через пейджеры, списки задач и т. д.)
-
-lightly-git
-# A modern style for qt applications
-# Современный стиль для qt-приложений
-
+lightly-boehs-git
 network-manager-applet
-# Applet for managing network connections
-# Апплет для управления сетевыми подключениями
-
-oxygen
-# KDE Oxygen style
-# Кислородный стиль KDE
-
-oxygen-sounds
-# The Oxygen Sound Theme
-# Кислородная звуковая тема
 
+plasma-framework
+plasma-integration
+plasma-workspace
 plasma-browser-integration
-# Components necessary to integrate browsers into the Plasma Desktop
-# Компоненты, необходимые для интеграции браузеров в Plasma Desktop
-
-plasma-desktop
-# KDE Plasma Desktop
-# Плазменный рабочий стол KDE
-
-plasma-disks
-# Monitors S.M.A.R.T. capable devices for imminent failure
-# Мониторы S.M.A.R.T. способные устройства на неизбежный отказ
-
 plasma-firewall
-# Control Panel for your system firewall
-# Панель управления брандмауэром вашей системы
-
-plasma-nm
-# Plasma applet written in QML for managing network connections
-# Плазменный апплет, написанный на QML для управления сетевыми соединениями
-
-plasma-pa
-# Plasma applet for audio volume management using PulseAudio
-# Плазменный апплет для управления громкостью звука с помощью PulseAudio
-
-plasma-systemmonitor
-# An interface for monitoring system sensors, process information and other system resources
-# Интерфейс для мониторинга системных датчиков, технологической информации и других системных ресурсов.
-
 plasma-thunderbolt
-# Plasma integration for controlling Thunderbolt devices
-# Интеграция Plasm для управления устройствами Thunderbolt
-
 plasma-vault
-# Plasma applet and services for creating encrypted vaults
-# Апплет Plasma и сервисы для создания зашифрованных хранилищ
-
-plasma-wayland-session
-# Plasma Wayland session
-# Плазменная сессия Wayland
-
 plasma-workspace-wallpapers
-# Additional wallpapers for the Plasma Workspace
-# Дополнительные обои для Plasma Workspace
 
 plymouth
-# Graphical boot splash screen
-# Графическая заставка загрузки
-
 plymouth-kcm
-# KCM to manage the Plymouth (Boot) theme
-# KCM для управления темой Plymouth (Boot)
-
-sddm-kcm
-# KDE Config Module for SDDM
-# Модуль конфигурации KDE для SDDM
-
-
-
-# Office
 
 libreoffice-fresh
 libreoffice-fresh-ru
@@ -1080,133 +441,37 @@ libreoffice-fresh-en-gb
 
 onlyoffice-bin
 
-
-# Mail
-
 thunderbird
 mailspring
 
-
 ## Picture Editor
 gimp
 inkscape
 krita
 
-
-## Editor
-
-kate
-# Advanced text editor
-# Расширенный текстовый редактор
-
-
-
-## Archive
-
-ark
-# Archiving Tool
-# Инструмент архивации
-
-
-
-## Image viewer
-
-gwenview
-# A fast and easy to use image viewer
-# Быстрый и простой в использовании просмотрщик изображений
-
-
-
 ## Video player
-
 vlc-luajit
-# Multi-platform MPEG, VCD/DVD, and DivX player built with luajit for OBS Studio compatibility
-# Многоплатформенный проигрыватель MPEG, VCD/DVD и DivX, созданный с помощью luajit для совместимости с OBS Studio.
-
-
-
-# Media
-
 mpv
 elisa
 audacious
 audacity
 
-
-
-## Browser
-
-brave-bin
-# Web browser that blocks ads and trackers by default (binary release)
-# Веб-браузер, блокирующий рекламу и трекеры по умолчанию (бинарная версия)
-
 firefox
-# Standalone web browser from mozilla.org
-# Автономный веб-браузер от mozilla.org
-
-firefox-developer-edition
-# Developer Edition of the popular Firefox web browser
-# Developer Edition популярного веб-браузера Firefox
-
-firefox-developer-edition-i18n-ru
-# Russian language pack for Firefox Developer Edition
-# Русский языковой пакет для Firefox Developer Edition
-
 firefox-i18n-ru
-# Russian language pack for Firefox
-# Русский языковой пакет для Firefox
+firefox-developer-edition
+firefox-developer-edition-i18n-ru
 
 google-chrome
-# The popular and trusted web browser by Google (Stable Channel)
-# Популярный и надежный веб-браузер от Google (Stable Channel)
-
-
-
-## System
-
-kcalc
-# Scientific Calculator
-# Научный калькулятор
-
-meld
-# Compare files, directories and working copies
-# Сравните файлы, каталоги и рабочие копии
+brave-bin
 
 neofetch
-# A CLI system information tool written in BASH that supports displaying images.
-# Инструмент системной информации CLI, написанный на BASH и поддерживающий отображение изображений.
-
 lolcat
-# Okay, no unicorns. But rainbows!!
-# Ок, не единороги, но радуга
-
-okular
-# Document Viewer
-# Просмотрщик документов
+fastfetch
 
 skypeforlinux-stable-bin
-# Skype for Linux - Stable/Release Version
-# Skype для Linux — стабильная/выпускная версия
-
-spectacle
-# KDE screenshot capture utility
-# Утилита для захвата скриншотов KDE
-
 telegram-desktop
-# Official Telegram Desktop client
-# Официальный настольный клиент Telegram
-
-xdg-desktop-portal-kde
-# A backend implementation for xdg-desktop-portal using Qt/KF5
-# Бэкенд-реализация для xdg-desktop-portal с использованием Qt/KF5.
-
 yakuake
-# A drop-down terminal emulator based on KDE konsole technology
-# Эмулятор выпадающего терминала на основе технологии консоли KDE.
-
 zoom
-# Video Conferencing and Web Conferencing Service
-# Сервис видеоконференций и веб-конференций
 
 anydesk-bin
 yandex-disk
@@ -1215,532 +480,142 @@ keepassxc
 visual-studio-code-bin
 codelldb
 
-## Fonts
-
 adobe-source-code-pro-fonts
-# Monospaced font family for user interface and coding environments
-# Семейство моноширинных шрифтов для пользовательского интерфейса и сред кодирования
-
 ttf-sourcecodepro-nerd
-# Patched font Source Code Pro from nerd fonts library
-# Исправлен шрифт Source Code Pro из библиотеки nerd fonts.
-
-adobe-source-han-sans-cn-fonts
-# Adobe Source Han Sans Subset OTF - Simplified Chinese OpenType/CFF fonts
-# Adobe Source Han Sans Subset OTF — шрифты OpenType/CFF для упрощенного китайского языка
-
-adobe-source-han-sans-jp-fonts
-# Adobe Source Han Sans Subset OTF - Japanese OpenType/CFF fonts
-# Adobe Source Han Sans Subset OTF — японские шрифты OpenType/CFF
-
-adobe-source-han-sans-kr-fonts
-# Adobe Source Han Sans Subset OTF - Korean OpenType/CFF fonts
-# Adobe Source Han Sans Subset OTF — корейские шрифты OpenType/CFF
-
 ttf-jetbrains-mono
-# Typeface for developers, by JetBrains
-# Шрифт для разработчиков от JetBrains
-
 ttf-jetbrains-mono-nerd
-# Patched font JetBrains Mono from nerd fonts library
-# Исправлен шрифт JetBrains Mono из библиотеки nerd fonts.
-
 ttf-roboto
-# Google's signature family of fonts
-# Фирменное семейство шрифтов Google
-
 ttf-roboto-mono
-# A monospaced addition to the Roboto type family.
-# Моноширинное дополнение к семейству типов Roboto.
-
 ttf-roboto-mono-nerd
-# Patched font Roboto Mono from nerd fonts library
-# Исправлен шрифт Roboto Mono из библиотеки nerd fonts.
-
-noto-fonts
-# Google Noto TTF fonts
-# Шрифты Google Noto TTF
-
 ttf-noto-nerd
-# Patched font Noto from nerd fonts library
-# Исправлен шрифт Noto из библиотеки nerd fonts.
-
 noto-color-emoji-fontconfig
-# Fontconfig to enable Noto Color Emoji fonts where emojis can be displayed
-# Fontconfig для включения шрифтов Noto Color Emoji, в которых могут отображаться смайлики.
-
 noto-fonts-emoji
-# Google Noto emoji fonts
-# Шрифты эмодзи Google Noto
-
 ttf-twemoji
-# Twitter Color Emoji for everyone.
-# Twitter Color Emoji для всех.
-
-# ttf-bitstream-vera
-# Bitstream Vera fonts.
-# Шрифты Bitstream Vera.
-
-# ttf-bitstream-vera-mono-nerd
-# Patched font Bitstream Vera Mono from nerd fonts library
-# Исправлен шрифт Bitstream Vera Mono из библиотеки nerd fonts.
-
-ttf-dejavu
-# Font family based on the Bitstream Vera Fonts with a wider range of characters
-# Семейство шрифтов на основе шрифтов Bitstream Vera с более широким набором символов.
-
 ttf-dejavu-nerd
-# Patched font Dejavu Sans Mono from nerd fonts library
-# Исправлен шрифт Dejavu Sans Mono из библиотеки nerd fonts.
-
-ttf-liberation
-# Font family which aims at metric compatibility with Arial, Times New Roman, and Courier New
-# Семейство шрифтов, предназначенное для метрической совместимости с Arial, Times New Roman и Courier New.
-
 ttf-liberation-mono-nerd
-# Patched font Liberation Mono from nerd fonts library
-# Исправлен шрифт Liberation Mono из библиотеки nerd fonts.
-
-ttf-opensans
-# Sans-serif typeface commissioned by Google
-# Шрифт без засечек по заказу Google
-
 ttf-hack
-# A hand groomed and optically balanced typeface based on Bitstream Vera Mono.
-# Отшлифованный вручную и оптически сбалансированный шрифт на основе Bitstream Vera Mono.
-
 ttf-hack-nerd
-# Patched font Hack from nerd fonts library
-# Исправлен шрифт Hack из библиотеки шрифтов nerd
-
 otf-fira-mono
-# Mozilla's monospace typeface designed for Firefox OS
-# Моноширинный шрифт Mozilla, разработанный для Firefox OS
-
 otf-firamono-nerd
-# Patched font Fira (Fura) Mono from nerd fonts library
-# Патченный шрифт Fira (Fura) Mono из библиотеки nerd fonts
-
 otf-fira-sans
-# Mozilla's sans-serif typeface designed for Firefox OS
-# Шрифт Mozilla без засечек, разработанный для Firefox OS
-
 ttf-fira-sans
-# Mozilla's sans-serif typeface designed for Firefox OS
-# Шрифт Mozilla без засечек, разработанный для Firefox OS
-
 ttf-fira-code
-# Monospaced font with programming ligatures
-# Моноширинный шрифт с программными лигатурами
-
 ttf-firacode-nerd
-# Patched font Fira (Fura) Code from nerd fonts library
-# Патченный шрифт Fira (Fura) Код из библиотеки nerd fonts
-
 ttf-ubuntu-font-family
-# Ubuntu font family
-# Семейство шрифтов Ubuntu
-
 ttf-ubuntu-mono-nerd
-# Patched font Ubuntu Mono from nerd fonts library
-# Исправлен шрифт Ubuntu Mono из библиотеки шрифтов ботаников
-
 ttf-ubuntu-nerd
-# Patched font Ubuntu from nerd fonts library
-# Исправлен шрифт Ubuntu из библиотеки шрифтов ботаников
-
 ttf-ms-fonts
-# Core TTF Fonts from Microsoft
-# Основные шрифты TTF от Microsoft
-
 ttf-nerd-fonts-symbols
-# High number of extra glyphs from popular 'iconic fonts'
-# Большое количество дополнительных глифов из популярных «культовых шрифтов»
-
 ttf-nerd-fonts-symbols-common
-# High number of extra glyphs from popular 'iconic fonts' (common files)
-# Большое количество дополнительных глифов из популярных «знаковых шрифтов» (общие файлы)
-
 ttf-nerd-fonts-symbols-mono
-# High number of extra glyphs from popular 'iconic fonts' (monospace)
-# Большое количество дополнительных глифов из популярных «культовых шрифтов» (моноширинные)
-
-cantarell-fonts
-# Humanist sans serif font
-# Гуманистический шрифт без засечек
-
-# otf-droid-nerd
-# ttf-anonymouspro-nerd
-# ttf-bigblueterminal-nerd
-# ttf-cascadia-code-nerd
-# ttf-mplus-nerd
-# ttf-arimo-nerd
-# otf-aurulent-nerd
-# otf-codenewroman-nerd
-# otf-hasklig-nerd
-# otf-hermit-nerd
-# otf-opendyslexic-nerd
-# otf-overpass-nerd
-# ttf-3270-nerd
-# ttf-agave-nerd
-# ttf-carlito
-# ttf-cousine-nerd
-# ttf-daddytime-mono-nerd
-# ttf-fantasque-nerd
-# ttf-go-nerd
-# ttf-heavydata-nerd
-# ttf-iawriter-nerd
-# ttf-ibmplex-mono-nerd
-# ttf-inconsolata-go-nerd
-# ttf-inconsolata-lgc-nerd
-# ttf-inconsolata-nerd
-# ttf-iosevka-nerd
-# ttf-lekton-nerd
-# ttf-lilex-nerd
-# ttf-meslo-nerd
-# ttf-meslo-nerd-font-powerlevel10k
-# ttf-monofur-nerd
-# ttf-monoid-nerd
-# ttf-mononoki-nerd
-# ttf-profont-nerd
-# ttf-proggyclean-nerd
-# ttf-sharetech-mono-nerd
-# ttf-space-mono-nerd
-# ttf-tinos-nerd
-# ttf-victor-mono-nerd
-
-# OTHER REPO
-
-## General
 
 bash-language-server
-# Bash language server implementation based on Tree Sitter and its grammar for Bash
-# Реализация сервера языка Bash на основе Tree Sitter и его грамматики для Bash
-
 find-the-command-git
-# Advanced command-not-found hook for bash, fish and zsh using the power of pacman
-# Усовершенствованный хук command-not-found для bash, fish и zsh с использованием возможностей pacman
-
 lynx
-# A text browser for the World Wide Web
-# Текстовый браузер для всемирной паутины
-
 make
-# GNU make utility to maintain groups of programs
-# GNU make утилита для поддержки групп программ
-
 mc
-# A file manager that emulates Norton Commander
-# Файловый менеджер, эмулирующий Norton Commander.
-
 nmap
-# Utility for network discovery and security auditing
-# Утилита для обнаружения сети и аудита безопасности
-
 pamac-cli
-# A Package Manager based on libalpm with AUR and Appstream support
-# Менеджер пакетов на основе libalpm с поддержкой AUR и Appstream.
-
 pamac-gtk
-# A Package Manager based on libalpm with AUR and Appstream support
-# Менеджер пакетов на основе libalpm с поддержкой AUR и Appstream.
-
-paru-git
-# Feature packed AUR helper
-# Многофункциональный помощник AUR
-
+paru
 powerline
-# Statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome, i3 and Qtile
-# Плагин строки состояния для vim, а также предоставляет строки состояния и подсказки для нескольких других приложений, включая zsh, bash, tmux, IPython, Awesome, i3 и Qtile.
-
 powerline-fonts
-# patched fonts for powerline
-# пропатченные шрифты для powerline
-
-rate-mirrors
-# Everyday-use client-side map-aware mirror ranking tool
-# Ежедневно используемый клиентский инструмент ранжирования зеркал с учетом карты
-
-reflector-simple
-# Simple GUI wrapper for 'reflector'.
-# Простая оболочка с графическим интерфейсом для «отражателя».
 
 screen
-# Full-screen window manager that multiplexes a physical terminal
-# Полноэкранный оконный менеджер, мультиплексирующий физический терминал
-
 tcpdump
-# Powerful command-line packet analyzer
-# Мощный анализатор пакетов командной строки
-
 terminus-font
 ttf-terminus-nerd
-# Monospace bitmap font (for X11 and console)
-# Моноширинный растровый шрифт (для X11 и консоли)
-
 tmux
-# Terminal multiplexer
-# Терминальный мультиплексор
-
 xterm
-# X Terminal Emulator
-# Эмулятор терминала X
-
-# uxterm
-# xterm wrapper for unicode environments
-# Оболочка xterm для сред Unicode
-
 zsh
-# A very advanced and programmable command interpreter (shell) for UNIX
-# Очень продвинутый и программируемый командный интерпретатор (оболочка) для UNIX.
-
-
-
-## Calamares Melawy
-
-ckbcomp
-# Compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol
-# Скомпилируйте описание клавиатуры XKB в раскладку, подходящую для loadkeys или kbdcontrol.
-
-melawy-calamares
-# Installer for Melawy Linux
-# Установщик для Melawy Linux
-
-melawy-calamares-configs
-# Config files for Installer for Melawy Linux
-# Конфигурационные файлы для Установщик для Melawy Linux
-
-
-
-# VM SUPPORT
-
-## Qemu
-
-qemu-guest-agent
-# QEMU Guest Agent
-# Гостевой агент QEMU
-
-
-
-## Spice
-
-spice-vdagent
-# Spice agent for Linux guests
-# Агент Spice для гостей Linux
-
-
-
-## Virtual-box
-
-virtualbox-guest-utils
-# VirtualBox Guest userspace utilities
-# Утилиты гостевого пользовательского пространства VirtualBox
-
-
-
-## VMware
-
-open-vm-tools
-# The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools
-# Open Virtual Machine Tools (open-vm-tools) — это реализация VMware Tools с открытым исходным кодом.
-
-xf86-input-vmmouse
-# X.org VMWare Mouse input driver
-# Драйвер ввода X.org VMWare Mouse
-
-xf86-video-vmware
-# X.org vmware video driver
-# Видеодрайвер X.org vmware
-
-
 
 ## HyperV
-
 hyperv
-# Hyper-V tools
-# Инструменты Hyper-V
-
-
-
-## AARCH64
-
-aarch64-linux-gnu-binutils
-# A set of programs to assemble and manipulate binary and object files for the ARM64 target
-# Набор программ для сборки и управления двоичными и объектными файлами для целевой платформы ARM64.
-
-aarch64-linux-gnu-gcc
-# The GNU Compiler Collection - cross compiler for ARM64 target
-# Коллекция компиляторов GNU - кросс-компилятор для цели ARM64
-
-aarch64-linux-gnu-gdb
-# The GNU Debugger for the ARM64 target
-# Отладчик GNU для целевой платформы ARM64
-
-aarch64-linux-gnu-glibc
-# GNU C Library ARM64 target
-# Цель библиотеки GNU C для ARM64
-
-aarch64-linux-gnu-linux-api-headers
-# Kernel headers sanitized for use in userspace (aarch64-linux-gnu)
-# Заголовки ядра очищены для использования в пользовательском пространстве (aarch64-linux-gnu)
-
-edk2-aarch64
-# Firmware for Virtual Machines (aarch64)
-# Прошивка для виртуальных машин (aarch64)
-
-qemu-system-aarch64
-# QEMU system emulator for AARCH64
-# Эмулятор системы QEMU для AARCH64
-
-
-
-# OTHER
 
 brltty
-# Braille display driver for Linux/Unix
-# Драйвер дисплея Брайля для Linux/Unix
-
 cloud-init
-# Cloud instance initialization
-# Инициализация облачного экземпляра
-
 darkhttpd
-# A small and secure static webserver
-# Небольшой и безопасный статический веб-сервер
-
 espeakup
-# A light weight connector for espeak-ng and speakup
-# Легкий разъем для espeak-ng и спикапа
-
 fsarchiver
-# Safe and flexible file-system backup and deployment tool
-# Безопасный и гибкий инструмент резервного копирования и развертывания файловой системы
-
 gnu-netcat
-# GNU rewrite of netcat, the network piping application
-# GNU переписывает netcat, приложение для сетевых трубопроводов
-
 grml-zsh-config
-# grml's zsh setup
-# настройка grml zsh
-
 irssi
-# Modular text mode IRC client with Perl scripting
-# IRC-клиент модульного текстового режима со сценариями Perl
-
 iw
-# nl80211 based CLI configuration utility for wireless devices
-# Утилита настройки интерфейса командной строки на основе nl80211 для беспроводных устройств
-
 lftp
-# Sophisticated command line based FTP client
-# Сложный FTP-клиент на основе командной строки
-
 libfido2
-# Library functionality for FIDO 2.0, including communication with a device over USB
-# Функциональность библиотеки для FIDO 2.0, включая связь с устройством через USB
-
 libusb-compat
-# Library to enable user space application programs to communicate with USB devices
-# Библиотека, позволяющая прикладным программам пользовательского пространства взаимодействовать с USB-устройствами.
-
 libxinerama
-# X11 Xinerama extension library
-# Библиотека расширений X11 Xinerama
-
 livecd-sounds
-# Sound files for accessibility features in a boot medium
-# Звуковые файлы для специальных возможностей на загрузочном носителе
-
 nvme-cli
-# NVM-Express user space tooling for Linux
-# Инструменты пользовательского пространства NVM-Express для Linux
-
 open-iscsi
-# iSCSI userland tools
-# пользовательские инструменты iSCSI
-
 packagekit-qt5
-# Qt5 bindings for PackageKit
-# Привязки Qt5 для PackageKit
-
 pcsclite
-# PC/SC Architecture smartcard middleware library
-# Библиотека промежуточного программного обеспечения для смарт-карт архитектуры PC/SC
-
-powerdevil
-# Manages the power consumption settings of a Plasma Shell
-# Управляет настройками энергопотребления Plasma Shell.
-
 pulseaudio-qt
-# Qt bindings for libpulse
-# Привязки Qt для libpulse
-
 sdparm
-# An utility similar to hdparm but for SCSI devices
-# Утилита, похожая на hdparm, но для устройств SCSI.
-
 testdisk
-# Checks and undeletes partitions + PhotoRec, signature based recovery tool
-# Проверяет и восстанавливает разделы + PhotoRec, инструмент восстановления на основе подписи
-
 tpm2-tss
-# Implementation of the TCG Trusted Platform Module 2.0 Software Stack (TSS2)
-# Внедрение программного стека TCG Trusted Platform Module 2.0 (TSS2)
-
 usbmuxd
-# USB Multiplex Daemon
-# Демон мультиплексирования USB
-
 dex
-# Program to generate and execute DesktopEntry files of type Application
-# Программа для создания и выполнения файлов DesktopEntry типа Application
-
-
 
 ## Melawy REPO
 
-melawy-color-scheme
-melawy-color-scheme-konsole
+melawy-arch-linux-updater
+melawy-plasma-plasmoid-archupdate
+
 melawy-dracut-initramfs
 melawy-dracut-ukify
-melawy-plasma-desktop-theme
-melawy-plasma-look-and-feel-fenek
-melawy-plasma-look-and-feel-lera-sugar
+melawy-refind-menu-generator
+#melawy-etc-skel
+
 melawy-plasma-plasmoid-DittoMenu
 melawy-plasma-plasmoid-Menu11
 melawy-plasma-plasmoid-OnzeMenuKDE
-melawy-plasma-plasmoid-archupdate
+
+melawy-color-scheme
+melawy-color-scheme-konsole
+melawy-icon-theme
+melawy-plasma-desktop-theme
+
+melawy-plasma-look-and-feel-fenek
 melawy-plymouth-theme-fenek
-melawy-plymouth-theme-lera-sugar
-melawy-refind-menu-generator
 melawy-refind-theme-fenek
-melawy-refind-theme-lera-sugar
 melawy-sddm-theme-fenek
-melawy-sddm-theme-lera-sugar
 melawy-wallpaper-fenek
+
+melawy-plasma-look-and-feel-lera-sugar
+melawy-plymouth-theme-lera-sugar
+melawy-refind-theme-lera-sugar
+melawy-sddm-theme-lera-sugar
 melawy-wallpaper-lera-sugar
 
-melawy-plymouth-theme-hard-install-lera-sugar
-# Liveuser specific plymouth theme hard install Lera Sugar for Melawy Linux
-# Жесткая установка темы Plymouth для Liveuser Lera Sugar для Melawy Linux
+melawy-plasma-look-and-feel-nier-a2
+melawy-plymouth-theme-nier-a2
+melawy-refind-theme-nier-a2
+melawy-sddm-theme-nier-a2
+melawy-wallpaper-nier-a2
+
+melawy-purple-dark-cursors
+melawy-purple-dark-default-cursors
+melawy-purple-light-cursors
+melawy-purple-light-default-cursors
+melawy-red-dark-cursors
+melawy-red-dark-default-cursors
+melawy-red-light-cursors
+melawy-red-light-default-cursors
+
+melawy-plymouth-theme-hard-install-nier-a2
+
+#melawy-plymouth-theme-hard-install-lera-sugar
 
 #melawy-plymouth-theme-hard-install-fenek
-# Liveuser specific plymouth theme hard install Fenek for Melawy Linux
-# Жесткая установка темы Plymouth для Liveuser Fenek для Melawy Linux
 
-colloid-gtk-theme-git
-colloid-kde-theme-git
-qogir-gtk-theme-git
-qogir-kde-theme-git
-fluent-gtk-theme
+fluent-gtk-theme-git
 fluent-kde-theme-git
-
-colloid-icon-theme-git
-qogir-icon-theme
-fluent-icon-theme-git
 win11-icon-theme-git
 win11-icon-theme-special-git
 win11-icon-theme-white-git
 
-colloid-cursors-git
+
+## Calamares Melawy
+#melawy-calamares
+#melawy-calamares-configs
diff --git a/profiledef.sh b/profiledef.sh
index 779bfea..a0eeb55 100644
--- a/profiledef.sh
+++ b/profiledef.sh
@@ -3,7 +3,7 @@
 
 iso_name="melawy-linux"
 iso_label="Melawy-Linux-$(date +%Y%m)"
-iso_publisher="Melawy Linux <https://github.com/Melawy>"
+iso_publisher="Melawy Linux <https://melawy.ru>"
 iso_application="Melawy Linux Live/Rescue CD"
 iso_version="$(date +%Y.%m.%d)"
 install_dir="arch"
@@ -22,19 +22,33 @@ pacman_conf="airootfs/etc/pacman.conf"
 airootfs_image_type="squashfs"
 airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M')
 file_permissions=(
-  ["/etc/shadow"]="0:0:400"
   ["/etc/gshadow"]="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"
   ["/etc/polkit-1/rules.d"]="0:0:750"
+  ["/etc/shadow"]="0:0:400"
   ["/etc/sudoers.d"]="0:0:750"
   ["/etc/sudoers.d/g_wheel"]="0:0:440"
-  ["/usr/local/bin/displaymanager-check"]="0:0:755"
+  ["/root"]="0:0:750"
+  ["/root/.automated_script.sh"]="0:0:755"
+  ["/root/.gnupg"]="0:0:700"
+  ["/usr/local/bin/GPU-Intel-installer"]="0:0:755"
+  ["/usr/local/bin/Installation_guide"]="0:0:755"
+  ["/usr/local/bin/all-cores"]="0:0:755"
+  ["/usr/local/bin/calamares-offline.sh"]="0:0:755"
+  ["/usr/local/bin/calamares-online.sh"]="0:0:755"
+  ["/usr/local/bin/choose-mirror"]="0:0:755"
+  ["/usr/local/bin/device-info"]="0:0:755"
+  ["/usr/local/bin/dmcheck"]="0:0:755"
   ["/usr/local/bin/fix-keys"]="0:0:755"
-  ["/usr/bin/GPU-Intel-installer"]="0:0:755"
-  ["/usr/bin/device-info"]="0:0:755"
-  ["/usr/bin/melawy-linux-connection-checker"]="0:0:755"
-)
+  ["/usr/local/bin/fsprogschk"]="0:0:755"
+  ["/usr/local/bin/livecd-sound"]="0:0:755"
+  ["/usr/local/bin/melawy-linux-connection-checker"]="0:0:755"
+  ["/usr/local/bin/melawy-linux-final"]="0:0:755"
+  ["/usr/local/bin/prepare-live-desktop.sh"]="0:0:755"
+  ["/usr/local/bin/remove-nvidia"]="0:0:755"
+  ["/usr/local/bin/removeun"]="0:0:755"
+  ["/usr/local/bin/removeun-online"]="0:0:755"
+  ["/usr/local/bin/services"]="0:0:755"
+  ["/usr/local/bin/skel"]="0:0:755"
+  ["/usr/local/bin/ucode"]="0:0:755"
+  ["/usr/local/bin/vcheck"]="0:0:755"
+  )
diff --git a/syslinux/splash.png b/syslinux/splash.png
index e96f088..ddbfcc5 100644
Binary files a/syslinux/splash.png and b/syslinux/splash.png differ
diff --git a/syslinux/splash1.png b/syslinux/splash1.png
new file mode 100644
index 0000000..e96f088
Binary files /dev/null and b/syslinux/splash1.png differ
diff --git a/syslinux/splash3.png b/syslinux/splash3.png
new file mode 100644
index 0000000..ddbfcc5
Binary files /dev/null and b/syslinux/splash3.png differ