diff --git a/make_iso/00_reset_light.sh b/make_iso/00_reset_light.sh index dbdded7..63a18a1 100755 --- a/make_iso/00_reset_light.sh +++ b/make_iso/00_reset_light.sh @@ -3,6 +3,10 @@ sudo rm -rfv ../work mkdir ../work -notify-send -a "$(basename $(pwd)): Reset" -t 999999999 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" +notify-send -a "$(basename $(pwd)): Reset" -t 10000 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" echo "Ready" +if [ "$status" == 0 ]; then + sleep 5 + kill $(ps x | grep konsole | grep $0 | awk '{print $1}') +fi diff --git a/make_iso/00_reset_with_packages.sh b/make_iso/00_reset_with_packages.sh index 974f157..944332c 100755 --- a/make_iso/00_reset_with_packages.sh +++ b/make_iso/00_reset_with_packages.sh @@ -5,6 +5,10 @@ rm -v airootfs/root/packages/*.pkg.tar.* rm -v airootfs/usr/share/packages/*.pkg.tar.* mkdir ../work -notify-send -a "$(basename $(pwd)): Reset" -t 999999999 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" +notify-send -a "$(basename $(pwd)): Reset" -t 10000 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" echo "Ready" +if [ "$status" == 0 ]; then + sleep 5 + kill $(ps x | grep konsole | grep $0 | awk '{print $1}') +fi diff --git a/make_iso/01_rank_mirrorlist.sh b/make_iso/01_rank_mirrorlist.sh index bf8d664..fcc2f0d 100755 --- a/make_iso/01_rank_mirrorlist.sh +++ b/make_iso/01_rank_mirrorlist.sh @@ -6,6 +6,10 @@ sudo reflector --save /etc/pacman.d/mirrorlist -c "CA,FI,FR,DE,IS,IE,IT,JP,KZ,LV cp -vf "/etc/pacman.d/mirrorlist" "./airootfs/etc/pacman.d/" -notify-send -a "$(basename $(pwd)): Prepare" -t 999999999 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" +notify-send -a "$(basename $(pwd)): Prepare" -t 10000 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" echo "Ready" +if [ "$status" == 0 ]; then + sleep 5 + kill $(ps x | grep konsole | grep $0 | awk '{print $1}') +fi diff --git a/make_iso/02_prepare.sh b/make_iso/02_prepare.sh index 0c8b849..ac7190d 100755 --- a/make_iso/02_prepare.sh +++ b/make_iso/02_prepare.sh @@ -2,11 +2,12 @@ cp -vf "/etc/pacman.d/mirrorlist" "./airootfs/etc/pacman.d/" -sudo pacman -Sy +sudo pacman -Sy --config pacman_sys.conf sudo pacman -Sw --config pacman_sys.conf --noconfirm --cachedir "./airootfs/opt/extra-drivers" r8168 -sudo mv -vf "./airootfs/opt/extra-drivers/linux"* "./airootfs/usr/share/packages/" +# sudo mv -vf "./airootfs/opt/extra-drivers/linux"* "./airootfs/usr/share/packages/" +sudo rm -vf "./airootfs/opt/extra-drivers/linux"* packs=( dracut @@ -14,11 +15,10 @@ packs=( grub systemd-boot-dracut libxvmc - linux linux-api-headers - linux-headers - linux-xanmod-anbox - linux-xanmod-anbox-headers + linux-cachyos + linux-cachyos-headers + linux-cachyos-zfs melawy-dracut-initramfs melawy-dracut-ukify melawy-refind-menu-generator @@ -40,6 +40,10 @@ sudo paccache -rvk 1 --cachedir "./airootfs/usr/share/packages" # sudo rm "./airootfs/opt/extra-drivers/linux"* -notify-send -a "$(basename $(pwd)): Prepare" -t 999999999 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" +notify-send -a "$(basename $(pwd)): Prepare" -t 10000 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" echo "Ready" +if [ "$status" == 0 ]; then + sleep 5 + kill $(ps x | grep konsole | grep $0 | awk '{print $1}') +fi diff --git a/make_iso/03_chown.sh b/make_iso/03_chown.sh index f39379f..a924380 100755 --- a/make_iso/03_chown.sh +++ b/make_iso/03_chown.sh @@ -5,3 +5,7 @@ sudo chown -R 1000:1000 ./airootfs/usr/share/packages/ sudo chown -R 1000:1000 ../boot/iso echo "Ready" +if [ "$status" == 0 ]; then + sleep 5 + kill $(ps x | grep konsole | grep $0 | awk '{print $1}') +fi diff --git a/make_iso/04_make.sh b/make_iso/04_make.sh index c3ecc1d..3395830 100755 --- a/make_iso/04_make.sh +++ b/make_iso/04_make.sh @@ -1,12 +1,12 @@ #!/bin/bash date_tag=$(date +%Y.%m.%d) -iso_name="Melawy-linux-${date_tag}-x86_64.iso" +iso_name="Melawy-Linux-${date_tag}-x86_64.iso" mkdir -p ../sf/${date_tag} sudo ./mkarchiso_last_my -v "." -cp -vf "../work/iso/arch/pkglist.x86_64.txt" "../sf/${date_tag}/Melawy-linux-${date_tag}-pkglist.txt" +cp -vf "../work/iso/arch/pkglist.x86_64.txt" "../sf/${date_tag}/Melawy-Linux-${date_tag}-pkglist.txt" echo "Sign ../sf/${date_tag}/${iso_name}.sig ../sf/${date_tag}/${iso_name}" gpg --detach-sign --local-user BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8 --output "../sf/${date_tag}/${iso_name}.sig" "../sf/${date_tag}/${iso_name}" @@ -20,6 +20,6 @@ sha1sum "${iso_name}" > echo "sha256sum ${iso_name}" sha256sum "${iso_name}" > "${iso_name}.sha256" -notify-send -a "$(basename $(pwd)): Make" -t 999999999 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" +notify-send -a "$(basename $(pwd)): Make" -t 10000 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" echo "Ready" diff --git a/make_iso/05_sign.sh b/make_iso/05_sign.sh index ae68ec3..337b4c4 100755 --- a/make_iso/05_sign.sh +++ b/make_iso/05_sign.sh @@ -1,12 +1,12 @@ #!/bin/bash date_tag=$(date +%Y.%m.%d) -iso_name="Melawy-linux-${date_tag}-x86_64.iso" +iso_name="Melawy-Linux-${date_tag}-x86_64.iso" -cp -vf "../work/iso/arch/pkglist.x86_64.txt" "../sf/${date_tag}/Melawy-linux-${date_tag}-pkglist.txt" +cp -vf "../work/iso/arch/pkglist.x86_64.txt" "../sf/${date_tag}/Melawy-Linux-${date_tag}-pkglist.txt" echo "Sign ../sf/${date_tag}/${iso_name}.sig ../sf/${date_tag}/${iso_name}" gpg --detach-sign --local-user BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8 --output "../sf/${date_tag}/${iso_name}.sig" "../sf/${date_tag}/${iso_name}" @@ -20,6 +20,10 @@ sha1sum "${iso_name}" > echo "sha256sum ${iso_name}" sha256sum "${iso_name}" > "${iso_name}.sha256" -notify-send -a "$(basename $(pwd)): Sign" -t 999999999 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" +notify-send -a "$(basename $(pwd)): Sign" -t 10000 "finished" "$(date '+%Y.%m.%d %H:%M:%S')" echo "Ready" +if [ "$status" == 0 ]; then + sleep 5 + kill $(ps x | grep konsole | grep $0 | awk '{print $1}') +fi diff --git a/make_iso/06_chown.sh b/make_iso/06_chown.sh index 2fea8e1..4834fed 100755 --- a/make_iso/06_chown.sh +++ b/make_iso/06_chown.sh @@ -3,3 +3,7 @@ sudo chown -R 1000:1000 ../sf echo "Ready" +if [ "$status" == 0 ]; then + sleep 5 + kill $(ps x | grep konsole | grep $0 | awk '{print $1}') +fi diff --git a/make_iso/airootfs/etc/dracut.conf.d/plymouth.conf b/make_iso/airootfs/etc/dracut.conf.d/plymouth.conf index 3d019a5..20ccdf4 100644 --- a/make_iso/airootfs/etc/dracut.conf.d/plymouth.conf +++ b/make_iso/airootfs/etc/dracut.conf.d/plymouth.conf @@ -1 +1 @@ -install_items+=" /usr/lib/plymouth/label.so /usr/lib/plymouth/text.so /etc/fonts/fonts.conf /usr/share/fonts/noto/NotoSansMono-Black.ttf /usr/share/fonts/noto/NotoSansMono-Bold.ttf /usr/share/fonts/noto/NotoSansMono-Light.ttf /usr/share/fonts/noto/NotoSansMono-Medium.ttf /usr/share/fonts/noto/NotoSansMono-Regular.ttf /usr/share/fonts/noto/NotoSansMono-Thin.ttf /usr/share/fonts/noto/NotoSans-BlackItalic.ttf /usr/share/fonts/noto/NotoSans-Black.ttf /usr/share/fonts/noto/NotoSans-BoldItalic.ttf /usr/share/fonts/noto/NotoSans-Bold.ttf /usr/share/fonts/noto/NotoSans-Italic.ttf /usr/share/fonts/noto/NotoSans-LightItalic.ttf /usr/share/fonts/noto/NotoSans-Light.ttf /usr/share/fonts/noto/NotoSans-MediumItalic.ttf /usr/share/fonts/noto/NotoSans-Medium.ttf /usr/share/fonts/noto/NotoSans-Regular.ttf /usr/share/fonts/noto/NotoSans-ThinItalic.ttf /usr/share/fonts/noto/NotoSans-Thin.ttf " +install_items+=" /usr/lib/libply* /usr/lib/plymouth/* /etc/fonts/fonts.conf /usr/share/fonts/noto/NotoSansMono-Black.ttf /usr/share/fonts/noto/NotoSansMono-Bold.ttf /usr/share/fonts/noto/NotoSansMono-Light.ttf /usr/share/fonts/noto/NotoSansMono-Medium.ttf /usr/share/fonts/noto/NotoSansMono-Regular.ttf /usr/share/fonts/noto/NotoSansMono-Thin.ttf /usr/share/fonts/noto/NotoSans-BlackItalic.ttf /usr/share/fonts/noto/NotoSans-Black.ttf /usr/share/fonts/noto/NotoSans-BoldItalic.ttf /usr/share/fonts/noto/NotoSans-Bold.ttf /usr/share/fonts/noto/NotoSans-Italic.ttf /usr/share/fonts/noto/NotoSans-LightItalic.ttf /usr/share/fonts/noto/NotoSans-Light.ttf /usr/share/fonts/noto/NotoSans-MediumItalic.ttf /usr/share/fonts/noto/NotoSans-Medium.ttf /usr/share/fonts/noto/NotoSans-Regular.ttf /usr/share/fonts/noto/NotoSans-ThinItalic.ttf /usr/share/fonts/noto/NotoSans-Thin.ttf " diff --git a/make_iso/airootfs/etc/environment b/make_iso/airootfs/etc/environment index ff3721a..9141171 100644 --- a/make_iso/airootfs/etc/environment +++ b/make_iso/airootfs/etc/environment @@ -15,3 +15,4 @@ GTK_USE_PORTAL=1 BROWSER=firefox EDITOR=nano ZPOOL_VDEV_NAME_PATH=1 +vm.swappiness=100 diff --git a/make_iso/airootfs/etc/makepkg-clang-without-lto.conf b/make_iso/airootfs/etc/makepkg-clang-without-lto.conf new file mode 100644 index 0000000..c5a248e --- /dev/null +++ b/make_iso/airootfs/etc/makepkg-clang-without-lto.conf @@ -0,0 +1,191 @@ +#!/hint/bash +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'rsync::/usr/bin/rsync --no-motd -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/wget + +#-- The package required by makepkg to download VCS sources +# Format: 'protocol::package' +VCSCLIENTS=('bzr::breezy' + 'fossil::fossil' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-gnu" + +export CC=clang +export CXX=clang++ +export LD=ld.lld +export CC_LD=lld +export CXX_LD=lld +export AR=llvm-ar +export NM=llvm-nm +export STRIP=llvm-strip +export OBJCOPY=llvm-objcopy +export OBJDUMP=llvm-objdump +export READELF=llvm-readelf +export RANLIB=llvm-ranlib +export HOSTCC=clang +export HOSTCXX=clang++ +export HOSTAR=llvm-ar +export HOSTLD=ld.lld +export LLVM=1 +export LLVM_IAS=1 + +#-- Compiler and Linker Flags +#CPPFLAGS="" + +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection" + +#CFLAGS="-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions \ +# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ +# -fstack-clash-protection -fcf-protection" + +CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" + +LDFLAGS="-fuse-ld=lld -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" + +LTOFLAGS="-flto=auto" + +RUSTFLAGS="-C opt-level=3" + +#-- Make Flags: change this for DistCC/SMP systems +MAKEFLAGS="-j$(nproc) -l$(nproc)" + +#-- Debugging flags +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" +DEBUG_RUSTFLAGS="-C debuginfo=3" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) +# A negated environment option will do the opposite of the comments below. +# +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +#-- sign: Generate PGP signature file +# +#BUILDENV=(!distcc color !ccache check !sign) +BUILDENV=(!distcc color ccache check !sign) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" +# +#-- Specify a directory for package building. +#BUILDDIR=/tmp/makepkg + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- staticlibs: Leave static library (.a) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +#-- debug: Add debugging flags as specified in DEBUG_* variables +#-- lto: Add compile flags for building with link time optimization +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto) + +#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 +INTEGRITY_CHECK=(sha256) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Log files: specify a fixed directory where all log files will be placed +#LOGDEST=/home/makepkglogs +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe " +#-- Specify a key to use for package signing +#GPGKEY="" + +######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -v -c -z - --threads=0 -9 -e) +COMPRESSZST=(zstd -v -c -z - --threads=0) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) +COMPRESSLZ4=(lz4 -q) +COMPRESSLZ=(lzip -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +#PKGEXT='.pkg.tar.zst' +PKGEXT='.pkg.tar.xz' +SRCEXT='.src.tar.gz' + +######################################################################### +# OTHER +######################################################################### +# +#-- Command used to run pacman as root, instead of trying sudo and su +#PACMAN_AUTH=() diff --git a/make_iso/airootfs/etc/makepkg-clang.conf b/make_iso/airootfs/etc/makepkg-clang.conf new file mode 100644 index 0000000..57b2dfe --- /dev/null +++ b/make_iso/airootfs/etc/makepkg-clang.conf @@ -0,0 +1,191 @@ +#!/hint/bash +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'rsync::/usr/bin/rsync --no-motd -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/wget + +#-- The package required by makepkg to download VCS sources +# Format: 'protocol::package' +VCSCLIENTS=('bzr::breezy' + 'fossil::fossil' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-gnu" + +export CC=clang +export CXX=clang++ +export LD=ld.lld +export CC_LD=lld +export CXX_LD=lld +export AR=llvm-ar +export NM=llvm-nm +export STRIP=llvm-strip +export OBJCOPY=llvm-objcopy +export OBJDUMP=llvm-objdump +export READELF=llvm-readelf +export RANLIB=llvm-ranlib +export HOSTCC=clang +export HOSTCXX=clang++ +export HOSTAR=llvm-ar +export HOSTLD=ld.lld +export LLVM=1 +export LLVM_IAS=1 + +#-- Compiler and Linker Flags +#CPPFLAGS="" + +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection" + +#CFLAGS="-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions \ +# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ +# -fstack-clash-protection -fcf-protection" + +CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" + +LDFLAGS="-fuse-ld=lld -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" + +LTOFLAGS="-flto=auto" + +RUSTFLAGS="-C opt-level=3" + +#-- Make Flags: change this for DistCC/SMP systems +MAKEFLAGS="-j$(nproc) -l$(nproc)" + +#-- Debugging flags +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" +DEBUG_RUSTFLAGS="-C debuginfo=3" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) +# A negated environment option will do the opposite of the comments below. +# +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +#-- sign: Generate PGP signature file +# +#BUILDENV=(!distcc color !ccache check !sign) +BUILDENV=(!distcc color ccache check !sign) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" +# +#-- Specify a directory for package building. +#BUILDDIR=/tmp/makepkg + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- staticlibs: Leave static library (.a) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +#-- debug: Add debugging flags as specified in DEBUG_* variables +#-- lto: Add compile flags for building with link time optimization +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) + +#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 +INTEGRITY_CHECK=(sha256) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Log files: specify a fixed directory where all log files will be placed +#LOGDEST=/home/makepkglogs +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe " +#-- Specify a key to use for package signing +#GPGKEY="" + +######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -v -c -z - --threads=0 -9 -e) +COMPRESSZST=(zstd -v -c -z - --threads=0) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) +COMPRESSLZ4=(lz4 -q) +COMPRESSLZ=(lzip -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +#PKGEXT='.pkg.tar.zst' +PKGEXT='.pkg.tar.xz' +SRCEXT='.src.tar.gz' + +######################################################################### +# OTHER +######################################################################### +# +#-- Command used to run pacman as root, instead of trying sudo and su +#PACMAN_AUTH=() diff --git a/make_iso/airootfs/etc/makepkg-gcc-without-lto.conf b/make_iso/airootfs/etc/makepkg-gcc-without-lto.conf new file mode 100644 index 0000000..4f60b84 --- /dev/null +++ b/make_iso/airootfs/etc/makepkg-gcc-without-lto.conf @@ -0,0 +1,172 @@ +#!/hint/bash +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'rsync::/usr/bin/rsync --no-motd -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/wget + +#-- The package required by makepkg to download VCS sources +# Format: 'protocol::package' +VCSCLIENTS=('bzr::breezy' + 'fossil::fossil' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-gnu" + +#-- Compiler and Linker Flags +#CPPFLAGS="" + +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection" + +#CFLAGS="-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions \ +# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ +# -fstack-clash-protection -fcf-protection" + +CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" + +LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" + +LTOFLAGS="-flto=auto" + +RUSTFLAGS="-C opt-level=3" + +#-- Make Flags: change this for DistCC/SMP systems +MAKEFLAGS="-j$(nproc) -l$(nproc)" + +#-- Debugging flags +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" +DEBUG_RUSTFLAGS="-C debuginfo=3" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) +# A negated environment option will do the opposite of the comments below. +# +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +#-- sign: Generate PGP signature file +# +#BUILDENV=(!distcc color !ccache check !sign) +BUILDENV=(!distcc color ccache check !sign) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" +# +#-- Specify a directory for package building. +#BUILDDIR=/tmp/makepkg + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- staticlibs: Leave static library (.a) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +#-- debug: Add debugging flags as specified in DEBUG_* variables +#-- lto: Add compile flags for building with link time optimization +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto) + +#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 +INTEGRITY_CHECK=(sha256) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Log files: specify a fixed directory where all log files will be placed +#LOGDEST=/home/makepkglogs +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe " +#-- Specify a key to use for package signing +#GPGKEY="" + +######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -v -c -z - --threads=0 -9 -e) +COMPRESSZST=(zstd -v -c -z - --threads=0) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) +COMPRESSLZ4=(lz4 -q) +COMPRESSLZ=(lzip -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +#PKGEXT='.pkg.tar.zst' +PKGEXT='.pkg.tar.xz' +SRCEXT='.src.tar.gz' + +######################################################################### +# OTHER +######################################################################### +# +#-- Command used to run pacman as root, instead of trying sudo and su +#PACMAN_AUTH=() diff --git a/make_iso/airootfs/etc/makepkg-gcc.conf b/make_iso/airootfs/etc/makepkg-gcc.conf new file mode 100644 index 0000000..1f38512 --- /dev/null +++ b/make_iso/airootfs/etc/makepkg-gcc.conf @@ -0,0 +1,172 @@ +#!/hint/bash +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'rsync::/usr/bin/rsync --no-motd -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/wget + +#-- The package required by makepkg to download VCS sources +# Format: 'protocol::package' +VCSCLIENTS=('bzr::breezy' + 'fossil::fossil' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-gnu" + +#-- Compiler and Linker Flags +#CPPFLAGS="" + +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection" + +#CFLAGS="-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions \ +# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ +# -fstack-clash-protection -fcf-protection" + +CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" + +LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" + +LTOFLAGS="-flto=auto" + +RUSTFLAGS="-C opt-level=3" + +#-- Make Flags: change this for DistCC/SMP systems +MAKEFLAGS="-j$(nproc) -l$(nproc)" + +#-- Debugging flags +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" +DEBUG_RUSTFLAGS="-C debuginfo=3" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) +# A negated environment option will do the opposite of the comments below. +# +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +#-- sign: Generate PGP signature file +# +#BUILDENV=(!distcc color !ccache check !sign) +BUILDENV=(!distcc color ccache check !sign) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" +# +#-- Specify a directory for package building. +#BUILDDIR=/tmp/makepkg + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- staticlibs: Leave static library (.a) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +#-- debug: Add debugging flags as specified in DEBUG_* variables +#-- lto: Add compile flags for building with link time optimization +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) + +#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 +INTEGRITY_CHECK=(sha256) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Log files: specify a fixed directory where all log files will be placed +#LOGDEST=/home/makepkglogs +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe " +#-- Specify a key to use for package signing +#GPGKEY="" + +######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -v -c -z - --threads=0 -9 -e) +COMPRESSZST=(zstd -v -c -z - --threads=0) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) +COMPRESSLZ4=(lz4 -q) +COMPRESSLZ=(lzip -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +#PKGEXT='.pkg.tar.zst' +PKGEXT='.pkg.tar.xz' +SRCEXT='.src.tar.gz' + +######################################################################### +# OTHER +######################################################################### +# +#-- Command used to run pacman as root, instead of trying sudo and su +#PACMAN_AUTH=() diff --git a/make_iso/airootfs/etc/makepkg.conf b/make_iso/airootfs/etc/makepkg.conf index 25b8bb6..57b2dfe 100644 --- a/make_iso/airootfs/etc/makepkg.conf +++ b/make_iso/airootfs/etc/makepkg.conf @@ -23,7 +23,7 @@ DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' #-- The package required by makepkg to download VCS sources # Format: 'protocol::package' -VCSCLIENTS=('bzr::bzr' +VCSCLIENTS=('bzr::breezy' 'fossil::fossil' 'git::git' 'hg::mercurial' @@ -36,21 +36,43 @@ VCSCLIENTS=('bzr::bzr' CARCH="x86_64" CHOST="x86_64-pc-linux-gnu" +export CC=clang +export CXX=clang++ +export LD=ld.lld +export CC_LD=lld +export CXX_LD=lld +export AR=llvm-ar +export NM=llvm-nm +export STRIP=llvm-strip +export OBJCOPY=llvm-objcopy +export OBJDUMP=llvm-objdump +export READELF=llvm-readelf +export RANLIB=llvm-ranlib +export HOSTCC=clang +export HOSTCXX=clang++ +export HOSTAR=llvm-ar +export HOSTLD=ld.lld +export LLVM=1 +export LLVM_IAS=1 + #-- Compiler and Linker Flags #CPPFLAGS="" -export CC="clang" -export CXX="clang++" +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection" -CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection" +#CFLAGS="-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions \ +# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ +# -fstack-clash-protection -fcf-protection" CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" -#CFLAGS="-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection" - LDFLAGS="-fuse-ld=lld -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" + LTOFLAGS="-flto=auto" -RUSTFLAGS="-C opt-level=2" + +RUSTFLAGS="-C opt-level=3" #-- Make Flags: change this for DistCC/SMP systems MAKEFLAGS="-j$(nproc) -l$(nproc)" @@ -58,7 +80,7 @@ MAKEFLAGS="-j$(nproc) -l$(nproc)" #-- Debugging flags DEBUG_CFLAGS="-g" DEBUG_CXXFLAGS="$DEBUG_CFLAGS" -DEBUG_RUSTFLAGS="-C debuginfo=2" +DEBUG_RUSTFLAGS="-C debuginfo=3" ######################################################################### # BUILD ENVIRONMENT diff --git a/make_iso/airootfs/etc/mkinitcpio.d/linux-cachyos.preset b/make_iso/airootfs/etc/mkinitcpio.d/linux-cachyos.preset new file mode 100644 index 0000000..4695528 --- /dev/null +++ b/make_iso/airootfs/etc/mkinitcpio.d/linux-cachyos.preset @@ -0,0 +1,24 @@ +# mkinitcpio preset file for the 'Melawy Linux' package on archiso + +KNAME="cachyos" + +KVER=$(ls /usr/lib/modules/ | grep $KNAME | sort -V | tail -n 1) + +if [[ -z "$KVER" ]]; then + exit +fi + +cp -vf "/usr/lib/modules/$KVER/vmlinuz" "/boot/vmlinuz-linux-cachyos" + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="/usr/lib/modules/$KVER/vmlinuz" +ALL_kver="/boot/vmlinuz-linux-cachyos" +ALL_microcode=(/boot/*-ucode.img) + +PRESETS=('archiso') + +#archiso_config="/etc/mkinitcpio.conf" +archiso_image="/boot/initramfs-linux-cachyos.img" +#archiso_uki="/efi/EFI/Linux/linux-cachyos.efi" +archiso_uki="/boot/linux-cachyos.efi" +archiso_options="--cmdline /proc/cmdline" diff --git a/make_iso/airootfs/etc/pacman-cache.conf b/make_iso/airootfs/etc/pacman-cache.conf index 71d6e4e..f7d8743 100644 --- a/make_iso/airootfs/etc/pacman-cache.conf +++ b/make_iso/airootfs/etc/pacman-cache.conf @@ -88,12 +88,22 @@ LocalFileSigLevel = Optional [melawy] Include = /etc/pacman.d/melawy-linux-mirrorlist +[melawy-core] +Include = /etc/pacman.d/melawy-linux-mirrorlist + [melawy-3party] Include = /etc/pacman.d/melawy-linux-mirrorlist +[melawy-archlinux] +Include = /etc/pacman.d/melawy-linux-mirrorlist + +[cachyos] +Include = /etc/pacman.d/cachyos-mirrorlist + [cache] SigLevel = Optional Server = http://192.168.1.250/$repo/$arch +Server = https://repo.melawy.ru/$repo/$arch # The testing repositories are disabled by default. To enable, uncomment the # repo name header and Include lines. You can add preferred servers immediately @@ -141,6 +151,9 @@ Include = /etc/pacman.d/chaotic-mirrorlist [chaotic-aur] Include = /etc/pacman.d/chaotic-mirrorlist +[endeavouros] +Include = /etc/pacman.d/endeavouros-mirrorlist + # [custom] # SigLevel = Optional TrustAll # Server = file:///home/custompkgs diff --git a/make_iso/airootfs/etc/pacman-std.conf b/make_iso/airootfs/etc/pacman-std.conf index 594244d..150b559 100644 --- a/make_iso/airootfs/etc/pacman-std.conf +++ b/make_iso/airootfs/etc/pacman-std.conf @@ -88,12 +88,22 @@ LocalFileSigLevel = Optional [melawy] Include = /etc/pacman.d/melawy-linux-mirrorlist +[melawy-core] +Include = /etc/pacman.d/melawy-linux-mirrorlist + [melawy-3party] Include = /etc/pacman.d/melawy-linux-mirrorlist +[melawy-archlinux] +Include = /etc/pacman.d/melawy-linux-mirrorlist + +[cachyos] +Include = /etc/pacman.d/cachyos-mirrorlist + # [cache] # SigLevel = Optional # Server = http://192.168.1.250/$repo/$arch +# Server = https://repo.melawy.ru/$repo/$arch # The testing repositories are disabled by default. To enable, uncomment the # repo name header and Include lines. You can add preferred servers immediately @@ -141,6 +151,9 @@ Include = /etc/pacman.d/chaotic-mirrorlist [chaotic-aur] Include = /etc/pacman.d/chaotic-mirrorlist +[endeavouros] +Include = /etc/pacman.d/endeavouros-mirrorlist + # [custom] # SigLevel = Optional TrustAll # Server = file:///home/custompkgs diff --git a/make_iso/airootfs/etc/pacman.conf b/make_iso/airootfs/etc/pacman.conf index 594244d..150b559 100644 --- a/make_iso/airootfs/etc/pacman.conf +++ b/make_iso/airootfs/etc/pacman.conf @@ -88,12 +88,22 @@ LocalFileSigLevel = Optional [melawy] Include = /etc/pacman.d/melawy-linux-mirrorlist +[melawy-core] +Include = /etc/pacman.d/melawy-linux-mirrorlist + [melawy-3party] Include = /etc/pacman.d/melawy-linux-mirrorlist +[melawy-archlinux] +Include = /etc/pacman.d/melawy-linux-mirrorlist + +[cachyos] +Include = /etc/pacman.d/cachyos-mirrorlist + # [cache] # SigLevel = Optional # Server = http://192.168.1.250/$repo/$arch +# Server = https://repo.melawy.ru/$repo/$arch # The testing repositories are disabled by default. To enable, uncomment the # repo name header and Include lines. You can add preferred servers immediately @@ -141,6 +151,9 @@ Include = /etc/pacman.d/chaotic-mirrorlist [chaotic-aur] Include = /etc/pacman.d/chaotic-mirrorlist +[endeavouros] +Include = /etc/pacman.d/endeavouros-mirrorlist + # [custom] # SigLevel = Optional TrustAll # Server = file:///home/custompkgs diff --git a/make_iso/airootfs/etc/sddm.conf.d/10-wayland.conf b/make_iso/airootfs/etc/sddm.conf.d/10-wayland.conf new file mode 100644 index 0000000..892dd88 --- /dev/null +++ b/make_iso/airootfs/etc/sddm.conf.d/10-wayland.conf @@ -0,0 +1,4 @@ +GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell + +[Wayland] +CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1 --inputmethod qtvirtualkeyboard diff --git a/make_iso/airootfs/etc/systemd/system/dbus-org.freedesktop.oom1.service b/make_iso/airootfs/etc/systemd/system/dbus-org.freedesktop.oom1.service new file mode 120000 index 0000000..e3aabbb --- /dev/null +++ b/make_iso/airootfs/etc/systemd/system/dbus-org.freedesktop.oom1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-oomd.service \ No newline at end of file diff --git a/make_iso/airootfs/etc/systemd/system/dbus.service b/make_iso/airootfs/etc/systemd/system/dbus.service new file mode 120000 index 0000000..fc6fe00 --- /dev/null +++ b/make_iso/airootfs/etc/systemd/system/dbus.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/dbus-broker.service \ No newline at end of file diff --git a/make_iso/airootfs/etc/systemd/system/local-fs.target.wants/ananicy-cpp.service b/make_iso/airootfs/etc/systemd/system/local-fs.target.wants/ananicy-cpp.service new file mode 120000 index 0000000..6692487 --- /dev/null +++ b/make_iso/airootfs/etc/systemd/system/local-fs.target.wants/ananicy-cpp.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/ananicy-cpp.service \ No newline at end of file diff --git a/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/bpftune.service b/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/bpftune.service new file mode 120000 index 0000000..25d8488 --- /dev/null +++ b/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/bpftune.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/bpftune.service \ No newline at end of file diff --git a/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/irqbalance.service b/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/irqbalance.service new file mode 120000 index 0000000..2bf4adc --- /dev/null +++ b/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/irqbalance.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/irqbalance.service \ No newline at end of file diff --git a/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/preload.service b/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/preload.service new file mode 120000 index 0000000..ae4b237 --- /dev/null +++ b/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/preload.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/preload.service \ No newline at end of file diff --git a/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-oomd.service b/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-oomd.service new file mode 120000 index 0000000..e3aabbb --- /dev/null +++ b/make_iso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-oomd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-oomd.service \ No newline at end of file diff --git a/make_iso/airootfs/usr/local/bin/copy-refind-theme_v1 b/make_iso/airootfs/usr/local/bin/copy-refind-theme_v1 index abd6ca4..97935fd 100755 --- a/make_iso/airootfs/usr/local/bin/copy-refind-theme_v1 +++ b/make_iso/airootfs/usr/local/bin/copy-refind-theme_v1 @@ -51,7 +51,7 @@ if ! __has_esp__; then fi -REFIND_DIR=$(find "$ESP" -type d -iname refind) +REFIND_DIR=$(find "${ESP}" -type d -iname refind) if ! [[ -d "${REFIND_DIR}" ]]; then echo "rEFInd not installed in $ESP" >&2 exit 1 @@ -77,35 +77,35 @@ echo "Installing themes in ${REFIND_DIR}" mkdir -p "${REFIND_DIR}/themes" mkdir -p "${EFI_BOOT_DIR}/themes" -cp -vrf "$install_dir/." "${REFIND_DIR}/themes/." -cp -vrf "$install_dir/." "${EFI_BOOT_DIR}/themes/." +cp -vrf "${install_dir}/." "${REFIND_DIR}/themes/." +cp -vrf "${install_dir}/." "${EFI_BOOT_DIR}/themes/." if [ -f "${REFIND_DIR}/refind_x64.efi" ]; then - # # Remove all from "${EFI_BOOT_DIR}" except "themes" - # f_list=$(ls -1 "${EFI_BOOT_DIR}" | grep -v "themes") - # - # for i in ${f_list[@]} - # do - # rm -vr "${EFI_BOOT_DIR}/${i}" - # done - # - # unset f_list - # - # # Copy all from "${REFIND_DIR}" to "${EFI_BOOT_DIR}" except "themes" - # f_list=$(ls -1 "${REFIND_DIR}" | grep -v "themes") - # - # for i in ${f_list[@]} - # do - # if [ -f ${REFIND_DIR}/${i} ]; then - # cp -vf "${REFIND_DIR}/${i}" "${EFI_BOOT_DIR}/${i}" - # fi - # - # if [ -d ${REFIND_DIR}/${i} ]; then - # cp -vrf "${REFIND_DIR}/${i}" "${EFI_BOOT_DIR}/${i}" - # fi - # done - # - # unset f_list + # Remove all from "${EFI_BOOT_DIR}" except "themes" +# f_list=$(ls -1 "${EFI_BOOT_DIR}" | grep -v "themes") +# +# for i in ${f_list[@]} +# do +# rm -vr "${EFI_BOOT_DIR}/${i}" +# done +# +# unset f_list + + # Copy all from "${REFIND_DIR}" to "${EFI_BOOT_DIR}" except "themes" + f_list=$(ls -1 "${REFIND_DIR}" | grep -v "themes") + + for i in "${f_list[@]}" + do + if [ -f "${REFIND_DIR}/${i}" ]; then + cp -vf "${REFIND_DIR}/${i}" "${EFI_BOOT_DIR}/${i}" + fi + + if [ -d "${REFIND_DIR}/${i}" ]; then + cp -vrf "${REFIND_DIR}/${i}" "${EFI_BOOT_DIR}/${i}" + fi + done + + unset f_list cp -vf "${REFIND_DIR}/refind_x64.efi" "${EFI_BOOT_DIR}/bootx64.efi" fi @@ -115,18 +115,18 @@ REFIND_CONF_PATH="${REFIND_DIR}/refind.conf" cp -vf "/etc/refind-menu-generator/refind.conf" "${REFIND_DIR}/refind.conf" -RESULT=$(grep "theme" "$REFIND_CONF_PATH") +RESULT=$(grep "theme" "${REFIND_CONF_PATH}") if [[ "$?" = "0" ]]; then - CURRENT_THEME=$(echo $RESULT | cut -d"/" -f2) + CURRENT_THEME=$(echo "${RESULT}" | cut -d"/" -f2) if [[ "$?" == "0" ]]; then - sed -e "s/$CURRENT_THEME/$THEME_NAME/g" -i "$REFIND_CONF_PATH" + sed -e "s/${CURRENT_THEME}/${THEME_NAME}/g" -i "${REFIND_CONF_PATH}" fi else - if [[ -z "$(tail -n 1 -c 1 $REFIND_CONF_PATH)" ]];then - echo "include themes/$THEME_NAME/theme.conf" >> "$REFIND_CONF_PATH" + if [[ -z "$(tail -n 1 -c 1 ${REFIND_CONF_PATH})" ]];then + echo "include themes/${THEME_NAME}/theme.conf" >> "${REFIND_CONF_PATH}" else - echo -e "\ninclude themes/$THEME_NAME/theme.conf" >> "$REFIND_CONF_PATH" + echo -e "\ninclude themes/${THEME_NAME}/theme.conf" >> "${REFIND_CONF_PATH}" fi fi diff --git a/make_iso/airootfs/usr/local/bin/copy-refind-theme_v2 b/make_iso/airootfs/usr/local/bin/copy-refind-theme_v2 index b5cad0d..342a8fb 100755 --- a/make_iso/airootfs/usr/local/bin/copy-refind-theme_v2 +++ b/make_iso/airootfs/usr/local/bin/copy-refind-theme_v2 @@ -1,28 +1,41 @@ #!/bin/bash -exit 0 +efi_refind_path=( + /boot/EFI/refind + /efi/EFI/refind + /boot/efi/EFI/refind +) -if [ -d '/boot/EFI/refind/' ] && [ -d /usr/share/refind/themes ]; then - cp -vrf /usr/share/refind/themes /boot/EFI/refind/ -fi +for REFIND_DIR in "${efi_refind_path[@]}"; do + echo "${REFIND_DIR}" -if [ -d '/efi/EFI/refind/' ] && [ -d /usr/share/refind/themes ]; then - cp -vrf /usr/share/refind/themes /efi/EFI/refind/ -fi + if [ -d "${REFIND_DIR}" ]; then + if [ -d "$(dirname ${REFIND_DIR})/boot" ]; then + EFI_BOOT_DIR="$(dirname ${REFIND_DIR})/boot" -if [ -d '/boot/efi/EFI/refind/' ] && [ -d /usr/share/refind/themes ]; then - cp -vrf /usr/share/refind/themes /boot/efi/EFI/refind/ -fi + elif [ -d "$(dirname ${REFIND_DIR})/Boot" ]; then + EFI_BOOT_DIR="$(dirname ${REFIND_DIR})/Boot" + elif [ -d "$(dirname ${REFIND_DIR})/BOOT" ]; then + EFI_BOOT_DIR="$(dirname ${REFIND_DIR})/BOOT" -if [ -d '/boot/EFI/refind/' ] && [ -f /etc/refind-menu-generator/refind.conf ]; then - cp -vf /etc/refind-menu-generator/refind.conf /boot/EFI/refind/ -fi + else + EFI_BOOT_DIR="$(dirname ${REFIND_DIR})/boot" + mkdir -p "${EFI_BOOT_DIR}" + fi -if [ -d '/efi/EFI/refind/' ] && [ -f /etc/refind-menu-generator/refind.conf ]; then - cp -vf /etc/refind-menu-generator/refind.conf /efi/EFI/refind/ -fi + if [ -d "/usr/share/refind/themes" ]; then + mkdir -p "${REFIND_DIR}/themes" + cp -vrf "/usr/share/refind/themes/." "${REFIND_DIR}/themes/." -if [ -d '/boot/efi/EFI/refind/' ] && [ -f /etc/refind-menu-generator/refind.conf ]; then - cp -vf /etc/refind-menu-generator/refind.conf /boot/efi/EFI/refind/ -fi + cp -vrf "${REFIND_DIR}/." "${EFI_BOOT_DIR}/." + fi + + if [ -f "/etc/refind-menu-generator/refind.conf" ]; then + cp -vf "/etc/refind-menu-generator/refind.conf" "${REFIND_DIR}/" + fi + + cp -vf "${REFIND_DIR}/refind_x64.efi" "${EFI_BOOT_DIR}/bootx64.efi" + rm "${EFI_BOOT_DIR}/refind_x64.efi" + fi +done diff --git a/make_iso/airootfs/var/lib/sddm/.config/kcminputrc b/make_iso/airootfs/var/lib/sddm/.config/kcminputrc new file mode 100644 index 0000000..03851aa --- /dev/null +++ b/make_iso/airootfs/var/lib/sddm/.config/kcminputrc @@ -0,0 +1,11 @@ +[$Version] +update_info=delete_cursor_old_default_size.upd:DeleteCursorOldDefaultSize,kcminputrc_fix_botched_5_21_0.upd:kcminputrc_fix_botched_5_21_0_pre,kcminputrc_fix_botched_5_21_0.upd:kcminputrc_fix_botched_5_21_0,kcminputrc_repeat.upd:kcminputrc_migrate_key_repeat + +[Keyboard] +NumLock=0 + +[Mouse] +X11LibInputXAccelProfileFlat=true + +[Tmp] +update_info=delete_cursor_old_default_size.upd:DeleteCursorOldDefaultSize diff --git a/make_iso/efiboot/MokManager.efi b/make_iso/efiboot/MokManager.efi deleted file mode 100644 index a2d4e9c..0000000 Binary files a/make_iso/efiboot/MokManager.efi and /dev/null differ diff --git a/make_iso/efiboot/loader/entries/01-archiso-x86_64-linux.conf b/make_iso/efiboot/loader/entries/01-archiso-x86_64-linux.conf index f35968c..9dd05f3 100644 --- a/make_iso/efiboot/loader/entries/01-archiso-x86_64-linux.conf +++ b/make_iso/efiboot/loader/entries/01-archiso-x86_64-linux.conf @@ -1,7 +1,7 @@ title Melawy Linux x86_64 UEFI Default sort-key 01 -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos initrd /%INSTALL_DIR%/boot/intel-ucode.img initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 nvme_load=yes quiet splash bgrt_disable add_efi_memmap diff --git a/make_iso/efiboot/loader/entries/02-archiso-x86_64-linux-nv.conf b/make_iso/efiboot/loader/entries/02-archiso-x86_64-linux-nv.conf index fd2543b..a807af7 100644 --- a/make_iso/efiboot/loader/entries/02-archiso-x86_64-linux-nv.conf +++ b/make_iso/efiboot/loader/entries/02-archiso-x86_64-linux-nv.conf @@ -1,7 +1,7 @@ title Melawy Linux x86_64 UEFI NVIDIA (latest cards only) sort-key 02 -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos initrd /%INSTALL_DIR%/boot/intel-ucode.img initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n nvidia nvidia-drm.modeset=1 nouveau.modeset=0 i915.modeset=1 radeon.modeset=1 nvme_load=yes module_blacklist=pcspkr quiet splash bgrt_disable add_efi_memmap diff --git a/make_iso/efiboot/loader/entries/03-archiso-x86_64-efi.conf b/make_iso/efiboot/loader/entries/03-archiso-x86_64-efi.conf index 996833b..f672209 100644 --- a/make_iso/efiboot/loader/entries/03-archiso-x86_64-efi.conf +++ b/make_iso/efiboot/loader/entries/03-archiso-x86_64-efi.conf @@ -1,4 +1,4 @@ title Melawy Linux x86_64 UEFI EFI Default sort-key 03 -efi /%INSTALL_DIR%/boot/x86_64/linux-xanmod-anbox.efi +efi /%INSTALL_DIR%/boot/x86_64/linux-cachyos.efi options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 nvme_load=yes quiet splash bgrt_disable add_efi_memmap diff --git a/make_iso/efiboot/loader/entries/04-archiso-x86_64-efi-nv.conf b/make_iso/efiboot/loader/entries/04-archiso-x86_64-efi-nv.conf index 4be4b3a..ffd3a44 100644 --- a/make_iso/efiboot/loader/entries/04-archiso-x86_64-efi-nv.conf +++ b/make_iso/efiboot/loader/entries/04-archiso-x86_64-efi-nv.conf @@ -1,4 +1,4 @@ title Melawy Linux x86_64 UEFI EFI NVIDIA (latest cards only) sort-key 04 -efi /%INSTALL_DIR%/boot/x86_64/linux-xanmod-anbox.efi +efi /%INSTALL_DIR%/boot/x86_64/linux-cachyos.efi options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n nvidia nvidia-drm.modeset=1 nouveau.modeset=0 i915.modeset=1 radeon.modeset=1 nvme_load=yes module_blacklist=pcspkr quiet splash bgrt_disable add_efi_memmap diff --git a/make_iso/grub/grub.cfg b/make_iso/grub/grub.cfg index 50aa5d4..1ed51a2 100644 --- a/make_iso/grub/grub.cfg +++ b/make_iso/grub/grub.cfg @@ -44,14 +44,14 @@ play 600 988 1 1319 4 menuentry "Melawy Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'Melawy Linux' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n quiet splash bgrt_disable add_efi_memmap - initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n quiet splash bgrt_disable add_efi_memmap + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img } menuentry "Melawy Linux install medium with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'Melawy-accessibility' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} accessibility=on cow_spacesize=4G copytoram=n quiet splash bgrt_disable add_efi_memmap - initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} accessibility=on cow_spacesize=4G copytoram=n quiet splash bgrt_disable add_efi_memmap + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img } if [ "${grub_platform}" == "efi" ]; then diff --git a/make_iso/netinstall.yaml b/make_iso/netinstall.yaml index 32b6c67..e0b606a 100644 --- a/make_iso/netinstall.yaml +++ b/make_iso/netinstall.yaml @@ -6,13 +6,20 @@ critical: true packages: - archlinux-keyring + - melawy-linux-keyring + - melawy-linux-mirrorlist + - cachyos-keyring + - cachyos-mirrorlist - arcolinux-keyring - arcolinux-mirrorlist-git + - chaotic-keyring + - chaotic-mirrorlist + - endeavouros-keyring + - endeavouros-mirrorlist + - base - base-devel - busybox - - chaotic-keyring - - chaotic-mirrorlist - chwd - chwd-db - dracut @@ -20,18 +27,10 @@ - iptables-nft - linux-firmware - linux-firmware-marvell - - linux-xanmod-anbox - - linux-xanmod-anbox-headers - - melawy-branding - - melawy-check-reboot-required - - melawy-dracut-initramfs - - melawy-dracut-ukify - - melawy-etc-skel-std-powerman-kvantum - - melawy-skel-root - - melawy-linux-keyring - - melawy-linux-mirrorlist - - melawy-refind-menu-generator - - melawy-welcome + - linux-api-headers + - linux-cachyos + - linux-cachyos-headers + - linux-cachyos-zfs - pacman - pacman-contrib - pacman-mirrorlist @@ -47,6 +46,39 @@ - fwupd - fwupd-efi + - melawy-branding + - melawy-check-reboot-required + - melawy-dracut-initramfs + - melawy-dracut-ukify + - melawy-etc-skel-std-powerman-kvantum + - melawy-skel-root + - melawy-refind-menu-generator + - melawy-welcome + +- name: "Performance" + description: "needed Melawy Linux packages" + hidden: true + expanded: false + selected: true + critical: true + packages: + - uksmd + - uksmdstats + # - performance-tweaks + - powersave-tweaks + - dbus-broker + - zram-generator + - bpftune + - ananicy-cpp + - ananicy-rules + - bpftune + - irqbalance + - preload + - systemd-oomd-defaults + - realtime-privileges + - cachyos-settings + - lua-filesystem + - name: "Terminal-Base + Common packages" description: "Recommended. Don't change unless you know what you're doing." hidden: true @@ -105,6 +137,7 @@ selected: true packages: - btrfs-assistant + - btrfsmaintenance - btrfs-snapshots - timeshift - timeshift-autosnap @@ -255,6 +288,7 @@ - pipewire-alsa - pipewire-jack - pipewire-pulse + - lib32-pipewire - pipewire-support - rtkit - wireplumber @@ -393,6 +427,12 @@ - melawy-plymouth-theme-hard-install-fenek - melawy-refind-theme-hard-install-fenek + - name: "Window decorators" + selected: true + packages: + - klassy + - roundedsbe + - name: "Base desktop theme" selected: true packages: @@ -566,22 +606,22 @@ packages: - appimagelauncher - downgrade + - topgrade - flatpak - ocs-url - pace - - pamac-cli - - pamac-gtk - - libpamac - - libpamac-flatpak-plugin - - libpamac-snap-plugin + - pamac-all + - melawy-pamac-helper - paru - pkgfile - rebuild-detector - reflector - reflector-simple + - rate-mirrors - snapd - snapd-glib - yay + - paclast - name: "Browsers and language package" description: "Add firefox and language pack if possible and other browsers" @@ -647,6 +687,7 @@ - haruna - mpv - vlc-luajit + - ffmpeg-obs - name: "Picture editors" description: "Add the photo and picture editors" @@ -778,6 +819,8 @@ - corectrl - gwe - obs-studio-tytan652 + - vlc-luajit + - ffmpeg-obs - qbittorrent - yakuake - yandex-disk @@ -1010,6 +1053,8 @@ - linux-lts-headers - linux-xanmod - linux-xanmod-headers + - linux-xanmod-anbox + - linux-xanmod-anbox-headers - linux-xanmod-lts - linux-xanmod-lts-headers - linux-zen diff --git a/make_iso/netinstall_min.yaml b/make_iso/netinstall_min.yaml index bb692cf..3fc8c57 100644 --- a/make_iso/netinstall_min.yaml +++ b/make_iso/netinstall_min.yaml @@ -6,13 +6,20 @@ critical: true packages: - archlinux-keyring + - melawy-linux-keyring + - melawy-linux-mirrorlist + - cachyos-keyring + - cachyos-mirrorlist - arcolinux-keyring - arcolinux-mirrorlist-git + - chaotic-keyring + - chaotic-mirrorlist + - endeavouros-keyring + - endeavouros-mirrorlist + - base - base-devel - busybox - - chaotic-keyring - - chaotic-mirrorlist - chwd - chwd-db - dracut @@ -20,18 +27,10 @@ - iptables-nft - linux-firmware - linux-firmware-marvell - - linux-xanmod-anbox - - linux-xanmod-anbox-headers - - melawy-branding - - melawy-check-reboot-required - - melawy-dracut-initramfs - - melawy-dracut-ukify - - melawy-etc-skel-std-powerman-kvantum - - melawy-skel-root - - melawy-linux-keyring - - melawy-linux-mirrorlist - - melawy-refind-menu-generator - - melawy-welcome + - linux-api-headers + - linux-cachyos + - linux-cachyos-headers + - linux-cachyos-zfs - pacman - pacman-contrib - pacman-mirrorlist @@ -47,6 +46,39 @@ - fwupd - fwupd-efi + - melawy-branding + - melawy-check-reboot-required + - melawy-dracut-initramfs + - melawy-dracut-ukify + - melawy-etc-skel-std-powerman-kvantum + - melawy-skel-root + - melawy-refind-menu-generator + - melawy-welcome + +- name: "Performance" + description: "needed Melawy Linux packages" + hidden: true + expanded: false + selected: true + critical: true + packages: + - uksmd + - uksmdstats + # - performance-tweaks + - powersave-tweaks + - dbus-broker + - zram-generator + - bpftune + - ananicy-cpp + - ananicy-rules + - bpftune + - irqbalance + - preload + - systemd-oomd-defaults + - realtime-privileges + - cachyos-settings + - lua-filesystem + - name: "Terminal-Base + Common packages" description: "Recommended. Don't change unless you know what you're doing." hidden: true @@ -105,6 +137,7 @@ selected: true packages: - btrfs-assistant + - btrfsmaintenance - btrfs-snapshots - timeshift - timeshift-autosnap @@ -255,6 +288,7 @@ - pipewire-alsa - pipewire-jack - pipewire-pulse + - lib32-pipewire - pipewire-support - rtkit - wireplumber @@ -393,6 +427,12 @@ - melawy-plymouth-theme-hard-install-fenek - melawy-refind-theme-hard-install-fenek + - name: "Window decorators" + selected: true + packages: + - klassy + - roundedsbe + - name: "Base desktop theme" selected: true packages: @@ -566,22 +606,22 @@ packages: - appimagelauncher - downgrade + - topgrade - flatpak - ocs-url - pace - - pamac-cli - - pamac-gtk - - libpamac - - libpamac-flatpak-plugin - - libpamac-snap-plugin + - pamac-all + - melawy-pamac-helper - paru - pkgfile - rebuild-detector - reflector - reflector-simple + - rate-mirrors - snapd - snapd-glib - yay + - paclast - name: "Browsers and language package" description: "Add firefox and language pack if possible and other browsers" @@ -647,6 +687,7 @@ - haruna - mpv - vlc-luajit + - ffmpeg-obs - name: "Picture editors" description: "Add the photo and picture editors" @@ -778,6 +819,8 @@ - corectrl - gwe - obs-studio-tytan652 + - vlc-luajit + - ffmpeg-obs - qbittorrent - yakuake - yandex-disk @@ -1010,6 +1053,8 @@ - linux-lts-headers - linux-xanmod - linux-xanmod-headers + - linux-xanmod-anbox + - linux-xanmod-anbox-headers - linux-xanmod-lts - linux-xanmod-lts-headers - linux-zen diff --git a/make_iso/packages.x86_64 b/make_iso/packages.x86_64 index 688591c..e4025d5 100644 --- a/make_iso/packages.x86_64 +++ b/make_iso/packages.x86_64 @@ -5,19 +5,25 @@ arcolinux-mirrorlist-git base base-devel busybox +cachyos-keyring +cachyos-mirrorlist chaotic-keyring chaotic-mirrorlist chwd chwd-db dracut +endeavouros-keyring +endeavouros-mirrorlist fwupd fwupd-efi gptfdisk iptables-nft +linux-api-headers +linux-cachyos +linux-cachyos-headers +linux-cachyos-zfs linux-firmware linux-firmware-marvell -linux-xanmod-anbox -linux-xanmod-anbox-headers melawy-branding melawy-check-reboot-required melawy-dracut-initramfs @@ -41,6 +47,23 @@ xf86-input-void xf86-video-fbdev xf86-video-openchrome +## Performance +ananicy-cpp +ananicy-rules +bpftune +bpftune +cachyos-settings +dbus-broker +irqbalance +lua-filesystem +powersave-tweaks +preload +realtime-privileges +systemd-oomd-defaults +uksmd +uksmdstats +zram-generator + ## Terminal-Base + Common packages ## CPU specific microcode update packages @@ -81,6 +104,7 @@ xfsprogs ## BTRFS filesystem btrfs-assistant btrfs-snapshots +btrfsmaintenance timeshift timeshift-autosnap @@ -211,6 +235,7 @@ xl2tpd alsa-firmware alsa-plugins alsa-utils +lib32-pipewire pavucontrol pipewire-alsa pipewire-jack @@ -310,6 +335,10 @@ melawy-plymouth-theme-nier-a2 melawy-plymouth-theme-hard-install-nier-a2 melawy-refind-theme-hard-install-nier-a2 +## Window decorators +klassy +roundedsbe + ## Base desktop theme melawy-icon-theme melawy-theme @@ -448,20 +477,20 @@ xdg-utils appimagelauncher downgrade flatpak -libpamac -libpamac-flatpak-plugin -libpamac-snap-plugin +melawy-pamac-helper ocs-url pace -pamac-cli -pamac-gtk +paclast +pamac-all paru pkgfile +rate-mirrors rebuild-detector reflector reflector-simple snapd snapd-glib +topgrade yay ## Browsers and language package @@ -481,6 +510,7 @@ freeoffice ## Media players audacious elisa +ffmpeg-obs haruna mpv vlc-luajit @@ -568,11 +598,13 @@ kleopatra ## Desktop applications anydesk-bin corectrl +ffmpeg-obs filezilla gwe meld obs-studio-tytan652 qbittorrent +vlc-luajit yakuake yandex-disk yandex-disk-indicator diff --git a/make_iso/pacman_sys.conf b/make_iso/pacman_sys.conf index 7c4512b..5b4d6cc 100644 --- a/make_iso/pacman_sys.conf +++ b/make_iso/pacman_sys.conf @@ -88,9 +88,18 @@ LocalFileSigLevel = Optional [melawy] Include = /etc/pacman.d/melawy-linux-mirrorlist +[melawy-core] +Include = /etc/pacman.d/melawy-linux-mirrorlist + [melawy-3party] Include = /etc/pacman.d/melawy-linux-mirrorlist +[melawy-archlinux] +Include = /etc/pacman.d/melawy-linux-mirrorlist + +[cachyos] +Include = /etc/pacman.d/cachyos-mirrorlist + # 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. @@ -122,6 +131,11 @@ Include = /etc/pacman.d/mirrorlist #SigLevel = Optional TrustAll #Server = file:///home/custompkgs +[cache] +SigLevel = Optional +Server = http://192.168.1.250/$repo/$arch +Server = https://repo.melawy.ru/$repo/$arch + [arcolinux_repo] Include = /etc/pacman.d/arcolinux-mirrorlist @@ -137,6 +151,9 @@ Include = /etc/pacman.d/chaotic-mirrorlist [chaotic-aur] Include = /etc/pacman.d/chaotic-mirrorlist +[endeavouros] +Include = /etc/pacman.d/endeavouros-mirrorlist + # [xhbp] # SigLevel = Optional TrustAll # Server = https://xerolinux.github.io/$repo/$arch @@ -153,11 +170,6 @@ Include = /etc/pacman.d/chaotic-mirrorlist # SigLevel = Optional TrustAll # Include = /etc/pacman.d/xero-mirrorlist # -# [cachyos] -# Include = /etc/pacman.d/cachyos-mirrorlist -# -# [endeavouros] -# Include = /etc/pacman.d/endeavouros-mirrorlist # [melawy-aur] # Include = /etc/pacman.d/melawy-linux-mirrorlist @@ -171,10 +183,6 @@ Include = /etc/pacman.d/chaotic-mirrorlist # [melawy-aur-gui-app] # Include = /etc/pacman.d/melawy-linux-mirrorlist -# [cache] -# SigLevel = Optional -# Server = https://repo.melawy.ru/$repo/$arch - # [custom] # SigLevel = Optional TrustAll # Server = file:///home/custompkgs diff --git a/make_iso/profiledef.sh b/make_iso/profiledef.sh index 1990476..140da79 100644 --- a/make_iso/profiledef.sh +++ b/make_iso/profiledef.sh @@ -2,8 +2,8 @@ # shellcheck disable=SC2034 date_tag=$(date +%Y.%m.%d) -iso_name="Melawy-linux" -iso_label="Melawy_Linux_$(date +%Y.%m.%d)" +iso_name="Melawy-Linux" +iso_label="MelawyOS_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" iso_publisher="Melawy Linux " iso_application="Melawy Linux Live/Rescue CD" iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" @@ -12,8 +12,7 @@ buildmodes=('iso') quiet="n" work_dir="../work" out_dir="../sf/${date_tag}" -bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' - 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') +bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') arch="x86_64" pacman_conf="pacman_sys.conf" airootfs_image_type="squashfs" @@ -46,5 +45,3 @@ file_permissions=( ["/usr/local/bin/remove-unneeded"]="0:0:755" ["/usr/local/bin/update-mirrorlist"]="0:0:755" ) - - diff --git a/make_iso/syslinux/archiso_pxe-linux.cfg b/make_iso/syslinux/archiso_pxe-linux.cfg index 5bf7499..4608309 100644 --- a/make_iso/syslinux/archiso_pxe-linux.cfg +++ b/make_iso/syslinux/archiso_pxe-linux.cfg @@ -4,8 +4,8 @@ Boot the Melawy Linux install medium using NBD. It allows you to install Melawy Linux or perform system maintenance. ENDTEXT MENU LABEL Melawy Linux install medium (x86_64, NBD) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify SYSAPPEND 3 @@ -15,8 +15,8 @@ Boot the Melawy Linux live medium using NFS. It allows you to install Melawy Linux or perform system maintenance. ENDTEXT MENU LABEL Melawy Linux install medium (x86_64, NFS) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify SYSAPPEND 3 @@ -26,7 +26,7 @@ Boot the Melawy Linux live medium using HTTP. It allows you to install Melawy Linux or perform system maintenance. ENDTEXT MENU LABEL Melawy Linux install medium (x86_64, HTTP) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify SYSAPPEND 3 diff --git a/make_iso/syslinux/archiso_sys-linux.cfg b/make_iso/syslinux/archiso_sys-linux.cfg index 4c710b7..3ed27eb 100644 --- a/make_iso/syslinux/archiso_sys-linux.cfg +++ b/make_iso/syslinux/archiso_sys-linux.cfg @@ -4,8 +4,8 @@ Boot the Melawy Linux install medium on BIOS. It allows you to install Melawy Linux or perform system maintenance. ENDTEXT MENU LABEL Melawy Linux default (x86_64, BIOS) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n nouveau.modeset=1 module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr i915.modeset=1 radeon.modeset=1 nvme_load=yes quiet splash bgrt_disable # Nvidia propritary (Non-Free) @@ -15,8 +15,8 @@ Boot the Melawy Linux install medium on Bios NVIDIA-NONFREE driver LATEST-CARDS It allows you to install Melawy Linux or perform system maintenance. ENDTEXT MENU LABEL Melawy Linux NVIDIA (latest cards, x86_64, BIOS) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n nvidia nvidia-drm.modeset=1 nouveau.modeset=0 module_blacklist=nouveau,pcspkr i915.modeset=1 radeon.modeset=1 nvme_load=yes quiet splash bgrt_disable # Fallback (nomodeset) @@ -26,6 +26,6 @@ Boot the Melawy Linux install medium on Bios in fallback mode It allows you to install Melawy Linux or perform system maintenance. ENDTEXT MENU LABEL Melawy Linux Fallback (nomodeset, BIOS) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-xanmod-anbox -INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux-xanmod-anbox.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-cachyos +INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux-cachyos.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr nomodeset nvme_load=yes quiet splash bgrt_disable