Skip to main content

Overview

AtlasOS uses YAML configuration files to define system modifications in a declarative format. These files are located in the Configuration/ directory and are organized by purpose and category.

Directory Structure

YAML File Structure

All configuration files follow a standardized YAML structure:

Required Fields

string
required
Human-readable name for the configuration
string
required
Explanation of what the configuration does
array
required
List of actions to execute

Optional Fields

boolean
default:"true"
Whether to run during playbook upgrades

Core Configuration Files

services.yml

Configures Windows services and drivers to reduce background resource usage.

custom.yml

The root orchestration file that coordinates all configuration tasks.

Tweak Categories

Debloat

Removes unnecessary Windows features, scheduled tasks, and bloatware. Example: Disable Scheduled Tasks
  • config-content-delivery.yml - Disable content delivery features
  • config-storage-sense.yml - Configure Storage Sense
  • disable-reserved-storage.yml - Disable reserved storage
  • disable-scheduled-tasks.yml - Disable telemetry scheduled tasks
  • hide-unused-security-pages.yml - Hide unused security settings

Performance

Optimizations to improve system responsiveness and reduce resource usage. Example: Configure MMCSS
  • config-automatic-maintenance.yml - Configure Windows maintenance
  • config-mmcss.yml - Multimedia Class Scheduler Service settings
  • disable-auto-folder-discovery.yml - Disable automatic folder type detection
  • disable-background-apps.yml - Prevent apps from running in background
  • disable-fth.yml - Disable Fault Tolerant Heap
  • disable-game-bar.yml - Disable Xbox Game Bar
  • disable-sleep-study.yml - Disable Modern Standby sleep study
  • respect-power-modes-search.yml - Make search respect power modes

Privacy

Enhances user privacy by disabling telemetry and data collection.
Telemetry (privacy/telemetry/)
  • disable-activation-telemetry.yml - Disable activation telemetry
  • disable-ceip.yml - Disable Customer Experience Improvement Program
  • disable-diagnostic-tracing.yml - Disable diagnostic tracing
  • disable-dotnet-cli-telemetry.yml - Disable .NET CLI telemetry
  • disable-input-telemetry.yml - Disable input data collection
  • disallow-data-collection.yml - Disallow general data collection
Other Privacy
  • Advertising controls
  • Cloud sync settings
  • Cortana configuration
  • Feedback controls
  • OneDrive integration

Quality of Life (QOL)

Usability improvements and annoyance removals.
  • add-sharing-settings-shortcut.yml - Add sharing settings to context menu
  • bcdedit-tweaks.yml - Boot configuration tweaks
  • best-wallpaper-quality.yml - Set maximum wallpaper quality
  • config-powershell.yml - Configure PowerShell environment
  • config-start-menu.yml - Start menu customization
  • disable-auto-app-archival.yml - Prevent automatic app archival
  • disable-dynamic-lighting.yml - Disable RGB lighting control
  • disable-mouse-accel.yml - Disable mouse acceleration
  • config-windows-ink-workspace.yml - Configure Windows Ink

Security

Security-related configurations.
  • Defender settings
  • Firewall rules
  • Security mitigations
  • User Account Control settings

Networking

Network stack optimizations and configurations.
  • TCP/IP stack optimizations
  • DNS configuration
  • Network adapter settings
  • QoS settings

Miscellaneous

Other system tweaks that don’t fit specific categories.
  • add-music-videos-to-home.yml - Add media folders to home
  • add-newUser-script.yml - Add new user setup script
  • config-oem-information.yml - Set OEM information
  • config-time.yml - Time and timezone configuration
  • create-shortcuts.yml - Create system shortcuts
  • delete-windows-specific-files.yml - Remove Windows-specific files
  • enable-notifications.yml - Enable notification system
  • enable-winre.yml - Enable Windows Recovery Environment

Scripts

Script-based tweaks that require more complex logic.

Action Types

Registry Actions

string
required
Registry key path
string
required
Registry value name
string
Value data (for add operation)
string
Registry value type: REG_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_MULTI_SZ
string
default:"add"
Operation: add or delete

Scheduled Task Actions

string
required
Task path in Task Scheduler
string
required
Operation: disable, enable, or delete
boolean
default:"false"
Continue if task doesn’t exist

PowerShell Actions

string
required
PowerShell command or script to execute
boolean
default:"false"
Wait for command to complete before continuing
boolean
default:"false"
Execute from playbook’s Executables directory
string
Execution context: currentUser, currentUserElevated, system
boolean
default:"true"
Run during Out-Of-Box Experience (OOBE)
boolean
default:"true"
Run during playbook upgrades

Command Actions

string
required
Command or batch file to execute
boolean
default:"false"
Execute from playbook’s Executables directory
boolean
default:"false"
Wait for command to complete
string
Execution context: currentUser, currentUserElevated, system

Task Actions

string
required
Relative path to another YAML configuration file

Service Actions

string
required
Service name
string
required
Operation: disable, enable, delete, start, stop

Status Update Actions

string
required
Status message to display to user

Best Practices

Use Descriptive Names

File names should clearly indicate what the configuration doesGood: disable-scheduled-tasks.ymlBad: tasks.yml

Add Comments

Include comments explaining why changes are made

Handle Errors

Use ignoreErrors: true for optional or system-specific tasks

Test Upgrades

Set onUpgrade: false for one-time setup tasks

Execution Order

Configuration files are executed in this order:
  1. atlas/start.yml - Initial setup
  2. atlas/services.yml - Service configuration
  3. atlas/components.yml - Component modifications
  4. atlas/appx.yml - App package management
  5. atlas/default.yml - Default settings
  6. atlas/revert.yml - Revert script setup
  7. tweaks.yml - All tweaks orchestration
The custom.yml file orchestrates this execution order and includes additional setup and cleanup tasks.

Playbook Structure

Understand the overall playbook format

Executables

Learn about scripts and tools