#!/bin/bash set -euo pipefail BASEDIR="$(dirname "${0}" | sed "s|^\.|${PWD}|")" source \ /etc/os-release source \ "${BASEDIR}/system.conf" packages=(\ console-setup \ cryptsetup \ curl \ dosfstools \ dpkg-dev \ efibootmgr \ ethtool \ firmware-{ast,atheros,bnx{2,2x},brcm80211,iwlwifi,libertas,linux,realtek,zd1211} \ flatpak \ keyboard-configuration \ linux-{headers,image}-amd64 \ locales \ nano \ network-manager \ openssh-{client,server} \ popularity-contest \ printer-driver-all \ systemd-timesyncd \ tasksel \ zfs-initramfs \ zstd\ ) include="--include=${packages[0]}" for ((i=1;i<${#packages[@]};i++)); do include+=" --include=${packages[${i}]}" done if [[ "${1}" == '-1' ]]; then mmdebstrap \ --skip=check/empty \ --components=main,non-free-firmware,contrib \ --mode=root \ --format=directory \ ${include} \ "${VERSION_CODENAME}" \ /mnt elif [[ "${1}" == '-2' ]]; then NETWORK_INTERFACE=($(ip -br addr show | sed 's| .*$||g' | grep -v '^lo' | grep -v 'tailscale' | grep -v '^wg')) shopt -s extglob for ((i = 0; i < ${#NETWORK_INTERFACE[@]}; i++)); do cat << EOF | tee /mnt/etc/network/interfaces.d/${NETWORK_INTERFACE[$i]} &> /dev/null allow-hotplug ${NETWORK_INTERFACE[$i]} iface ${NETWORK_INTERFACE[$i]} inet dhcp EOF done elif [[ "${1}" == '-3' ]]; then cat << EOF | tee /mnt/etc/apt/sources.list.d/${VERSION_CODENAME}.sources &> /dev/null # ${VERSION_CODENAME^} Enabled: yes Types: deb deb-src URIs: http://deb.debian.org/debian/ Suites: ${VERSION_CODENAME} Components: main non-free-firmware contrib Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # ${VERSION_CODENAME^} Security Enabled: yes Types: deb deb-src URIs: http://deb.debian.org/debian-security/ Suites: ${VERSION_CODENAME}-security Components: main non-free-firmware contrib Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # ${VERSION_CODENAME^} Updates Enabled: yes Types: deb deb-src URIs: http://deb.debian.org/debian/ Suites: ${VERSION_CODENAME}-updates Components: main non-free-firmware contrib Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg EOF rm /mnt/etc/apt/sources.list fi