Skip to content

Commit c6c6e75

Browse files
authored
Merge pull request #143 from meetrevision/dev
24.12
2 parents d1d4bbc + 886da95 commit c6c6e75

File tree

93 files changed

+2724
-3578
lines changed

Some content is hidden

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

93 files changed

+2724
-3578
lines changed

.github/FUNDING.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ liberapay: # Replace with a single Liberapay username
1010
issuehunt: # Replace with a single IssueHunt username
1111
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
1212
polar: # Replace with a single Polar username
13-
buy_me_a_coffee: meetrevision
14-
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13+
buy_me_a_coffee: # meetrevision
14+
custom: https://revi.cc/donate

.github/workflows/main.yml

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
name: Archive and Release
22

33
on:
4-
push:
5-
tags:
6-
- '*'
4+
# Allow manual triggering
5+
workflow_dispatch:
76

87
env:
9-
SXSC_REPO: 'https://github.com/Atlas-OS/sxsc'
10-
FILENAME: 'Revi-PB-${{ github.ref_name }}.apbx'
8+
FILENAME: 'Revi-PB-${{ github.event.workflow_run.started_at }}.apbx'
119

1210
jobs:
1311
build:
@@ -16,46 +14,52 @@ jobs:
1614
steps:
1715
- name: Checkout code
1816
uses: actions/checkout@v4
17+
with:
18+
ref: 'main'
19+
20+
- name: Set version
21+
id: set_version
22+
run: |
23+
# Get current date in "YY.MM" format
24+
CURRENT_DATE=$(date +%y.%m)
25+
echo "VERSION=${CURRENT_DATE}" >> $GITHUB_ENV
26+
shell: bash
1927

