From: Lucky Mahendra Purba <luckymahendra080503@gmail.com>
Date: Fri, 23 Jan 2026 11:51:47 +0000
Subject: [PATCH] <short summary of the patch>

TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, the
information below has been extracted from the changelog. Adjust it or drop
it.
---
 add-calamares-desktop-icon                         | 28 ++++++++--------
 calamares-install-blankon                          | 15 +++++++++
 calamares-install-blankon.desktop                  | 13 ++++++++
 calamares/branding/blankon/branding.desc           | 37 ++++++++++++++++++++++
 calamares/branding/{debian => blankon}/show.qml    | 24 ++++++++++++--
 calamares/modules/bootloader.conf                  |  2 +-
 calamares/modules/packages.conf                    |  2 +-
 calamares/settings.conf                            |  2 +-
 .../96_calamares-settings-blankon.gschema.override | 10 ++++++
 helpers/calamares-bootloader-config                |  2 +-
 helpers/calamares-sources-final                    | 21 ++++--------
 helpers/calamares-sources-media                    |  6 ++--
 12 files changed, 124 insertions(+), 38 deletions(-)
 create mode 100644 calamares-install-blankon
 create mode 100644 calamares-install-blankon.desktop
 create mode 100644 calamares/branding/blankon/branding.desc
 copy calamares/branding/{debian => blankon}/show.qml (66%)
 create mode 100644 conf/96_calamares-settings-blankon.gschema.override

diff --git a/add-calamares-desktop-icon b/add-calamares-desktop-icon
index 8b64954..3b7068d 100755
--- a/add-calamares-desktop-icon
+++ b/add-calamares-desktop-icon
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Creates an "Install Debian" icon on the live session tested with:
+# Creates an "Install BlankOn" icon on the live session tested with:
 # Xfce, LXDE, LXqt, Gnome, KDE, Mate, Cinnamon
 
 # We query xdg-user-dir because the Desktop directory has different
@@ -10,30 +10,30 @@ DESKTOP=$(xdg-user-dir DESKTOP)
 # creation script.
 mkdir -p $DESKTOP
 
-# Among the Debian desktop environments, LXDE is the only one
+# Among the BlankOn desktop environments, LXDE is the only one
 # that behaves completely different.
 if [ -f /usr/bin/lxsession ]; then
-    echo "[Desktop Entry]" > $DESKTOP/calamares-install-debian.desktop
-    echo "Type=Link" >> $DESKTOP/calamares-install-debian.desktop
-    echo "Name=Install Debian" >> $DESKTOP/calamares-install-debian.desktop
-    echo "Icon=install-debian" >> $DESKTOP/calamares-install-debian.desktop
-    echo "URL=/usr/share/applications/calamares-install-debian.desktop" \
-          >> $DESKTOP/calamares-install-debian.desktop
+    echo "[Desktop Entry]" > $DESKTOP/calamares-install-blankon.desktop
+    echo "Type=Link" >> $DESKTOP/calamares-install-blankon.desktop
+    echo "Name=Install BlankOn" >> $DESKTOP/calamares-install-blankon.desktop
+    echo "Icon=install-blankon" >> $DESKTOP/calamares-install-blankon.desktop
+    echo "URL=/usr/share/applications/calamares-install-blankon.desktop" \
+          >> $DESKTOP/calamares-install-blankon.desktop
 else
-    cp /usr/share/applications/calamares-install-debian.desktop $DESKTOP
+    cp /usr/share/applications/calamares-install-blankon.desktop $DESKTOP
     # Xfce needs this executable otherwise it complains, everything
     # else doesn't seem to care either way.
-    chmod +x $DESKTOP/calamares-install-debian.desktop
+    chmod +x $DESKTOP/calamares-install-blankon.desktop
 fi
 
 # Set desktop launcher as trusted under Xfce (See: #1037299)
 if [ "$XDG_CURRENT_DESKTOP" = "XFCE" ]; then
