Files
OmniNX-Installer-Payload/source/deletion_lists_update.h
T
niklascfw c033b988ca Update mode: stop deleting user-installed apps and sysmodules
The update list deleted ~80 apps the pack never shipped (Goldleaf,
linkalho, Moonlight, NX-Shell, ...), Downloader sysmodules (SysDVR,
MissionControl, ldn_mitm, Fizeau), game title ID folders (mods/cheats),
and user folders like "Patched Apps" or "games". Anything a user
installed via OmniNX Downloader was wiped on every update.

Update mode only runs on an existing OmniNX install, so the list now
keeps only what the pack ships, components OmniNX dropped, and
boot-relevant housekeeping. Foreign-pack leftovers stay in the clean
list. Also drops 15 entries nested in deleted folders, a case-duplicate
(themezernx) and a trailing-space path.

tools/audit_update_list.py checks the list against the OmniNX repo.
2026-11-12 22:53:28 +01:00

221 lines
7.4 KiB
C

/*
* OmniNX Installer - Deletion Lists for Update Mode
* Selective deletion when OmniNX is already installed.
*
* Update mode only runs on an existing OmniNX install (manifest.ini), so this
* list only needs:
* - paths the current pack ships (removed first so the copy replaces them cleanly),
* - components OmniNX used to ship and dropped (e.g. sys-ticon),
* - boot-relevant housekeeping (logs, foreign exefs/kip patches, legacy boot files).
* Do NOT add apps, sysmodules or game title IDs a user can install on their own
* (e.g. via OmniNX Downloader); foreign-pack leftovers belong in the clean list.
* Check with: python3 tools/audit_update_list.py <path to OmniNX repo>
* After editing, regenerate the desktop list: python3 tools/generate_deletion_lists.py
*/
#pragma once
// Atmosphere subdirectories to delete
static const char* atmosphere_dirs_to_delete[] = {
"sd:/atmosphere/config",
"sd:/atmosphere/crash_reports",
"sd:/atmosphere/erpt_reports",
"sd:/atmosphere/exefs_patches/audio_mastervolume",
"sd:/atmosphere/exefs_patches/CrunchPatch",
"sd:/atmosphere/exefs_patches/SaltyNX_Fixes",
"sd:/atmosphere/exefs_patches/Crunchyroll Patch 1.10.0",
"sd:/atmosphere/exefs_patches/bluetooth_patches",
"sd:/atmosphere/exefs_patches/bootlogo",
"sd:/atmosphere/exefs_patches/btm_patches",
"sd:/atmosphere/exefs_patches/es_patches",
"sd:/atmosphere/exefs_patches/hid_patches",
"sd:/atmosphere/exefs_patches/logo",
"sd:/atmosphere/exefs_patches/nfim_ctest",
"sd:/atmosphere/exefs_patches/nim_ctest",
"sd:/atmosphere/exefs_patches/nvnflinger_cmu",
"sd:/atmosphere/extrazz",
"sd:/atmosphere/fatal_errors",
"sd:/atmosphere/fatal_reports",
"sd:/atmosphere/flags",
"sd:/atmosphere/hbl_html",
"sd:/atmosphere/hosts",
"sd:/atmosphere/kips",
"sd:/atmosphere/kip1",
"sd:/atmosphere/kip_patches",
"sd:/atmosphere/logs",
NULL
};
// Atmosphere contents directories (title IDs; only under atmosphere/contents/)
static const char* atmosphere_contents_dirs_to_delete[] = {
"sd:/atmosphere/contents/0000000000534C56",
"sd:/atmosphere/contents/00FF0000B378D640",
"sd:/atmosphere/contents/00FF0000636C6BFF",
"sd:/atmosphere/contents/0100000000000008",
"sd:/atmosphere/contents/010000000000000D",
"sd:/atmosphere/contents/010000000000002B",
"sd:/atmosphere/contents/0100000000000032",
"sd:/atmosphere/contents/0100000000000034",
"sd:/atmosphere/contents/0100000000000036",
"sd:/atmosphere/contents/0100000000000037",
"sd:/atmosphere/contents/010000000000003C",
"sd:/atmosphere/contents/0100000000000042",
"sd:/atmosphere/contents/0100000000000895",
"sd:/atmosphere/contents/0100000000001000",
"sd:/atmosphere/contents/0100000000001007",
"sd:/atmosphere/contents/0100000000001013",
"sd:/atmosphere/contents/010000000000DA7A",
"sd:/atmosphere/contents/050000BADDAD0000",
"sd:/atmosphere/contents/4200000000000000",
"sd:/atmosphere/contents/420000000000000B",
"sd:/atmosphere/contents/420000000000000E",
"sd:/atmosphere/contents/4200000000000FFF",
"sd:/atmosphere/contents/420000000007E51A",
"sd:/atmosphere/contents/420000000007E51B",
"sd:/atmosphere/contents/690000000000000D",
"sd:/atmosphere/contents/00FF747765616BFF", // sys-ticon (removed in 2.2.0)
NULL
};
// Atmosphere files to delete
static const char* atmosphere_files_to_delete[] = {
"sd:/atmosphere/hbl.nsp",
"sd:/atmosphere/package3",
"sd:/atmosphere/reboot_payload.bin",
"sd:/atmosphere/stratosphere.romfs",
NULL
};
// Bootloader directories to delete
static const char* bootloader_dirs_to_delete[] = {
"sd:/bootloader/boot",
"sd:/bootloader/bootlogo",
"sd:/bootloader/ini2",
"sd:/bootloader/payloads",
"sd:/bootloader/reboot",
"sd:/bootloader/res",
"sd:/bootloader/sys",
NULL
};
// Bootloader files to delete
static const char* bootloader_files_to_delete[] = {
"sd:/bootloader/ArgonNX.bin",
"sd:/bootloader/bootlogo.bmp",
"sd:/bootloader/hekate_ipl.ini",
"sd:/bootloader/nyx.ini",
"sd:/bootloader/patches.ini",
"sd:/bootloader/update.bin",
"sd:/bootloader/ini/EmuMMC ohne Mods.ini",
NULL
};
// Config directories to delete
static const char* config_dirs_to_delete[] = {
"sd:/config/nx-hbmenu",
"sd:/config/quickntp",
"sd:/config/sys-patch",
"sd:/config/ultrahand",
NULL
};
// 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/.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/Benchmark-Toolbox",
"sd:/switch/breeze",
"sd:/switch/cheats-updater",
"sd:/switch/chiaki",
"sd:/switch/Daybreak",
"sd:/switch/DNS-Block_Tester",
"sd:/switch/DNS_mitm Tester",
"sd:/switch/Furmark-NX",
"sd:/switch/JKSV",
"sd:/switch/Linkalho",
"sd:/switch/NXGallery",
"sd:/switch/SimpleModAlchemist",
"sd:/switch/SimpleModDownloader",
"sd:/switch/sphaira",
"sd:/switch/Switch_themes_Installer",
"sd:/switch/swr-ini-tool",
"sd:/switch/Sys-Clk Manager",
"sd:/switch/ThemezerNX",
"sd:/switch/tinwoo",
"sd:/switch/Ultrahand-Reload",
NULL
};
// Switch files (NRO) to delete
static const char* switch_files_to_delete[] = {
"sd:/switch/DBI/DBI.nro",
"sd:/switch/DBI/DBI_EN.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
};
// Root CFW files to delete
static const char* root_files_to_delete[] = {
"sd:/boot.dat",
"sd:/boot.ini",
"sd:/exosphere.bin",
"sd:/exosphere.ini",
"sd:/hbmenu.nro",
"sd:/install.bat",
"sd:/license",
"sd:/loader.bin",
"sd:/mc-mitm.log",
"sd:/payload.bin",
"sd:/update.bin",
"sd:/version",
NULL
};
// Miscellaneous directories to delete
static const char* misc_dirs_to_delete[] = {
"sd:/argon",
"sd:/hwtest",
"sd:/SaltySD/flags",
"sd:/switch/tinfoil/db",
"sd:/themes/systemData",
"sd:/warmboot_mariko",
NULL
};
// Miscellaneous files to delete
static const char* misc_files_to_delete[] = {
"sd:/fusee-primary.bin",
"sd:/fusee.bin",
"sd:/SaltySD/exceptions.txt",
"sd:/SaltySD/saltysd_bootstrap.elf",
"sd:/SaltySD/saltysd_bootstrap32_3k.elf",
"sd:/SaltySD/saltysd_bootstrap32_5k.elf",
"sd:/SaltySD/saltysd_core.elf",
"sd:/SaltySD/saltysd_core32.elf",
NULL
};