From 91d817cc17fad5bfcba6ea3406b1275e8695f658 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 16 Aug 2022 10:51:43 +0200 Subject: [PATCH] installer: partition: Add a confirmation page before formatting. Fixes: . * gnu/installer/newt/partition.scm (run-label-confirmation-page): New procedure. (run-label-page): Call the above procedure before proceeding. Signed-off-by: Mathieu Othacehe --- gnu/installer/newt/partition.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index 2adb4922b4..86607a8380 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018, 2019 Mathieu Othacehe +;;; Copyright © 2018, 2019, 2022 Mathieu Othacehe ;;; Copyright © 2019, 2020 Ludovic Courtès ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; @@ -92,6 +92,18 @@ disk. The installation device as well as the small devices are filtered.") (device (car result))) device)) +(define (run-label-confirmation-page callback) + (lambda (item) + (match (current-clients) + (() + (and (run-confirmation-page + (format #f (G_ "This will create a new ~a partition table, \ +all data on disk will be lost, are you sure you want to proceed?") item) + (G_ "Format disk?") + #:exit-button-procedure callback) + item)) + (_ item)))) + (define (run-label-page button-text button-callback) "Run a page asking the user to select a partition table label." ;; Force the GPT label if UEFI is supported. @@ -103,6 +115,8 @@ Be careful, all data on the disk will be lost.") #:title (G_ "Partition table") #:listbox-items '("msdos" "gpt") #:listbox-item->text identity + #:listbox-callback-procedure + (run-label-confirmation-page button-callback) #:button-text button-text #:button-callback-procedure button-callback)))