Compare commits

..

No commits in common. "1c6dfb1b3a563e2f699151c3872484dcb2f3c473" and "f6f36503cfb2dc351eba5daf34f72073593c1223" have entirely different histories.

1 changed files with 20 additions and 36 deletions

56
archiso.sh Executable file → Normal file
View File

@ -2,7 +2,7 @@
### https://wiki.archlinux.org/title/Archiso ### https://wiki.archlinux.org/title/Archiso
#set -eou pipefail set -eou pipefail
set -x set -x
# Test if archiso is installed # Test if archiso is installed
@ -25,26 +25,10 @@ logfile="${logdir}/$(date +%Y-%m-%d_%H:%M).log"
exec >> >(tee -i "${logfile}") exec >> >(tee -i "${logfile}")
exec 2>&1 exec 2>&1
### Customization # Ask password for ISO user
pw_hash=$(openssl passwd -6)
# 1. Username # Profile to use
#USER=""
# 2. Packages
declare -a pkgs=(
firefox
konsole
plasma-desktop
sddm
plasma-nm
networkmanager
)
# 3. Plasma session
session="plasmax11" # X11
#session="plasma" # Wayland
# 4. Profile to use
profile="releng" profile="releng"
#profile="baseline" #profile="baseline"
@ -54,20 +38,18 @@ profile="releng"
# baseline is a minimal configuration, that includes only the bare minimum # baseline is a minimal configuration, that includes only the bare minimum
# packages required to boot the live environment from the medium. # packages required to boot the live environment from the medium.
# Ask password for ISO user
pw_hash=$(openssl passwd -6)
# Define directories # Define directories
dir="/home/$USER/.archiso" dir="/home/$USER/.archiso"
prof_dir="${dir}/${profile}" prof_dir="${dir}/${profile}"
pkgs_file="${prof_dir}/packages.x86_64" pkgs_file="${prof_dir}/packages.x86_64"
#workdir="${dir}/.tmp"
workdir="/tmp/archiso" workdir="/tmp/archiso"
root_etc="${prof_dir}/airootfs/etc" root_etc="${prof_dir}/airootfs/etc"
# Delete old profile # Delete old profile
sudo rm -rf "${prof_dir}" sudo rm -rf ${prof_dir}
sudo rm -rf ${dir}/output/* sudo rm -rf ${dir}/output/*
sudo rm -rf ${workdir}/* sudo rm -rf ${dir}/.tmp/*
# Copy new profile template # Copy new profile template
# https://wiki.archlinux.org/title/Archiso#Prepare_a_custom_profile # https://wiki.archlinux.org/title/Archiso#Prepare_a_custom_profile
@ -77,6 +59,14 @@ cp -r "/usr/share/archiso/configs/${profile}" "${dir}"
# https://wiki.archlinux.org/title/Archiso#Selecting_packages # https://wiki.archlinux.org/title/Archiso#Selecting_packages
touch "${pkgs_file}" touch "${pkgs_file}"
declare -a pkgs=(
firefox
konsole
plasma-desktop
sddm
sddm-kcm
)
for pkg in "${pkgs[@]}"; do for pkg in "${pkgs[@]}"; do
echo "${pkg}" >> "${pkgs_file}" echo "${pkg}" >> "${pkgs_file}"
done done
@ -86,20 +76,15 @@ done
ln -s /usr/lib/systemd/system/sddm.service \ ln -s /usr/lib/systemd/system/sddm.service \
"${root_etc}/systemd/system/display-manager.service" "${root_etc}/systemd/system/display-manager.service"
# Enable NetworkManager
mkdir -p "${root_etc}/systemd/system/network-online.target.wants"
ln -s /usr/lib/systemd/system/NetworkManager.service \
"${root_etc}/systemd/system/network-online.target.wants/"
# Autologin config # Autologin config
# https://wiki.archlinux.org/title/Archiso#Changing_automatic_login # https://wiki.archlinux.org/title/Archiso#Changing_automatic_login
mkdir "${root_etc}/sddm.conf.d" mkdir "${root_etc}/sddm.conf.d"
cat << EOF > "${root_etc}/sddm.conf.d/autologin.conf" cat << EOF > "${root_etc}/sddm.conf.d/autologin.conf"
[Autologin] [Autologin]
Relogin=false Relogin=false
Session=${session} Session=plasmax11
User=${USER} User=$USER
[Theme] [Theme]
Current=breeze Current=breeze
CursorTheme=Breeze_Light CursorTheme=Breeze_Light
@ -132,9 +117,8 @@ echo "%wheel ALL=(ALL) ALL" > "${root_etc}/sudoers"
mkdir -p "${workdir}" mkdir -p "${workdir}"
nice -n 19 ionice -c 3 sudo mkarchiso -w "${workdir}" -o "${dir}/output" "${prof_dir}" nice -n 19 ionice -c 3 sudo mkarchiso -w "${workdir}" -o "${dir}/output" "${prof_dir}"
notify-send -t 5000 'ArchISO' 'ISO created successfully.'
exit 0 exit 0
# To-Dos # To-Dos
# - Locale DE # - NetworkManager?
# - SDDM Loginscreen?