-    gio set --type=string ~/Desktop/calamares-install-debian.desktop \
+    gio set --type=string ~/Desktop/calamares-install-blankon.desktop \
         metadata::trusted true
-    gio set --type=string ~/Desktop/calamares-install-debian.desktop \
+    gio set --type=string ~/Desktop/calamares-install-blankon.desktop \
         metadata::xfce-exe-checksum \
-        "$(sha256sum ~/Desktop/calamares-install-debian.desktop | cut -f1 -d' ')"
-    touch ~/Desktop/calamares-install-debian.desktop
+        "$(sha256sum ~/Desktop/calamares-install-blankon.desktop | cut -f1 -d' ')"
+    touch ~/Desktop/calamares-install-blankon.desktop
 fi
 
 # Preload calamares binaries and libraries using idle disk cycles
diff --git a/calamares-install-blankon b/calamares-install-blankon
new file mode 100644
index 0000000..f4ae3d2
--- /dev/null
+++ b/calamares-install-blankon
@@ -0,0 +1,15 @@
+#!/bin/sh
+###
+# Wrapper for running calamares on Debian live media
+###
+
+# Stale file left behind by live-build that messes with partitioning
+sudo mv /etc/fstab /etc/fstab.orig.calamares
+
+# Access control to run calamares as root for xwayland
+xhost +si:localuser:root
+pkexec calamares -d > /tmp/calamares-blankon.log
+xhost -si:localuser:root
+
+# Restore stale fstab, for what it's worth
+sudo mv /etc/fstab.orig.calamares /etc/fstab
diff --git a/calamares-install-blankon.desktop b/calamares-install-blankon.desktop
new file mode 100644
index 0000000..dfcdf54
--- /dev/null
+++ b/calamares-install-blankon.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Type=Application
+Version=1.0
+Name=Install BlankOn
+GenericName=Calamares Installer
+Exec=install-blankon
+Comment=Calamares — Installer for BlankOn Live
+Keywords=calamares;system;install;blankon;installer
+Icon=install-blankon
+Terminal=false
+Categories=Qt;System;
+StartupWMClass=calamares
+StartupNotify=True
diff --git a/calamares/branding/blankon/branding.desc b/calamares/branding/blankon/branding.desc
new file mode 100644
index 0000000..2e498fa
--- /dev/null
+++ b/calamares/branding/blankon/branding.desc
@@ -0,0 +1,37 @@
+---
+componentName:   blankon
+welcomeStyleCalamares: true
+welcomeExpandingLogo: true
+windowExpanding: normal
+windowSize: 800px,520px
+windowPlacement: center
+
+strings:
+    productName:         BlankOn GNU/Linux
+    shortProductName:    BlankOn
+    version:             12 (verbeek)
+    shortVersion:        12
+    versionedName:       BlankOn 12 (verbeek)
+    shortVersionedName:  BlankOn 12
+    bootloaderEntryName: BlankOn
+    productUrl:          https://blankon.github.io/
+    supportUrl:          https://blankon.github.io/
+    knownIssuesUrl:      https://github.com/BlankOn/revival/issues
+    releaseNotesUrl:     https://blankon.github.io/
+    donateUrl:           https://blankon.github.io/
+
+images:
+    productLogo:         "blankon-logo.png"
+    productIcon:         "blankon-logo.png"
+    productWelcome:      "welcome.png"
+    # productWallpaper:  "wallpaper.png"
+
+slideshow:               "show.qml"
+
+style:
+   sidebarBackground:    "#2c3133"
+   sidebarText:          "#FFFFFF"
+   sidebarTextSelect:    "#4d7079"
+   sidebarTextSelect:    "#292F34"
+
+slideshowAPI: 2
diff --git a/calamares/branding/debian/show.qml b/calamares/branding/blankon/show.qml
similarity index 66%
copy from calamares/branding/debian/show.qml
copy to calamares/branding/blankon/show.qml
index 81be54d..ba0054c 100644
--- a/calamares/branding/debian/show.qml
+++ b/calamares/branding/blankon/show.qml
@@ -24,7 +24,7 @@ Presentation
     id: presentation
 
     Timer {
-        interval: 20000
+        interval: 15000
         repeat: true
         onTriggered: presentation.goToNextSlide()
     }
