Compare commits
No commits in common. "1c6dfb1b3a563e2f699151c3872484dcb2f3c473" and "f6f36503cfb2dc351eba5daf34f72073593c1223" have entirely different histories.
1c6dfb1b3a
...
f6f36503cf
|
@ -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?
|
Loading…
Reference in New Issue