Add Linux Mint

This commit is contained in:
Greg Hellings
2025-01-26 06:32:32 -06:00
parent cda3a1feaf
commit 16afcda8ed
8 changed files with 161 additions and 0 deletions
+1
View File
@@ -6,6 +6,7 @@
centos-stream = import ./centos-stream; centos-stream = import ./centos-stream;
debian = import ./debian; debian = import ./debian;
fedora = import ./fedora; fedora = import ./fedora;
mint = import ./mint;
nixos = import ./nixos; nixos = import ./nixos;
opensuse = import ./opensuse; opensuse = import ./opensuse;
rockylinux = import ./rockylinux; rockylinux = import ./rockylinux;
+18
View File
@@ -0,0 +1,18 @@
distro = "mint"
version = "22"
iso = {
url = "https://mirrors.kernel.org/linuxmint/stable/22.1/linuxmint-22.1-cinnamon-64bit.iso"
checksum = "ccf482436df954c0ad6d41123a49fde79352ca71f7a684a97d5e0a0c39d7f39f"
}
boot_command = [
"e<wait><down><down><down><end><bs><bs>",
"auto ",
"noprompt ",
"automatic-ubiquity ",
#"only-ubiquity ",
"url=http://{{.HTTPIP}}:{{ .HTTPPort }}/preseed.cfg ",
"<f10>",
]
http_directory = "distros/mint/22/http/"
vbox_os_type = "Debian12_64"
disk_size = "30"
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -ex
# 5 minute timeout for the package lock to arrive
apt-get -o DPkg::Lock::Timeout=600 autoremove -y
# Configure sshd to be faster
cat << EOF > /etc/ssh/sshd_config.d/00-vagrant_accept_pubkey.conf
UseDNS no
PubkeyAcceptedKeyTypes +ssh-rsa
EOF
# Clean up after ourselves
apt-get clean
virt="$(systemd-detect-virt)"
if [ "${virt}" == "microsoft" ]; then
apt-get install -y hyperv-daemons
systemctl enable hv-fcopy-daemon
systemctl enable hv-kvp-daemon
systemctl enable hv-vss-daemon
fi
+92
View File
@@ -0,0 +1,92 @@
d-i debconf/frontend select Noninteractive
d-i debconf/priority select critical
d-i debian-installer/locale string en_US.UTF-8
# If you don't set locale separately, you will still get asked
d-i debian-installer/language string en
d-i debian-installer/country string US
d-i debconf/language string en
d-i console-setup/ask_detect boolean false
# Setup the keyboard
d-i keyboard-configuration/layout select English (US)
d-i keyboard-configuration/variant select English (US)
d-i keyboard-configuration/keyboardcode select English (US)
d-i keyboard-configuration/xkb-keymap select us
d-i keyboard-configuration/toggle select No toggling
d-i keyboard-configuration/layoutcode string us
# Choose whatever network seems good at the time
d-i netconfig/choose_interface select auto
d-i netcfg/get_hostname string vagrant
d-i netcfg/get_domain string vagrant
# Setup vagrant user with vagrant passwords and such
d-i passwd/root-password-again password vagrant
d-i passwd/root-password password vagrant
d-i passwd/user-fullname string vagrant
d-i passwd/username string vagrant
d-i passwd/user-password password vagrant
d-i passwd/user-password-again password vagrant
# Assume UTC time, to let user change if wanted
d-i clock-setup/utc boolean true
d-i time/zone string UTC
# Just use plain partitions
ubiquity partman-auto/method string regular
# Don't prompt removing LVM
ubiquity partman-lvm/device_remove_lvm boolean true
# Don't prompt removing software RAID
ubiquity partman-md/device_remove_md boolean true
# Put everything on one partition, then confirm
d-i partman-auto/choose_recipe select atomic
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
ubiquity partman/confirm boolean true
ubiquity partman-partitioning/confirm_write_new_label boolean true
ubiquity partman/choose_partition select finish
ubiquity partman/confirm boolean true
ubiquity partman/confirm_nooverwrite boolean true
# Install to MBR, regardless of disk contents
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i grub-installer/bootdev string default
#d-i grub-installer/force-efi-extra-removable boolean true
# Settings for package manager
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
d-i apt-setup/cdrom/set-first boolean false
d-i apt-setup/cdrom/set-next boolean false
d-i apt-setup/cdrom/set-failed boolean false
d-i mirror/country string manual
d-i mirror/http/proxy string
ubiquity ubiquity/use_nonfree boolean false
# Package selection
tasksel tasksel/first multiselect
#d-i pkgsel/include string curl openssh-server sudo python3 network-manager
popularity-contest popularity-contest/participate boolean false
# Skip final message about completed install
d-i finish-install/reboot_in_progress note
d-i ubiquity/summary note
ubiquity ubiquity/reboot boolean true
ubiquity ubiquity/success_command string \
echo 'Defaults:vagrant !requiretty' > /target/etc/sudoers.d/vagrant; \
echo 'vagrant ALL=(ALL) NOPASSWD: ALL' >> /target/etc/sudoers.d/vagrant; \
chmod 440 /target/etc/sudoers.d/vagrant; \
sed -i -e 's/ens3/ens5/g' /target/etc/network/interfaces; \
IF=$(ip -br a|grep DOWN|head -1|awk '{print $1}'); \
ip link set up dev $IF; \
dhclient $IF; \
in-target apt-get update; \
in-target apt-get upgrade -y; \
in-target apt-get install -y openssh-server
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
apt install -y qemu-guest-agent
systemctl start qemu-guest-agent
systemctl enable qemu-guest-agent
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
set -ex
packages=(bzip2 dkms build-essential "linux-headers-$(uname -r)")
apt install -y "${packages[@]}"
mount -t auto /home/vagrant/VBoxGuestAdditions.iso /mnt
/mnt/VBoxLinuxAdditions.run install 2>&1 | tee /root/vbox_addon_install.log
apt remove -y "${packages[@]}"
umount /mnt
rm /home/vagrant/VBoxGuestAdditions.iso
+4
View File
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -ex
apt install -y open-vm-tools
+8
View File
@@ -0,0 +1,8 @@
[
{
version = "22";
arch = "amd64";
eol = false;
}
]