# Configuration preseed pour Debian 12 avec environnement Cinnamon Core # Installation automatisée avec localisation française (Suisse) # Compatible UEFI et BIOS Legacy avec BTRFS et Timeshift ### Configuration clavier d-i keyboard-configuration/modelcode string pc105 d-i keyboard-configuration/variantcode string fr # Configuration du réseau d-i netcfg/choose_interface select auto d-i netcfg/get_hostname string debian-cinnamon d-i netcfg/get_domain string local d-i netcfg/wireless_wep string # Configuration du miroir Debian 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 string # Configuration des comptes utilisateurs - demande interactive d-i passwd/root-login boolean false d-i passwd/make-user boolean true # Configuration de l'horloge et du fuseau horaire d-i clock-setup/utc boolean true d-i time/zone string Europe/Zurich d-i clock-setup/ntp boolean true # Sélection automatique du disque d-i partman-auto/disk string /dev/sda /dev/nvme0n1 /dev/vda d-i partman-auto/method string regular d-i partman-lvm/device_remove_lvm boolean true d-i partman-md/device_remove_md boolean true d-i partman-auto/choose_recipe select btrfs-root # Schéma de partitionnement BTRFS avec sous-volumes d-i partman-auto/expert_recipe string \ btrfs-root :: \ 1 1 1 free \ $iflabel{ gpt } \ $reusemethod{ } \ method{ biosgrub } \ . \ 538 538 1075 free \ $iflabel{ gpt } \ $reusemethod{ } \ method{ efi } \ format{ } \ . \ 512 512 512 ext2 \ $primary{ } \ $bootable{ } \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext2 } \ mountpoint{ /boot } \ . \ 4096 4096 -1 btrfs \ $primary{ } \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ btrfs } \ mountpoint{ / } \ options/subvol{ @ } \ . # Confirmation du partitionnement - demande validation d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish # Configuration de l'installation de base d-i base-installer/install-recommends boolean false d-i base-installer/kernel/image string linux-image-amd64 # Configuration des dépôts APT d-i apt-setup/non-free boolean true d-i apt-setup/contrib boolean true d-i apt-setup/non-free-firmware boolean true d-i apt-setup/use_mirror boolean true d-i apt-setup/services-select multiselect security, updates d-i apt-setup/security_host string security.debian.org # Sélection minimale tasksel tasksel/first multiselect standard # Paquets avec BTRFS et Timeshift d-i pkgsel/include string \ cinnamon-core \ cinnamon-session \ lightdm \ lightdm-gtk-greeter \ nemo \ muffin \ cjs \ xorg \ xinit \ network-manager \ network-manager-gnome \ sudo \ bash-completion \ firmware-linux-nonfree \ btrfs-progs \ timeshift \ snapper \ grub-btrfs # Politique de mise à jour d-i pkgsel/update-policy select unattended-upgrades d-i pkgsel/upgrade select full-upgrade # Configuration du chargeur de démarrage GRUB 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 # Finalisation de l'installation d-i finish-install/reboot_in_progress note d-i cdrom-detect/eject boolean true # Scripts de post-installation pour BTRFS et Timeshift d-i preseed/late_command string \ in-target systemctl enable lightdm; \ in-target systemctl enable NetworkManager; \ in-target btrfs subvolume create /mnt/@home; \ in-target btrfs subvolume create /mnt/@snapshots; \ in-target btrfs subvolume create /mnt/@var; \ in-target btrfs subvolume create /mnt/@tmp; \ in-target mkdir -p /etc/timeshift; \ in-target echo 'backup_device_uuid = ""' > /etc/timeshift/timeshift.json; \ in-target echo 'parent_device_uuid = ""' >> /etc/timeshift/timeshift.json; \ in-target echo 'do_first_run = false' >> /etc/timeshift/timeshift.json; \ in-target echo 'btrfs_mode = true' >> /etc/timeshift/timeshift.json; \ in-target echo 'include_btrfs_home_for_backup = false' >> /etc/timeshift/timeshift.json; \ in-target echo 'include_btrfs_home_for_restore = false' >> /etc/timeshift/timeshift.json; \ in-target echo 'stop_cron_emails = true' >> /etc/timeshift/timeshift.json; \ in-target systemctl enable snapper-timeline.timer; \ in-target systemctl enable snapper-cleanup.timer; \ in-target snapper -c root create-config /; \ in-target update-grub # Interface interactive pour validation utilisateur d-i debconf/frontend select dialog d-i debconf/priority select medium