From 25c9f01c679ee04aff423df0e5339fa820dd4f4e Mon Sep 17 00:00:00 2001 From: niklascfw Date: Mon, 9 Nov 2026 17:46:34 +0100 Subject: [PATCH] Keep user packages and overlays across updates. Replace only the OmniNX-shipped package folders and overlays so those stay current without wiping anything the user added. --- .../Data/DeletionLists.Generated.cs | 27 ++++++++++++++-- source/deletion_lists_update.h | 31 +++++++++++++++++-- 2 files changed, 53 insertions(+), 5 deletions(-) diff --git a/desktop/OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs b/desktop/OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs index 8fadc98..757fd3c 100644 --- a/desktop/OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs +++ b/desktop/OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs @@ -243,8 +243,18 @@ public static partial class DeletionLists public static readonly string[] switch_dirs_to_delete = { - @"switch\.packages", - @"switch\.overlays", + @"switch\.packages\.offload", + @"switch\.packages\Alchemist", + @"switch\.packages\Cool Curves", + @"switch\.packages\HOC Toolkit", + @"switch\.packages\Installer Configurator", + @"switch\.packages\Memory Config", + @"switch\.packages\Memory Kit", + @"switch\.packages\Memory Switcher", + @"switch\.packages\OmniNX Downloader", + @"switch\.packages\Package Manager", + @"switch\.packages\RebootNX", + @"switch\.overlays\.offload", @"switch\90DNS_tester", @"switch\aio-switch-updater", @"switch\amsPLUS-downloader", @@ -363,6 +373,19 @@ public static partial class DeletionLists @"switch\tinwoo.nro", @"switch\tinwoo\tinwoo.nro", @"switch\Ultrahand-Reload\Ultrahand-Reload.nro", + @"switch\.packages\boot_package.ini", + @"switch\.packages\package.ini", + @"switch\.overlays\DNS-MITM_Manager.ovl", + @"switch\.overlays\FPSLocker.ovl", + @"switch\.overlays\MasterVolume.ovl", + @"switch\.overlays\QuickNTP.ovl", + @"switch\.overlays\ReverseNX-RT-ovl.ovl", + @"switch\.overlays\Status-Monitor-Overlay.ovl", + @"switch\.overlays\horizon-oc-overlay.ovl", + @"switch\.overlays\ovlEdiZon.ovl", + @"switch\.overlays\ovlSysmodules.ovl", + @"switch\.overlays\ovlmenu.ovl", + @"switch\.overlays\sys-patch-overlay.ovl", }; public static readonly string[] root_files_to_delete = diff --git a/source/deletion_lists_update.h b/source/deletion_lists_update.h index d96e533..89b9475 100644 --- a/source/deletion_lists_update.h +++ b/source/deletion_lists_update.h @@ -125,10 +125,22 @@ static const char* config_dirs_to_delete[] = { NULL }; -// Switch directories to delete +// Switch directories to delete. +// User packages and overlays are kept. OmniNX-shipped package folders are +// removed so the copy replaces them cleanly. .offload is the old hide tree. static const char* switch_dirs_to_delete[] = { - "sd:/switch/.packages", - "sd:/switch/.overlays", + "sd:/switch/.packages/.offload", + "sd:/switch/.packages/Alchemist", + "sd:/switch/.packages/Cool Curves", + "sd:/switch/.packages/HOC Toolkit", + "sd:/switch/.packages/Installer Configurator", + "sd:/switch/.packages/Memory Config", + "sd:/switch/.packages/Memory Kit", + "sd:/switch/.packages/Memory Switcher", + "sd:/switch/.packages/OmniNX Downloader", + "sd:/switch/.packages/Package Manager", + "sd:/switch/.packages/RebootNX", + "sd:/switch/.overlays/.offload", "sd:/switch/90DNS_tester", "sd:/switch/aio-switch-updater", "sd:/switch/amsPLUS-downloader", @@ -248,6 +260,19 @@ static const char* switch_files_to_delete[] = { "sd:/switch/tinwoo.nro", "sd:/switch/tinwoo/tinwoo.nro", "sd:/switch/Ultrahand-Reload/Ultrahand-Reload.nro", + "sd:/switch/.packages/boot_package.ini", + "sd:/switch/.packages/package.ini", + "sd:/switch/.overlays/DNS-MITM_Manager.ovl", + "sd:/switch/.overlays/FPSLocker.ovl", + "sd:/switch/.overlays/MasterVolume.ovl", + "sd:/switch/.overlays/QuickNTP.ovl", + "sd:/switch/.overlays/ReverseNX-RT-ovl.ovl", + "sd:/switch/.overlays/Status-Monitor-Overlay.ovl", + "sd:/switch/.overlays/horizon-oc-overlay.ovl", + "sd:/switch/.overlays/ovlEdiZon.ovl", + "sd:/switch/.overlays/ovlSysmodules.ovl", + "sd:/switch/.overlays/ovlmenu.ovl", + "sd:/switch/.overlays/sys-patch-overlay.ovl", NULL };