@@ -40,8 +40,26 @@ Presentation
         Text {
             anchors.horizontalCenter: background1.horizontalCenter
             anchors.top: background1.bottom
-            text: qsTr("Welcome to Debian GNU/Linux.<br/>"+
-                  "The rest of the installation is automated and should complete in a few minutes.")
+            text: "Selamat datang di BlankOn GNU/Linux.<br/>"+
+                  "Selanjutnya, pemasangan akan dijalankan secara otomatis dan akan selesai dalam beberapa menit lagi."
+            wrapMode: Text.WordWrap
+            width: 600
+            horizontalAlignment: Text.Center
+        }
+    }
+
+    Slide {
+        Image {
+            id: background2
+            source: "slide1.png"
+            width: 467; height: 280
+            fillMode: Image.PreserveAspectFit
+            anchors.centerIn: parent
+        }
+        Text {
+            anchors.horizontalCenter: background2.horizontalCenter
+            anchors.top: background2.bottom
+            text: "Siap untuk memulai kemandirian berperangkat lunak?"
             wrapMode: Text.WordWrap
             width: 600
             horizontalAlignment: Text.Center
diff --git a/calamares/modules/bootloader.conf b/calamares/modules/bootloader.conf
index e2e6dc8..1e0bcb8 100644
--- a/calamares/modules/bootloader.conf
+++ b/calamares/modules/bootloader.conf
@@ -43,7 +43,7 @@ efiBootMgr: "efibootmgr"
 # setting the option here, keep in mind that the name is sanitized
 # (problematic characters, see above, are replaced).
 #
-# efiBootloaderId: "dirname"
+efiBootloaderId: "BlankOn"
 
 # Optionally install a copy of the GRUB EFI bootloader as the EFI
 # fallback loader (either bootia32.efi or bootx64.efi depending on
diff --git a/calamares/modules/packages.conf b/calamares/modules/packages.conf
index e18bae0..86fb835 100644
--- a/calamares/modules/packages.conf
+++ b/calamares/modules/packages.conf
@@ -11,4 +11,4 @@ operations:
       - 'live-tools'
       - 'live-task-localisation'
       - 'live-task-recommended'
-      - 'calamares-settings-debian'
+      - 'calamares-settings-blankon'
diff --git a/calamares/settings.conf b/calamares/settings.conf
index c452c6f..c4b2794 100644
--- a/calamares/settings.conf
+++ b/calamares/settings.conf
@@ -102,7 +102,7 @@ sequence:
 # Only the name of the branding component (directory) should be
 # specified here, Calamares then takes care of finding it and
 # loading the contents.
-branding: debian
+branding: blankon
 
 # If this is set to true, Calamares will show an "Are you sure?" prompt right
 # before each execution phase, i.e. at points of no return. If this is set to
diff --git a/conf/96_calamares-settings-blankon.gschema.override b/conf/96_calamares-settings-blankon.gschema.override
new file mode 100644
index 0000000..f9a21ac
--- /dev/null
+++ b/conf/96_calamares-settings-blankon.gschema.override
@@ -0,0 +1,10 @@
+# Launcher icons
+[org.gnome.shell]
+favorite-apps=['install-blankon.desktop', 'firefox.desktop', 'org.gnome.Terminal.desktop', 'rhythmbox.desktop', 'libreoffice-writer.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop', 'yelp.desktop']
+
+# We don't want the screensaver to enable on the live media while installing
+[org.gnome.desktop.lockdown]
+disable-lock-screen=true
+
+[org.gnome.desktop.session]
+idle-delay=0
diff --git a/helpers/calamares-bootloader-config b/helpers/calamares-bootloader-config
index 5c0ec9f..fcf589f 100755
--- a/helpers/calamares-bootloader-config
+++ b/helpers/calamares-bootloader-config
@@ -23,5 +23,5 @@ else
 fi
 
 # Re-enable os-prober:
-sed -i "s/#GRUB_DISABLE_OS_PROBER=false/# OS_PROBER re-enabled by Debian Calamares installation:\nGRUB_DISABLE_OS_PROBER=false/g" $CHROOT/etc/default/grub
+sed -i "s/#GRUB_DISABLE_OS_PROBER=false/# OS_PROBER re-enabled by Blankon Calamares installation:\nGRUB_DISABLE_OS_PROBER=false/g" $CHROOT/etc/default/grub
 chroot $CHROOT /usr/sbin/update-grub
diff --git a/helpers/calamares-sources-final b/helpers/calamares-sources-final
index de19a50..8eff21a 100755
--- a/helpers/calamares-sources-final
+++ b/helpers/calamares-sources-final
@@ -4,22 +4,15 @@
 #
 
 CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
-RELEASE="trixie"
+RELEASE="verbeek"
 
-cat << EOF > $CHROOT/etc/apt/sources.list
-# See https://wiki.debian.org/SourcesList for more information.
-deb http://deb.debian.org/debian $RELEASE main non-free-firmware
-deb-src http://deb.debian.org/debian $RELEASE main non-free-firmware
+cat <<EOF > $CHROOT/etc/apt/blankon.sources
+Types: deb deb-src
+URIs: http://arsip-dev.blankonlinux.id/dev/
+Suites: $RELEASE
+Components: main extras restricted restricted-firmware
+Signed-By: /usr/share/keyrings/blankon-archive-keyring.gpg
 
-deb http://deb.debian.org/debian $RELEASE-updates main non-free-firmware
-deb-src http://deb.debian.org/debian $RELEASE-updates main non-free-firmware
-
-deb http://security.debian.org/debian-security/ $RELEASE-security main non-free-firmware
-deb-src http://security.debian.org/debian-security/ $RELEASE-security main non-free-firmware
-
-# Backports allow you to install newer versions of software made available for this release
-deb http://deb.debian.org/debian $RELEASE-backports main non-free-firmware
-deb-src http://deb.debian.org/debian $RELEASE-backports main non-free-firmware
 EOF
 
 exit 0
diff --git a/helpers/calamares-sources-media b/helpers/calamares-sources-media
index cff0c1d..a3d3833 100755
--- a/helpers/calamares-sources-media
+++ b/helpers/calamares-sources-media
@@ -2,7 +2,7 @@
 
 CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
 KNOWN_MEDIUM_PATHS="/run/live/medium /run/initramfs/live"
-RELEASE="trixie"
+RELEASE="verbeek"
 
 # Support both dracut and initramfs configurations to avoid substitutions
 # in live-build, see: #1089618
@@ -14,7 +14,7 @@ done
 
 if [ "$1" = "-u" ]; then
     umount $CHROOT/$MEDIUM_PATH
-    rm $CHROOT/etc/apt/sources.list.d/debian-live-media.list
+    rm $CHROOT/etc/apt/sources.list.d/blankon-live-media.list
     chroot $CHROOT apt-get update
     exit 0
 fi
@@ -24,7 +24,7 @@ rm -f $CHROOT/etc/apt/sources.list.d/base.list
 
 mkdir -p $CHROOT/$MEDIUM_PATH
 mount --bind $MEDIUM_PATH $CHROOT/$MEDIUM_PATH
-echo "deb [trusted=yes] file:$MEDIUM_PATH $RELEASE main" > $CHROOT/etc/apt/sources.list.d/debian-live-media.list
+echo "deb [trusted=yes] file:$MEDIUM_PATH $RELEASE main" > $CHROOT/etc/apt/sources.list.d/blankon-live-media.list
 chroot $CHROOT apt-get update
 # Attempt safest way to remove cruft
 rmdir $CHROOT/run/live/medium
