106 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
set -euo pipefail
 | 
						|
 | 
						|
BASEDIR="$(dirname "${0}" | sed "s|^\.|${PWD}|")"
 | 
						|
 | 
						|
source \
 | 
						|
	/etc/os-release
 | 
						|
source \
 | 
						|
	"${BASEDIR}/system.conf"
 | 
						|
 | 
						|
 | 
						|
if [[ "${1}" == '-1' ]]; then
 | 
						|
	packages=(\
 | 
						|
console-setup \
 | 
						|
cryptsetup \
 | 
						|
curl \
 | 
						|
dosfstools \
 | 
						|
dpkg-dev \
 | 
						|
efibootmgr \
 | 
						|
ethtool \
 | 
						|
flatpak \
 | 
						|
keyboard-configuration \
 | 
						|
linux-generic \
 | 
						|
locales \
 | 
						|
nano \
 | 
						|
network-manager \
 | 
						|
openssh-{client,server} \
 | 
						|
popularity-contest \
 | 
						|
zfs-initramfs \
 | 
						|
zstd\
 | 
						|
)
 | 
						|
 | 
						|
	include="--include=${packages[0]}"
 | 
						|
 | 
						|
	for ((i=1;i<${#packages[@]};i++)); do
 | 
						|
		include+=" --include=${packages[${i}]}"
 | 
						|
	done
 | 
						|
 | 
						|
	mmdebstrap \
 | 
						|
		--skip=check/empty \
 | 
						|
		--components=main,restricted,universe,multiverse \
 | 
						|
		--mode=root \
 | 
						|
		--format=directory \
 | 
						|
		${include} \
 | 
						|
		"${UBUNTU_VERSION_CODENAME}" \
 | 
						|
		/mnt
 | 
						|
elif [[ "${1}" == '-2' ]]; then
 | 
						|
	cat <<EOF >/mnt/etc/apt/sources.list.d/${UBUNTU_VERSION_CODENAME}.sources
 | 
						|
# ${UBUNTU_VERSION_CODENAME^}
 | 
						|
Enabled:		yes
 | 
						|
Types:			deb deb-src
 | 
						|
URIs:			http://archive.ubuntu.com/ubuntu/
 | 
						|
Suites:			${UBUNTU_VERSION_CODENAME}
 | 
						|
Components:		main restricted universe multiverse
 | 
						|
Signed-By:		/usr/share/keyrings/ubuntu-archive-keyring.gpg
 | 
						|
 | 
						|
# ${UBUNTU_VERSION_CODENAME^} Security
 | 
						|
Enabled:		yes
 | 
						|
Types:			deb deb-src
 | 
						|
URIs:			http://security.ubuntu.com/ubuntu/
 | 
						|
Suites:			${UBUNTU_VERSION_CODENAME}-security
 | 
						|
Components:		main restricted universe multiverse
 | 
						|
Signed-By:		/usr/share/keyrings/ubuntu-archive-keyring.gpg
 | 
						|
 | 
						|
# ${UBUNTU_VERSION_CODENAME^} Updates
 | 
						|
Enabled:		yes
 | 
						|
Types:			deb deb-src
 | 
						|
URIs:			http://archive.ubuntu.com/ubuntu/
 | 
						|
Suites:			${UBUNTU_VERSION_CODENAME}-updates
 | 
						|
Components:		main restricted universe multiverse
 | 
						|
Signed-By:		/usr/share/keyrings/ubuntu-archive-keyring.gpg
 | 
						|
EOF
 | 
						|
 | 
						|
	cat <<EOF >/mnt/etc/apt/sources.list.d/elementary.sources
 | 
						|
Enabled:		yes
 | 
						|
Types:			deb deb-src
 | 
						|
URIs:			https://ppa.launchpadcontent.net/elementary-os/stable/ubuntu
 | 
						|
Suites:			${UBUNTU_VERSION_CODENAME}
 | 
						|
Components:		main
 | 
						|
Signed-By:		/etc/apt/trusted.gpg.d/elementary.key.asc
 | 
						|
EOF
 | 
						|
 | 
						|
	cat <<EOF >/mnt/etc/apt/sources.list.d/patches.sources
 | 
						|
Enabled:		yes
 | 
						|
Types:			deb deb-src
 | 
						|
URIs:			https://ppa.launchpadcontent.net/elementary-os/os-patches/ubuntu
 | 
						|
Suites:			${UBUNTU_VERSION_CODENAME}
 | 
						|
Components:		main
 | 
						|
Signed-By:		/etc/apt/trusted.gpg.d/patches.key.asc
 | 
						|
EOF
 | 
						|
 | 
						|
	rm /mnt/etc/apt/sources.list
 | 
						|
elif [[ "${1}" == '-3' ]]; then
 | 
						|
	rsync -pogAXtlHrDx \
 | 
						|
		/etc/skel \
 | 
						|
			/mnt/etc
 | 
						|
elif [[ "${1}" == '-4' ]]; then
 | 
						|
	cp \
 | 
						|
		/etc/os-release \
 | 
						|
		/mnt/etc
 | 
						|
 | 
						|
	cp \
 | 
						|
		/etc/apt/trusted.gpg.d/{elementary,patches}.key.asc \
 | 
						|
		/mnt/etc/apt/trusted.gpg.d/
 | 
						|
fi
 |