# ============================================================
# RMTechCentral Project Configuration
# Centralized Paths & Variables for Automation Scripts
# ============================================================

# Project Root
$Global:ProjectRoot = Split-Path -Parent (Split-Path -Parent $PSScriptRoot)

# ------------------------------
# Metadata
# ------------------------------
$Global:ReleaseInfo = @{
    Channel = 'Public'  # Internal | Public
	Version = "1.1"
}

$Global:RMTechMeta = @{
    User    = [Environment]::UserName
    Machine = $env:COMPUTERNAME

    Author  = "Robert Mayer"
    Website = "https://www.rmtechcentral.com"
    Purpose = "Scripted Windows Image Servicing"
}

# ------------------------------------------------------------
# Core Project Paths
# ------------------------------------------------------------
$Global:Paths = @{
    ScriptsRoot     = Join-Path $ProjectRoot "Scripts"

    WIMSourceRoot   = Join-Path $ProjectRoot "WIM\WIM_Source"
    WIMMountRoot    = Join-Path $ProjectRoot "WIM\WIM_Extracted\Mount"
    WIMSkeleton     = Join-Path $ProjectRoot "WIM\WIM_Skeleton"
    WIMPersistent   = Join-Path $ProjectRoot "WIM\Persistent"

    AppxBundlesRoot = Join-Path $ProjectRoot "Dependencies\AppX_Bundles"
    OscdimgRoot     = Join-Path $ProjectRoot "Dependencies\Oscdimg"

    GoldISOSource   = Join-Path $ProjectRoot "ISO\ISO_Source"
    ISOExtracted    = Join-Path $ProjectRoot "ISO\ISO_Extracted"
    ISOCompiled     = Join-Path $ProjectRoot "ISO\ISO_Compiled"
    ISOSources      = Join-Path $ProjectRoot "ISO\ISO_Extracted\sources"
    ISOSkeleton     = Join-Path $ProjectRoot "ISO\ISO_Skeleton"
    ISOPersistent   = Join-Path $ProjectRoot "ISO\Persistent"
}

# ------------------------------------------------------------
# WIM Paths
# ------------------------------------------------------------
$Global:WIM = @{
    SourceInstallWIM = Join-Path $Paths.WIMSourceRoot "install.wim"
    DestInstallWIM   = Join-Path $Paths.ISOSources "install.wim"
}

# ------------------------------------------------------------
# ISO Output & Boot Files
# ------------------------------------------------------------
$Global:ISO = @{
    OutputISO = Join-Path $Paths.ISOCompiled "en-us_rmtechcentral_windows_11_enterprise_ltsc_2024_x64.iso"

    BootEtfs  = Join-Path $Paths.ISOExtracted "boot\etfsboot.com"
    BootEfi   = Join-Path $Paths.ISOExtracted "efi\microsoft\boot\efisys.bin"
}
