Files
wehub-resource-sync 3e779be6f3
CI / lint (push) Failing after 13m4s
CI / test (3.11, ubuntu-latest) (push) Failing after 2m4s
CI / test (3.13, ubuntu-latest) (push) Successful in 13m30s
CI / test (3.14, ubuntu-latest) (push) Successful in 17m21s
CI / test (3.12, ubuntu-latest) (push) Successful in 17m55s
CI / discover-apps-ps (push) Successful in 1m56s
CI / test (3.9, ubuntu-latest) (push) Successful in 13m17s
CI / test (3.10, ubuntu-latest) (push) Successful in 26m21s
CI / audit (push) Successful in 13m38s
Deploy site / deploy (push) Has been cancelled
CI / test (3.14, ubuntu-24.04-arm) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:37 +08:00

149 lines
5.5 KiB
TOML

# SPDX-License-Identifier: MIT
#
# Catalog of debloat items consumed by ``winpodx.core.debloat`` and
# exposed via ``winpodx debloat --list`` (and a future GUI picker).
#
# Each item is a TOML table:
#
# * ``label`` -- short user-facing name (shown in CLI / GUI lists).
# * ``description`` -- one-line explanation of what it disables / why.
# * ``script`` -- path under ``scripts/windows/debloat/`` to the
# PowerShell snippet that performs the action.
# Resolved against ``bundle_dir()`` at run time.
# * ``risk`` -- one of ``low`` / ``medium`` / ``high``.
# ``low`` = pure noise removal, no UX regression.
# ``medium`` = removes a feature some users want
# (OneDrive, common startup apps).
# ``high`` = trades a real capability for VM
# perf (Windows Search indexing).
# * ``undo_script`` -- (optional) path under ``scripts/windows/debloat/undo/``
# for the reverse-action ``.ps1``. Items without an
# ``undo_script`` field are flagged as one-way: ``winpodx
# debloat --undo --items <name>`` rejects them with a
# clear error. Used by #247 P2 to drive per-item undo
# + state tracking via ``%ProgramData%\winpodx\debloat-
# applied.json``.
#
# Presets in ``items_presets`` reference these item names. Adding a new
# item requires:
#
# 1. Append a ``[<name>]`` table here.
# 2. Drop the matching ``.ps1`` under ``scripts/windows/debloat/``.
# 3. (Optional) Drop an undo sibling under ``scripts/windows/debloat/undo/``
# and add the ``undo_script`` field to the table.
# 4. Add the name to whichever preset(s) it belongs to.
[items.telemetry]
label = "Telemetry & diagnostics"
description = "Disable DiagTrack / dmwappushservice services + AllowTelemetry policy."
script = "telemetry.ps1"
undo_script = "undo/telemetry.ps1"
risk = "low"
[items.ads]
label = "Ads & suggestions"
description = "Disable Start menu / lock-screen / settings ads (ContentDeliveryManager keys)."
script = "ads.ps1"
undo_script = "undo/ads.ps1"
risk = "low"
[items.onedrive]
label = "OneDrive"
description = "Remove OneDrive integration (uninstall + remove from File Explorer pane). One-way: undo requires reinstalling OneDrive from Microsoft."
script = "onedrive.ps1"
risk = "medium"
[items.sysmain]
label = "SuperFetch (SysMain)"
description = "Disable SysMain -- VM has no spinning disk; SuperFetch wastes RAM."
script = "sysmain.ps1"
undo_script = "undo/sysmain.ps1"
risk = "low"
[items.web_search]
label = "Cortana + Windows web search"
description = "Disable Cortana + Start menu web result lookups."
script = "web_search.ps1"
undo_script = "undo/web_search.ps1"
risk = "low"
[items.widgets]
label = "Widgets / news panel"
description = "Disable taskbar widgets + sliding news panel."
script = "widgets.ps1"
undo_script = "undo/widgets.ps1"
risk = "low"
[items.scheduled_tasks]
label = "Unnecessary scheduled tasks"
description = "Disable telemetry tasks: App Experience / CEIP / Feedback / WindowsAI + Office telemetry / Disk Diagnostic / Maps / RetailDemo / WER (no Defender, licensing, or update tasks)."
script = "scheduled_tasks.ps1"
undo_script = "undo/scheduled_tasks.ps1"
risk = "low"
[items.startup_programs]
label = "Common startup bloat"
description = "Disable common autostart entries (OneDrive, Teams, Skype, Spotify, Discord, OEM updaters). One-way: undo can't restore original autostart commands."
script = "startup_programs.ps1"
risk = "medium"
[items.visual_effects]
label = "Visual effects -> best performance"
description = "Disable animations; keep thumbnails, font smoothing, drag-window contents (sysguides recipe)."
script = "visual_effects.ps1"
undo_script = "undo/visual_effects.ps1"
risk = "low"
[items.search_indexing]
label = "Search indexing service"
description = "Disable the WSearch service. Tradeoff: Start menu search becomes file-system-walk slow."
script = "search_indexing.ps1"
undo_script = "undo/search_indexing.ps1"
risk = "high"
[items.transparency]
label = "Window transparency"
description = "Disable Windows acrylic / transparency effects (saves GPU + scanout bandwidth)."
script = "transparency.ps1"
undo_script = "undo/transparency.ps1"
risk = "low"
# ---------------------------------------------------------------------------
# Preset definitions. Each preset is an ordered list of item names; presets
# *seed* the picker's checkbox state, the actual run applies whatever the
# user has selected (which may diverge from any preset).
# ---------------------------------------------------------------------------
[presets]
# Current default. Conservative -- only zero-regression items.
normal = ["telemetry", "ads"]
# Adds OS-noise removal that some users notice (OneDrive, web search,
# widgets, scheduled tasks).
full = ["telemetry", "ads", "onedrive", "web_search", "widgets", "scheduled_tasks"]
# Adds VM-perf wins (SuperFetch, startup bloat, visual effects).
performance = [
"telemetry",
"ads",
"onedrive",
"web_search",
"widgets",
"scheduled_tasks",
"sysmain",
"startup_programs",
"visual_effects",
]
# Everything. Search indexing + transparency cost real UX in trade.
speed = [
"telemetry",
"ads",
"onedrive",
"web_search",
"widgets",
"scheduled_tasks",
"sysmain",
"startup_programs",
"visual_effects",
"search_indexing",
"transparency",
]