#### Debian preconfiguration file #### Updated: 2022-07-14 ### Localization # Preseeding only locale sets language, country and locale. d-i debian-installer/locale string en_AU.utf8 # Keyboard selection. d-i keyboard-configuration/xkb-keymap select us ### Network configuration # Disable network configuration entirely. This is useful for cdrom # installations on non-networked devices where the network questions, # warning and long timeouts are a nuisance. #d-i netcfg/enable boolean false # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. #d-i netcfg/choose_interface select auto # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. #d-i netcfg/dhcp_failed note #d-i netcfg/dhcp_options select Configure network manually # Static network configuration. # # IPv4 example #d-i netcfg/get_ipaddress string 192.168.1.42 #d-i netcfg/get_netmask string 255.255.255.0 #d-i netcfg/get_gateway string 192.168.1.1 #d-i netcfg/get_nameservers string 192.168.1.1 #d-i netcfg/confirm_static boolean true # # Any hostname and domain names assigned from dhcp take precedence over # values set here. However, setting the values still prevents the questions # from being shown, even if values come from dhcp. #d-i netcfg/get_hostname string unassigned-hostname #d-i netcfg/get_domain string unassigned-domain # If you want to force a hostname, regardless of what either the DHCP # server returns or what the reverse DNS entry for the IP is, uncomment # and adjust the following line. #d-i netcfg/hostname string debian # If non-free firmware is needed for the network or other hardware, you can # configure the installer to always try to load it, without prompting. Or # change to false to disable asking. d-i hw-detect/load_firmware boolean true ### Mirror settings # If you select ftp, the mirror/country string does not need to be set. #d-i mirror/protocol string ftp d-i mirror/country string manual d-i mirror/http/hostname string deb.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy seen false # Suite to install. #d-i mirror/suite string testing # Suite to use for loading installer components (optional). #d-i mirror/udeb/suite string testing ### Account setup # Skip creation of a root account (normal user account will be able to # use sudo). d-i passwd/root-login boolean false # Alternatively, to skip creation of a normal user account. #d-i passwd/make-user boolean false # Root password, in clear text #d-i passwd/root-password password debian #d-i passwd/root-password-again password debian # To create a normal user account. #d-i passwd/user-fullname string Debian User #d-i passwd/username string debian d-i passwd/user-fullname string User d-i passwd/username string user # Normal user's password, in clear text #d-i passwd/user-password password password #d-i passwd/user-password-again password password # The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd/user-default-groups string audio cdrom video ### Clock and time zone setup # Controls whether or not the hardware clock is set to UTC. d-i clock-setup/utc boolean false # You may set this to any valid setting for $TZ; see the contents of # /usr/share/zoneinfo/ for valid values. #d-i time/zone string US/Eastern d-i time/zone string Australia/Perth # Controls whether to use NTP to set the clock during the install d-i clock-setup/ntp boolean true # NTP server to use. The default is almost always fine here. #d-i clock-setup/ntp-server string ntp.example.com ### Partitioning ## Partitioning example # If the system has free space you can choose to only partition that space. # This is only honoured if partman-auto/method (below) is not set. #d-i partman-auto/init_automatically_partition select biggest_free # Alternatively, you may specify a disk to partition. If the system has only # one disk the installer will default to using that, but otherwise the device # name must be given in traditional, non-devfs format (so e.g. /dev/sda # and not e.g. /dev/discs/disc0/disc). # For example, to use the first SCSI/SATA hard disk: #d-i partman-auto/disk string /dev/sda # In addition, you'll need to specify the method to use. # The presently available methods are: # - regular: use the usual partition types for your architecture # - lvm: use LVM to partition the disk # - crypto: use LVM within an encrypted partition #d-i partman-auto/method string regular # You can choose one of the three predefined partitioning recipes: # - atomic: all files in one partition # - home: separate /home partition # - multi: separate /home, /var, and /tmp partitions d-i partman-auto/choose_recipe select atomic # This makes partman automatically partition without confirmation, provided # that you told it what to do using one of the methods above. #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 # This makes partman automatically partition without confirmation. #d-i partman-md/confirm boolean true #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 ### Base system installation # Configure APT to not install recommended packages by default. Use of this # option can result in an incomplete system and should only be used by very # experienced users. #d-i base-installer/install-recommends boolean false ### Apt setup # You can choose to install non-free and contrib software. d-i apt-setup/non-free boolean true d-i apt-setup/contrib boolean true # Uncomment this if you don't want to use a network mirror. #d-i apt-setup/use_mirror boolean false # Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. #d-i apt-setup/services-select multiselect security, updates #d-i apt-setup/security_host string security.debian.org ### Package selection #tasksel tasksel/first multiselect standard, web-server, kde-desktop tasksel tasksel/first multiselect standard, ssh-server # Individual additional packages to install #d-i pkgsel/include string openssh-server build-essential d-i pkgsel/include string mc dnsutils ufw unzip libgpm2 # Whether to upgrade packages after debootstrap. # Allowed values: none, safe-upgrade, full-upgrade #d-i pkgsel/upgrade select none # Some versions of the installer can report back on what software you have # installed, and what software you use. The default is not to report back, # but sending reports helps the project determine what software is most # popular and include it on CDs. #popularity-contest popularity-contest/participate boolean false # This is fairly safe to set, it makes grub install automatically to the MBR # if no other operating system is detected on the machine. d-i grub-installer/only_debian boolean true # This one makes grub-installer install to the MBR if it also finds some other # OS, which is less safe as it might not be able to boot that other OS. d-i grub-installer/with_other_os boolean true d-i grub-installer/bootdev string /dev/sda d-i debian-installer/add-kernel-opts string splash ### Finishing up the installation # Avoid that last message about the install being complete. d-i finish-install/reboot_in_progress note #### Advanced options ### Running custom commands during the installation # d-i preseeding is inherently not secure. Nothing in the installer checks # for attempts at buffer overflows or other exploits of the values of a # preconfiguration file like this one. Only use preconfiguration files from # trusted locations! To drive that home, and because it's generally useful, # here's a way to run any shell command you'd like inside the installer, # automatically. # This first command is run as early as possible, just after # preseeding is read. #d-i preseed/early_command string anna-install some-udeb # This command is run immediately before the partitioner starts. It may be # useful to apply dynamic partitioner preseeding that depends on the state # of the disks (which may not be visible when preseed/early_command runs). #d-i partman/early_command \ # string debconf-set partman-auto/disk "$(list-devices disk | head -n1)" # This command is run just before the install finishes, but when there is # still a usable /target directory. You can chroot to /target and use it # directly, or use the apt-install and in-target commands to easily install # packages and run commands in the target system. #d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh d-i preseed/late_command string \ sed -i -e 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=3/g' /target/etc/default/grub; \ apt-install xdg-utils xserver-xorg gnome-human-icon-theme menu-xdg lightdm \ obconf gvfs plymouth plymouth-themes plymouth-x11; \ apt-install lxde lxtask --no-install-recommends; \ apt-install evince firefox-esr gparted gnome-system-tools synaptic; \ dmidecode -t system | if grep -q "Product Name: Virtual Machine"; then apt-install hyperv-daemons; fi; \ dmidecode -t system | if grep -q "VMware"; then apt-install open-vm-tools; fi; \ # Bash aliases for user and root: echo \# >> /target/home/user/.bash_aliases; \ echo \# Custom aliases: >> /target/home/user/.bash_aliases; \ echo alias dir=\'ls -l\' >> /target/home/user/.bash_aliases; \ echo alias du=\'du -h\' >> /target/home/user/.bash_aliases; \ echo alias df=\'df -h\' >> /target/home/user/.bash_aliases; \ echo alias free=\'free -h\' >> /target/home/user/.bash_aliases; \ echo alias findstr=\'grep -r --include=\"*\"\' >> /target/home/user/.bash_aliases; \ echo alias treesize=\'du -h --max-depth=1\' >> /target/home/user/.bash_aliases; \ chown 1000:1000 /target/home/user/.bash_aliases; \ chmod o-r /target/home/user/.bash_aliases; \ echo \# >> /target/root/.bashrc; \ echo \# Custom aliases: >> /target/root/.bashrc; \ echo alias dir=\'ls -la\' >> /target/root/.bashrc; \ echo alias du=\'du -h\' >> /target/root/.bashrc; \ echo alias df=\'df -h\' >> /target/root/.bashrc; \ echo alias free=\'free -h\' >> /target/root/.bashrc; \ echo alias findstr=\'grep -r --include=\"*\"\' >> /target/root/.bashrc; \ echo alias treesize=\'du -h --max-depth=1\' >> /target/root/.bashrc; \ cd /target/home/user; \ wget http://ftp.iinet.net.au/pub/ubuntu/pool/universe/p/pdmenu/pdmenu_1.3.4build1_amd64.deb; \ in-target dpkg --install /home/user/pdmenu_1.3.4+b1_amd64.deb; \ rm pdmenu_1.3.4+b1_amd64.deb; \ wget https://gitlab.com/majorbob/sys-menu/-/archive/master/sys-menu-master.tar.gz; \ gunzip sys-menu-master.tar.gz; \ tar x -f /target/home/user/sys-menu-master.tar; \ mv sys-menu-master/usr/bin/* /target/usr/bin/; \ mv sys-menu-master/usr/lib/sys-menu /target/usr/lib/; \ mv sys-menu-master/usr/share/doc/sys-menu /target/usr/share/doc; \ rm sys-menu-master.tar; \ rm -rf sys-menu-master; \ # Set Midnight Commander preferences: mkdir -p .config/mc; \ echo [Midnight-Commander] > .config/mc/ini; \ echo drop_menus=true >> .config/mc/ini; \ echo pause_after_run=2 >> .config/mc/ini; \ mkdir -p /target/root/.config/mc; \ echo [Midnight-Commander] > /target/root/.config/mc/ini; \ echo drop_menus=true >> /target/root/.config/mc/ini; \ echo pause_after_run=2 >> /target/root/.config/mc/ini; \ # Set LightDM preferences: mkdir /target/etc/lightdm/lightdm.conf.d; \ echo [Seat:\*] > /target/etc/lightdm/lightdm.conf.d/local.conf; \ echo greeter-hide-users\=false >> /target/etc/lightdm/lightdm.conf.d/local.conf; \ # Set desktop background colour: mkdir -p .config/pcmanfm/LXDE; \ echo [*] > .config/pcmanfm/LXDE/desktop-items-0.conf; \ echo desktop_bg=\#212d45 >> .config/pcmanfm/LXDE/desktop-items-0.conf; \ chown -R 1000:1000 .config; \ sed -i -e 's/desktop_bg=\#000000/desktop_bg=\#212d45/g' /target/etc/xdg/pcmanfm/LXDE/pcmanfm.conf; \ # Desktop Wallpapers: mkdir /target/usr/local/share/Wallpapers; \ wget -O /target/usr/local/share/Wallpapers/AuroraAustralisbyNOAAonUnsplash.jpg https://unsplash.com/photos/fDV3geJ2HwM/download?force=true&w=1920; \ wget -O /target/usr/local/share/Wallpapers/KoalabyJordanWhittonUnsplash.jpg https://unsplash.com/photos/EerxztHCjM8/download?force=true&w=1920; \ wget -O /target/usr/local/share/Wallpapers/KangaroobyAustinFletcheronUnsplash.jpg https://unsplash.com/photos/tXobkDrTgjE/download?force=true&w=1920; \ wget -O /target/usr/local/share/Wallpapers/LandscapebyPhilipWuyts.jpg https://unsplash.com/photos/_h7aBovKia4/download?force=true; \ wget -O /target/usr/local/share/Wallpapers/OperaHousebyChristopherBurns.jpg https://unsplash.com/photos/ay0yCOjSMC0/download?force=true; \ wget -O /target/usr/local/share/Wallpapers/PerthbyMFildzaFadzilonUnsplash.jpg https://unsplash.com/photos/7egKo0TZeNE/download?force=true&w=1920; \ wget -O /target/usr/local/share/Wallpapers/TwelveApostlesbyVictorGarciaonUnsplash.jpg https://unsplash.com/photos/hM0jUUU5eDg/download?force=true&w=1920; \ wget -O /target/usr/local/share/Wallpapers/UlurubyHolgerLinkonUnsplash.jpg https://unsplash.com/photos/1GFUOji-yck/download?force=true&w=1920; \ chown -R :10 /target/usr/local/share/Wallpapers; \ chmod -R g+w /target/usr/local/share/Wallpapers; \ echo wallpaper=/usr/local/share/Wallpapers/LandscapebyPhilipWuyts.jpg >> .config/pcmanfm/LXDE/desktop-items-0.conf; \ echo wallpaper_mode=crop >> .config/pcmanfm/LXDE/desktop-items-0.conf; \ mkdir /target/home/user/Pictures; \ ln -s ../../../usr/local/share/Wallpapers Pictures/; \ chown -R 1000:1000 /target/home/user/Pictures; \ # Create a root File Manager mkdir /target/usr/local/share/applications; \ wget -O /target/usr/local/share/applications/root_filemanager.desktop http://www.digitalfoundations.com.au/root_filemanager.desktop; \ wget -O /target/usr/share/polkit-1/actions/local.pkexec.pcmanfm.policy http://www.digitalfoundations.com.au/local.pkexec.pcmanfm.policy; \ # Panel background + opacity sed -i -e 's/tintcolor=\#000000/tintcolor=\#1e203d/g' /target/etc/xdg/lxpanel/default/panels/panel; \ sed -i -e 's/tintcolor=\#000000/tintcolor=\#1e203d/g' /target/etc/xdg/lxpanel/LXDE/panels/panel; \ sed -i -e 's/transparent=0/transparent=1/g' /target/etc/xdg/lxpanel/default/panels/panel; \ sed -i -e 's/transparent=0/transparent=1/g' /target/etc/xdg/lxpanel/LXDE/panels/panel; \ sed -i -e 's/alpha=0/alpha=160/g' /target/etc/xdg/lxpanel/default/panels/panel; \ sed -i -e 's/alpha=0/alpha=160/g' /target/etc/xdg/lxpanel/LXDE/panels/panel; \ sed -i -e 's/background=1/background=0/g' /target/etc/xdg/lxpanel/default/panels/panel; \ sed -i -e 's/background=1/background=0/g' /target/etc/xdg/lxpanel/LXDE/panels/panel; \ # Border theme sed -i -e 's/Onyx/Bear2/g' /target/etc/xdg/openbox/LXDE/rc.xml; \ sed -i -e 's/Clearlooks/Bear2/g' /target/etc/xdg/openbox/rc.xml; \ # Icon theme sed -i -e 's/nuoveXT2/gnome-human/g' /target/etc/xdg/lxsession/LXDE/desktop.conf; \ # Fix empty trash icon, remove invalid filter sed -i -e 's/filter[:]url([#]filter3625)[;]//g' /target/usr/share/icons/gnome-colors-common/scalable/places/user-trash.svg; \ # Increase window size for LXTerminal: echo geometry_columns=120 >> /target/usr/share/lxterminal/lxterminal.conf; \ echo geometry_rows=40 >> /target/usr/share/lxterminal/lxterminal.conf; \ # File Manager on desktop sed -i '/^thumbnail_max=2048/a quick_exec=1' /target/etc/xdg/libfm/libfm.conf; \ mkdir /target/home/user/Desktop; \ in-target cp /usr/share/applications/pcmanfm.desktop /home/user/Desktop/pcmanfm.desktop; \ in-target sed -i -e 's/PCManFM//g' /home/user/Desktop/pcmanfm.desktop; \ in-target chown -R 1000:1000 /home/user/Desktop; \ # Set gpicview to be preferred for images instead of Firefox echo "[Default Applications]" >> /target/usr/share/applications/mimeapps.list; \ echo "image/gif=gpicview.desktop" >> /target/usr/share/applications/mimeapps.list; \ echo "image/jpeg=gpicview.desktop" >> /target/usr/share/applications/mimeapps.list; \ echo "image/png=gpicview.desktop" >> /target/usr/share/applications/mimeapps.list; \ # Set Plymouth boot splash theme # in-target plymouth-set-default-theme spinner; \ echo Done