2028
- name: Update version
2129
run: |
22-
$version = "${{ github.ref_name }}"
30+
$version = "${{ env.VERSION }}"
2331
$playbookConfPath = "src\playbook.conf"
2432
$finalizeCMDPath = "src\Executables\FINALIZE.cmd"
2533
2634
(Get-Content -Path $playbookConfPath) -replace '<Version>.*</Version>', "<Version>$version</Version>" | Set-Content -Path $playbookConfPath
2735
2836
(Get-Content -Path $finalizeCMDPath) -replace 'set version=.+', "set version=$version" | Set-Content -Path $finalizeCMDPath
2937
shell: pwsh
30-
38+
3139
- name: Archive content
3240
run: |
33-
7z a -pmalte -mhe=on ${{ env.FILENAME }} ./src/*
41+
7z a -pmalte -mhe=on "Revi-PB-${{ env.VERSION }}.apbx" ./src/*
3442
3543
- name: Generate SHA256
3644
run: |
37-
$hash = (Get-FileHash -Algorithm SHA256 -Path ${{ env.FILENAME }}).Hash
45+
$hash = (Get-FileHash -Algorithm SHA256 -Path "Revi-PB-${{ env.VERSION }}.apbx").Hash
3846
echo ("HASH=" + $hash) >> $env:GITHUB_ENV
39-
40-
# - name: DevUploads
41-
# run: |
42-
# url=$(bash <(curl -s https://devuploads.com/upload.sh) -f "${{ env.FILENAME }}" -k "${{ secrets.DEVUPLOADS_API_KEY }}" | grep -o 'https://devuploads.com[^"]*')
43-
# echo "DEVUPLOADS=$url" >> $GITHUB_ENV
4447
4548
- name: Release
4649
uses: svenstaro/upload-release-action@v2
4750
with:
48-
repo_token: ${{ secrets.TOKEN }}
49-
file: ${{ env.FILENAME }}
50-
asset_name: ${{ env.FILENAME }}
51-
tag: ${{ github.ref }}
51+
repo_token: ${{ secrets.GITHUB_TOKEN }} # Uses GitHub token for authentication
52+
file: "Revi-PB-${{ env.VERSION }}.apbx"
53+
asset_name: "Revi-PB-${{ env.VERSION }}.apbx"
54+
tag: ${{ env.VERSION }}
5255
overwrite: true
56+
release_name: ${{ env.VERSION }}
57+
prerelease: false # Always set to false
5358
body: |
5459
# Download Link ✨
5560
5661
If you would like to support Revision, kindly download the Playbook from the provided link below.
5762
5863
📌Link:
59-
64+
6065
SHA256: `${{ env.HASH }}`
61-

.github/workflows/prerelease.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Archive and Pre-Release
2+
3+
on:
4+
# Allow manual triggering
5+
workflow_dispatch:
6+
7+
env:
8+
FILENAME: 'Revi-PB-${{ github.event.workflow_run.started_at }}.apbx'
9+
10+
jobs:
11+
build:
12+
runs-on: windows-latest
13+
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v4
17+
with:
18+
ref: 'dev'
19+
20+
- name: Set version
21+
id: set_version
22+
run: |
23+
# Get current date in "YY.MM.DD" format
24+
CURRENT_DATE=$(date +%y.%m.%d)
25+
echo "VERSION=${CURRENT_DATE}" >> $GITHUB_ENV
26+
shell: bash
27+
28+
- name: Update version
29+
run: |
30+
$version = "${{ env.VERSION }}"
31+
$playbookConfPath = "src\playbook.conf"
32+
$finalizeCMDPath = "src\Executables\FINALIZE.cmd"
33+
34+
(Get-Content -Path $playbookConfPath) -replace '<Version>.*</Version>', "<Version>$version</Version>" | Set-Content -Path $playbookConfPath
35+
36+
(Get-Content -Path $finalizeCMDPath) -replace 'set version=.+', "set version=$version" | Set-Content -Path $finalizeCMDPath
37+
shell: pwsh
38+
39+
- name: Archive content
40+
run: |
41+
7z a -pmalte -mhe=on "Revi-PB-${{ env.VERSION }}.apbx" ./src/*
42+
43+
- name: Generate SHA256
44+
run: |
45+
$hash = (Get-FileHash -Algorithm SHA256 -Path "Revi-PB-${{ env.VERSION }}.apbx").Hash
46+
echo ("HASH=" + $hash) >> $env:GITHUB_ENV
47+
48+
- name: Release
49+
uses: svenstaro/upload-release-action@v2
50+
with:
51+
repo_token: ${{ secrets.GITHUB_TOKEN }} # Uses GitHub token for authentication
52+
file: "Revi-PB-${{ env.VERSION }}.apbx"
53+
asset_name: "Revi-PB-${{ env.VERSION }}.apbx"
54+
tag: ${{ env.VERSION }}
55+
overwrite: true
56+
release_name: ${{ env.VERSION }}
57+
prerelease: true # Set to true for pre-release
58+
body: |
59+
# Pre-release Download ✨
60+
61+
## ⚠️ This is a pre-release version for testing purposes. Installing this can cause issues and may require you to reinstall Windows, use at your own risk. ⚠️
62+
63+
SHA256: `${{ env.HASH }}`

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.apbx

.vscode/extensions.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
22
"recommendations": [
3-
"redhat.vscode-yaml"
3+
"redhat.vscode-yaml",
4+
"ms-vscode.powershell",
5+
"ms-vscode.powershell"
46
]
57
}

.vscode/settings.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
"!systemPackage: mapping",
1212
"!cmd: mapping",
1313
"!powerShell: mapping",
14-
"!writeStatus: mapping"
14+
"!writeStatus: mapping",
15+
"!task: mapping",
1516
],
16-
"redhat.telemetry.enabled": false,
1717
"yaml.schemas": {
1818
"https://json.schemastore.org/github-issue-config.json": "file:///workspaces/playbook/.github/ISSUE_TEMPLATE/config.yml"
1919
}

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ ReviOS Playbook currently supports ARM64 and AMD64 builds of the following Windo
3434

3535
- Windows 10 21H2 `19044` (LTSC)
3636
- Windows 10 22H2 `19045`
37-
- Windows 11 22H2 `22621`
3837
- Windows 11 23H2 `22631`
3938
- Windows 11 24H2 `26100`
4039

@@ -58,7 +57,7 @@ Explore our documentation for more information:
5857
- [Playbook](https://www.revi.cc/docs/playbook/general)
5958
- [Installing Windows](https://www.revi.cc/docs/playbook/installwindows)
6059
- [Installing & Updating ReviOS](https://www.revi.cc/docs/playbook/install)
61-
- [Frequently Asked Questions](https://www.revi.cc/docs/faq)
60+
- [Frequently Asked Questions](https://www.revi.cc/docs/category/faq)
6261

6362
## 📝 License
6463

src/Configuration/features/revision/config.yml renamed to src/Configuration/Tasks/final.yml

Lines changed: 45 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,32 @@ description: Applies some Revision configurations
44
privilege: TrustedInstaller
55
actions:
66

7+
# Disable transparency and animations for low end devices
8+
- !powerShell:
9+
runas: currentUserElevated
10+
command: |
11+
$mem = (Get-CimInstance Win32_PhysicalMemory | Measure-Object Capacity -Sum).Sum
12+
if ($mem -lt 9000000000) {
13+
[microsoft.win32.registry]::SetValue('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize', 'EnableTransparency', 0, [Microsoft.Win32.RegistryValueKind]::DWord)
14+
[microsoft.win32.registry]::SetValue('HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics', 'MinAnimate', 0, [Microsoft.Win32.RegistryValueKind]::DWord)
15+
}
16+
717
# Disable Memory Compression
818
- !powerShell:
919
command: 'Disable-MMAgent -mc'
1020

21+
- !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending\7971f918-a847-4430-9279-4a52d1efe18d', value: 'RegisterWithAU', type: REG_DWORD, data: '0'}
22+
23+
# [!] Breaks 'defrag c: -b'
1124
# Disable Superfetch for SSDs
12-
# Might not work on VMs
13-
- !powerShell:
14-
command: |
15-
$mediaType = (Get-PhysicalDisk -SerialNumber (Get-Disk -Number (Get-Partition -DriveLetter $env:SystemDrive.Substring(0, 1)).DiskNumber).SerialNumber.TrimStart()).MediaType
16-
if ($mediaType -eq 'SSD') {
17-
$path = ${env:ProgramFiles(x86)} + '\Revision Tool\data\flutter_assets\additionals\DisableSF.bat'
18-
Start-Process -FilePath $path -Wait -NoNewWindow
19-
}
25+
# Detection of mediaType might not work on VMs
26+
# - !powerShell:
27+
# command: |
28+
# $mediaType = (Get-PhysicalDisk -SerialNumber (Get-Disk -Number (Get-Partition -DriveLetter $env:SystemDrive.Substring(0, 1)).DiskNumber).SerialNumber.TrimStart()).MediaType
29+
# if ($mediaType -eq 'SSD') {
30+
# $path = ${env:ProgramFiles(x86)} + '\Revision Tool\data\flutter_assets\additionals\DisableSF.bat'
31+
# Start-Process -FilePath $path -Wait -NoNewWindow
32+
# }
2033

2134
- !cmd:
2235
command: 'setx DOTNET_CLI_TELEMETRY_OPTOUT 1'
@@ -35,13 +48,9 @@ actions:
3548

3649
- !writeStatus: {status: "Finalizing process"}
3750
- !registryValue: {path: 'HKCU\System\GameConfigStore', value: 'GameDVR_FSEBehaviorMode', type: REG_DWORD, data: '0', weight: 70}
38-
- !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications', value: 'GlobalUserDisabled', type: REG_DWORD, data: '1', weight: 60}
3951

4052
- !powerShell: {command: 'Get-ScheduledTask -TaskPath "\Microsoft\Office\*" | Disable-ScheduledTask'}
4153

42-
# OneDrive workaround
43-
- !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\OneDrive', value: 'DisableFileSyncNGSC', operation: delete}
44-
4554
- !run:
4655
exeDir: true
4756
exe: "PowerShell"
@@ -59,7 +68,7 @@ actions:
5968
- !run:
6069
exeDir: true
6170
exe: "FILEASSOC.cmd"
62-
option: "configure-lpv"
71+
option: "remove-appx-photos"
6372
weight: 150
6473

6574
- !cmd:
@@ -79,26 +88,31 @@ actions:
7988
exeDir: true
8089
runas: currentUserElevated
8190
option: "configure-wallpaper"
82-
weight: 45
91+
weight: 45
8392

84-
- !writeStatus: {status: "Configuring features"}
85-
- !run:
86-
exeDir: true
87-
exe: "PowerShell"
88-
args: '-NoP -ExecutionPolicy Bypass -File DISM-FEATURES.ps1'
89-
weight: 270
90-
91-
# Necessary to refresh start menu entries etc.
93+
# Necessary to refresh start menu entries etc.
9294
- !appx: {operation: clearCache, name: '*Client.CBS*'}
9395
- !appx: {operation: clearCache, name: '*StartMenuExperienceHost*', option: "remove-pinned-items-startmenu"}
9496
- !appx: {operation: clearCache, name: '*Windows.Search*'}
9597
- !appx: {operation: clearCache, name: '*TCUI*'}
96-
# Workaround for KGL versions to match
97-
- !appx: {operation: clearCache, name: '*XboxGameCallableUI*'}
98-
- !appx: {operation: clearCache, name: '*XboxGameOverlay*'}
99-
- !appx: {operation: clearCache, name: '*XboxGamingOverlay*'}
100-
- !appx: {operation: clearCache, name: '*XboxIdentityProvider*'}
101-
- !appx: {operation: clearCache, name: '*XboxSpeechToTextOverlay*'}
102-
103-
# Start as user process to prevent weird look due to running as TrustedInstaller
104-
# - !run: {baseDir: true, exe: "NSudoLC.exe", args: '-U:C -UseCurrentConsole explorer.exe'}
98+
99+
# Force update group policy
100+
- !run:
101+
exe: "gpupdate.exe"
102+
103+
# Apply micro patches via Revision Tool in order to avoid new playbook releases for minor changes
104+
- !run:
105+
path: "%ProgramFiles(x86)%\\Revision Tool"
106+
exe: "revitool.exe"
107+
args: "playbook-patches apply"
108+
wait: true
109+
runas: currentUserElevated
110+
111+
- !powerShell:
112+
command: |
113+
$explorerProcess = Get-Process -Name explorer -ErrorAction SilentlyContinue
114+
if ($explorerProcess) {
115+
Stop-Process -Name explorer -Force
116+
}
117+
Start-Process explorer
118+
runas: currentUserElevated
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: Remove Win32 apps
3+
description: Removal of Win32 apps
4+
privilege: TrustedInstaller
5+
actions:
6+
7+
# Microsoft Edge
8+
- !writeStatus: {status: "Removing MS Edge", option: "remove-edge"}
9+
- !taskKill: {name: "MicrosoftEdgeUpdate", errorAction: Ignore, option: "remove-edge"}
10+
- !taskKill: {name: "msedge", errorAction: Ignore, option: "remove-edge"}
11+
- !taskKill: {name: "MicrosoftEdge*", errorAction: Ignore, option: "remove-edge"}
12+
- !taskKill: {name: "setup", errorAction: Ignore, pathContains: "\\Edge", option: "remove-edge"}
13+
14+
# Remove the new Copilot UWP app before removing Edge to avoid leftovers
15+
- !powerShell:
16+
option: "remove-edge"
17+
exeDir: true
18+
errorAction: Ignore
19+
weight: 30
20+
command: >-
21+
.\APPX-REMOVER.ps1 -Packages 'Microsoft.Copilot'
22+
23+
- !powerShell:
24+
command: '.\EDGE.ps1 -Mode EdgeBrowser'
25+
exeDir: true
26+
runas: currentUserElevated
27+
option: "remove-edge"
28+
weight: 40
29+
30+
- !powerShell:
31+
option: "remove-edge"
32+
exeDir: true
33+
errorAction: Ignore
34+
weight: 30
35+
command: >-
36+
.\APPX-REMOVER.ps1 -Packages @(
37+
'Microsoft.Copilot',
38+
'Microsoft.MicrosoftEdge',
39+
'Microsoft.MicrosoftEdgeDevToolsClient'
40+
)
41+
42+
- !file: {path: "%ProgramFiles(x86)%\\Microsoft\\Edge", option: "remove-edge", weight: 50}
43+
44+
45+
# OneDrive
46+
- !writeStatus: {status: "Removing OneDrive", option: "remove-onedrive"}
47+
- !taskKill: {name: "OneDriveStandaloneUpdater", errorAction: Ignore, option: "remove-onedrive"}
48+
- !taskKill: {name: "OneDriveSetup", errorAction: Ignore, option: "remove-onedrive"}
49+
- !taskKill: {name: "OneDrive*", errorAction: Ignore, option: "remove-onedrive"}
50+
51+
- !run: {exeDir: true, exe: "ONED.cmd", option: "remove-onedrive", weight: 40}
52+
- !file: {path: "%SystemDrive%\\OneDriveTemp", option: "remove-onedrive"}
53+
- !file: {path: "%ProgramData%\\Microsoft OneDrive", option: "remove-onedrive"}
54+
55+
- !powerShell:
56+
option: "remove-onedrive"
57+
# runas: currentUserElevated
58+
wait: true
59+
exeDir: true
60+
errorAction: Ignore
61+
weight: 10
62+
command: >-
63+
.\APPX-REMOVER.ps1 -Packages @(
64+
'OneDrive',
65+
'microsoft.microsoftskydrive'
66+
)

0 commit comments

Comments
 (0)