Skip to content

Commit 25b24cf

Browse files
authored
Merge pull request #998 from Atlas-OS/dev
2 parents eacde7c + 3775372 commit 25b24cf

File tree

464 files changed

+4739
-4677
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

464 files changed

+4739
-4677
lines changed
File renamed without changes.

.github/workflows/apbx.yaml

Lines changed: 44 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,18 @@ name: Create and Validate Atlas Playbook
33
on:
44
push:
55
paths:
6-
- 'src/**'
6+
- "src/**"
77

88
env:
9-
PACKAGE_PATH: '..\Atlas\src\playbook\Executables\AtlasModules\Packages'
10-
SXSC_REPO: 'https://github.com/Atlas-OS/sxsc'
9+
SXSC_REPO: "https://github.com/Atlas-OS/sxsc"
1110

1211
jobs:
1312
package-build:
1413
runs-on: windows-latest
1514

1615
steps:
1716
- name: Checkout code
18-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1918
with:
2019
ref: ${{ github.ref }}
2120
token: ${{ secrets.RUNNER_SECRET }}
@@ -29,54 +28,72 @@ jobs:
2928
- 'src/sxsc/*.yaml'
3029
3130
- name: Copy modified .yamls
32-
if: steps.changed-files.outputs.sxsc_any_changed == 'true'
33-
id: copy_yamls
3431
run: |
35-
$configs = "..\configs"
32+
$sxsc = '.\src\sxsc'
33+
$configs = '..\configs'
3634
mkdir $configs | Out-Null
3735
38-
$changedFiles = "${{ steps.changed-files.outputs.sxsc_all_changed_files }}" -split ' '
36+
if ('${{ steps.changed-files.outputs.sxsc_any_changed }}' -eq 'true') {
37+
$changedFiles = '${{ steps.changed-files.outputs.sxsc_all_changed_files }}' -split ' '
38+
} elseif (Test-Path "$sxsc\regenAllConfigs") {
39+
Write-Output "Regenerating all configs..."
40+
Remove-Item -Path "$sxsc\regenAllConfigs" -Force
41+
Remove-Item -Path ".\src\playbook\Executables\AtlasModules\Packages\*.cab" -Force -Recurse
42+
$changedFiles = Get-ChildItem $sxsc -Filter *.yaml
43+
} else {
44+
Write-Output "Not building any packages, no sxsc config changes detected."
45+
"runSxsc=false" >> $env:GITHUB_ENV
46+
exit
47+
}
3948
49+
"runSxsc=true" >> $env:GITHUB_ENV
4050
foreach ($file in $changedFiles) {
41-
Write-Output "Copying: $file"
42-
Copy-Item $file $configs -Force
51+
Write-Output "Copying: $file"
52+
Copy-Item $file $configs -Force
4353
}
4454
4555
- name: Clone the sxsc repository
4656
run: |
4757
git clone --depth=1 ${{ env.SXSC_REPO }}
4858
Copy-Item -Path "configs" -Destination ".\sxsc\configs" -Recurse -Force
4959
working-directory: ..
50-
if: ${{ steps.copy_yamls.outcome != 'skipped' }}
60+
if: env.runSxsc == 'true'
5161

