#!/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 </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 </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 </mnt/etc/apt/sources.list.d/patches.list 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