5262
- name: Build CAB
5363
run: |
54-
Write-Host "Installing dependencies..."
64+
Write-Output "Installing dependencies..."
5565
pip install -r requirements.txt | Out-Null
5666
57-
$packagePath = "${{ env.PACKAGE_PATH }}"
58-
mkdir $packagePath -EA SilentlyContinue | Out-Null
59-
Get-ChildItem -Recurse "configs" -Filter *.yaml | ForEach-Object {
60-
Write-Host "`nProcessing $($_.Name)`n------------------------------------------------------"
67+
$atlasSrcPath = '..\Atlas\src\'
68+
$packagePath = "$atlasSrcPath\playbook\Executables\AtlasModules\Packages"
69+
mkdir $packagePath -EA 0 | Out-Null
70+
Get-ChildItem "configs" -Filter *.yaml | ForEach-Object {
71+
Write-Output "`n`nProcessing $($_.Name)`n------------------------------------------------------"
6172
Copy-Item -Path $_.FullName -Destination "cfg.yaml" -Force | Out-Null
6273
63-
Write-Host "Generating package files..."
74+
$folderDir = ".\$atlasSrcPath\sxsc\$($_.Name -replace '-Arm','')"
75+
if (Test-Path $folderDir -PathType Container) {
76+
Write-Output "Copying $($_.Name)'s files..."
77+
Copy-Item -Path "$folderDir\*" -Destination '.\' -Recurse -Force | Out-Null
78+
}
79+
80+
Write-Output "Generating package files..."
6481
python sxsc.py
6582
if ($LASTEXITCODE -ne 0) { exit 1 }
6683
67-
Write-Host "Building package..."
84+
Write-Output "Building package..."
6885
.\build.bat
6986
70-
Write-Host "Copying package to AtlasModules..."
87+
Write-Output "Copying package to AtlasModules..."
7188
Get-ChildItem -File -Recurse -Filter *.cab | ForEach-Object {
7289
Copy-Item -Path $_.FullName -Destination $packagePath -Force
7390
}
7491
75-
Write-Host "Cleaning up..."
92+
Write-Output "Cleaning up..."
7693
.\clean.bat
7794
}
7895
working-directory: ..\sxsc
79-
if: ${{ steps.copy_yamls.outcome != 'skipped' }}
96+
if: env.runSxsc == 'true'
8097

8198
- name: Commit and push changes
8299
run: |
@@ -86,20 +103,20 @@ jobs:
86103
git commit -m "feat: auto-update CAB packages ($($env:GITHUB_SHA.Substring(0, 8)))"
87104
git push
88105
working-directory: src\playbook\Executables\AtlasModules\Packages
89-
if: ${{ steps.copy_yamls.outcome != 'skipped' }}
106+
if: env.runSxsc == 'true'
90107

91108
build:
92109
needs: package-build
93110
runs-on: ubuntu-latest
94111

95112
steps:
96113
- name: Checkout code
97-
uses: actions/checkout@v3
114+
uses: actions/checkout@v4
98115
with:
99116
ref: ${{ github.ref }}
100117

101118
- name: Validate YAML files
102-
run: 'yamllint -d "{extends: relaxed, rules: {line-length: disable, new-line-at-end-of-file: disable, trailing-spaces: disable}}" src/playbook/.'
119+
run: 'yamllint -d "{extends: relaxed, rules: {empty-lines: disable, line-length: disable, new-line-at-end-of-file: disable, trailing-spaces: disable}}" src/playbook/.'
103120

104121
- name: Configure playbook
105122
id: config-playbook
@@ -110,9 +127,9 @@ jobs:
110127
sed -i '/<ProductCode>/d' playbook.conf
111128
echo "Change description of playbook..."
112129
sed -i 's|<Description>.*<\/Description>|<Description>Experimental testing version of the Atlas Playbook, built with GitHub Actions from commit ${{ github.sha }}. Be aware of these builds being potentially unstable and buggy!</Description>|g' playbook.conf
113-
cd Configuration/atlas
130+
cd Configuration
114131
echo "Enabling AME Wizard Live Log..."
115-
sed '8s/ #//'
132+
sed -i '7s/ #//' custom.yml
116133
117134
- name: Create playbook (ZIP/APBX password is malte)
118135
if: ${{ steps.config-playbook.outcome != 'skipped' }}
@@ -124,7 +141,7 @@ jobs:
124141
mv "Atlas Playbook ${GITHUB_SHA::8}.apbx" "../release-zip"
125142
126143
- name: Upload artifact
127-
uses: actions/upload-artifact@v3
144+
uses: actions/upload-artifact@v4
128145
if: ${{ steps.config-playbook.outcome != 'skipped' }}
129146
with:
130147
name: Atlas Playbook

.github/workflows/filter.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
auto-pr
3030
translations
3131
readme
32-
dependabot
32+
dependencies
3333
"
3434
3535
no_run=false

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,40 +25,40 @@
2525
- [Branding](https://docs.atlasos.net/branding/)
2626

2727
## 🤔 What is Atlas?
28-
Atlas is an open source project that enhances Windows by eliminating factors that negatively impact gaming performance. We optimize for minimal stutters and input lag, enhanced privacy, usability, and performance, all with a focus on maintaining functionality.
28+
Atlas is an open-source project that enhances Windows by eliminating factors negatively impacting gaming performance. Optimizations include enhanced privacy, usability, performance, and changes for minimal stutters and input lag while focusing on maintaining functionality.
2929

3030
## 👀 Why Atlas?
3131
### 🔒 Enhanced Privacy
3232
Atlas removes the majority of telemetry embedded within Windows and implements numerous group policies to minimize data collection. However, it cannot ensure privacy outside the scope of Windows, such as browsers and other third-party applications.
3333

34-
### Optimized Performance
35-
Atlas strikes a balance between performance and compatibility. It implements numerous meaningful changes to improve Windows performance and responsiveness without breaking essential features. Atlas will not do tweaks for a placebo effect or very marginal gains, making Atlas more stable and compatible.
34+
### 📈 Optimized Performance
35+
Atlas strikes a balance between performance and compatibility. It implements numerous meaningful changes to improve Windows performance and responsiveness without breaking essential features. Atlas will not do tweaks for a placebo effect or marginal gains, making Atlas more stable and compatible.
3636

3737
### 🛡️ Security Features
38-
Unlike most other Windows modifications, we don't remove key security features that most users need to maintain a secure system. However, Atlas allows power users to have more customisation over disabling certain security features within their needs, including informing users with information about the [pros and cons](https://docs.atlasos.net/getting-started/post-installation/atlas-folder/security/) of each option.
38+
Most Windows modifications remove key security features most users need to maintain a secure system. On the other hand, Atlas allows users to customize their security at their own risk while informing users about each option's [pros and cons](https://docs.atlasos.net/getting-started/post-installation/atlas-folder/security/).
3939

40-
Some security features which are optional are:
40+
Some optional security features are:
4141

4242
- Windows Defender & SmartScreen
4343
- Windows Update
44-
- No automatic updates (will be customisable next release)
45-
- No major feature updates (potentially customisable in the future)
44+
- Automatic updates are togglable
4645
- CPU mitigations
4746
- User Account Control
4847
- Core isolation features
4948

50-
### 😄 Increased Usability
49+
### Increased Usability
5150
Atlas applies many modifications and default settings to make Windows easier to use. This includes removing commonly unneeded applications (which are reinstallable), configuring many aspects of the interface, disabling advertisements, and much more.
5251

5352
### 🔍 Open Source and Transparent
54-
Atlas is open source with the [GPLv3 license](https://github.com/Atlas-OS/Atlas/blob/main/LICENSE).
5553

56-
Unlike custom Windows ISOs, Atlas is easier to audit due to Atlas' use of the software [AME Wizard](https://ameliorated.io). AME Wizard is controlled by Playbooks, a heavily customizable script-esque system that can perform a wide range of tasks, including deep modifications to Windows. AME Wizard's backend is [open source](https://git.ameliorated.info/Styris/trusted-uninstaller-cli), meaning that you can see exactly what is ran.
54+
Unlike custom Windows ISOs, Atlas is more straightforward to audit due to the use of [AME Wizard](https://ameliorated.io). AME Wizard is controlled by Playbooks, a customizable script-esque system that can perform various tasks.
5755

58-
Playbooks are renamed **.zip** archives (with the password [`malte`](https://docs.ameliorated.io/developers/getting-started/creation.html)) which primarily consists of plain text scripts, meaning that Atlas is much easier to audit to see exactly what is changed. This is unlike custom Windows ISOs, which have many more entry points for malicious activity. The minimal amount of binaries included in the Playbook are open source in our [utilities](https://github.com/Atlas-OS/utilities) repository, with the [hashes being listed here](https://github.com/Atlas-OS/Atlas/blob/main/src/playbook/Executables/AtlasModules/README.md).
56+
Playbooks are renamed **.zip** archives, with the password [`malte`](https://docs.ameliorated.io/developers/getting-started/creation.html). As they primarily consist of plain text, Playbooks enable transparency, unlike custom Windows ISOs, which have many entry points for malicious activity. The few binaries in the Playbook are open source in our [`utilities` repository](https://github.com/Atlas-OS/utilities), with the [hashes listed here](https://github.com/Atlas-OS/Atlas/blob/main/src/playbook/Executables/AtlasModules/README.md).
57+
58+
Although the GUI is not open source for AME Wizard, AME Wizard's entire backend (called [TrustedUninstaller](https://github.com/Ameliorated-LLC/trusted-uninstaller-cli)) is open source under MIT, which contains each action used to run Atlas. The Atlas Playbook is open source under the [GPLv3 license](https://github.com/Atlas-OS/Atlas/blob/main/LICENSE).
5959

6060
### 🔒 Legal Compliance
61-
As Atlas doesn't redistrbute a modified Windows ISO, Atlas fully complies with [Microsoft's Terms of Service](https://www.microsoft.com/en-us/Useterms/Retail/Windows/10/UseTerms_Retail_Windows_10_English.htm). In addition, activation in Windows is not modified.
61+
As Atlas doesn't redistribute a modified Windows ISO, it complies with [Windows's Usage Terms](https://www.microsoft.com/en-us/Useterms/Retail/Windows/10/UseTerms_Retail_Windows_10_English.htm). In addition, Atlas does not alter activation in Windows.
6262

6363
## 🎨 Brand kit
64-
Want to create your own Atlas wallpaper with some original creative designs? Download our brand kit [here](https://github.com/Atlas-OS/branding/archive/refs/heads/main.zip) and share your creations on our [forum](https://forum.atlasos.net/t/art-showcase).
64+
Want to create your own Atlas wallpaper with some original creative designs? Download our brand kit [here](https://github.com/Atlas-OS/branding/archive/refs/heads/main.zip) and share your creations on our [forum](https://forum.atlasos.net/t/art-showcase).

0 commit comments

Comments
 (0)