From acb5120de34b4dfd12ed5af86bde2e8173f27548 Mon Sep 17 00:00:00 2001 From: Fierelier Date: Thu, 26 Dec 2019 07:20:41 +0100 Subject: [PATCH] milestone 1 --- .gitignore | 1 + scripts/api/detection.py | 38 +++++++ scripts/api/main.py | 27 +++-- scripts/api/path.py | 25 +++++ scripts/api/registry.py | 53 ++++++++++ scripts/api/tweak.py | 1 + scripts/api/wim.py | 42 ++++++++ scripts/hello.py | 2 +- scripts/main.py | 99 +++++++++++++++++-- scripts/path.py | 7 ++ .../disable hibernation/reg/SYSTEM.REG | 5 + .../reg/SYSTEM.REG | 11 +++ .../disable superfetch/reg/SYSTEM.REG | 5 + .../disable windows search/reg/SYSTEM.REG | 5 + .../enable file extensions/reg/NTUSER.REG | 5 + .../reg/SOFTWARE.REG | 5 + .../opus-nt-setupcomplete/setupcomplete.bat | 14 +++ .../delay feature updates/reg/SOFTWARE.REG | 8 ++ .../disable activity history/reg/SOFTWARE.REG | 8 ++ tweaks/ten/disable ads/reg/NTUSER.REG | 11 +++ .../reg/SOFTWARE.REG | 5 + tweaks/ten/disable cortana/reg/SOFTWARE.REG | 5 + .../disable cross-pc update/reg/SOFTWARE.REG | 5 + .../disable driver updates/reg/SOFTWARE.REG | 6 ++ .../ten/disable fast startup/reg/SYSTEM.REG | 5 + .../ten/disable lock screen/reg/SOFTWARE.REG | 6 ++ .../disable metro app swapping/reg/SYSTEM.REG | 5 + .../reg/NTUSER.REG | 5 + .../reg/NTUSER.REG | 9 ++ tweaks/ten/disable telemetry/reg/SOFTWARE.REG | 5 + .../disable windows defender/reg/SOFTWARE.REG | 8 ++ .../iso/autounattend.xml | 18 ++++ 32 files changed, 429 insertions(+), 25 deletions(-) create mode 100644 scripts/api/detection.py create mode 100644 scripts/api/path.py create mode 100644 scripts/api/registry.py create mode 100644 scripts/api/tweak.py create mode 100644 scripts/api/wim.py create mode 100644 scripts/path.py create mode 100644 tweaks/longhorn-series/disable hibernation/reg/SYSTEM.REG create mode 100644 tweaks/longhorn-series/disable low battery hibernation while charging/reg/SYSTEM.REG create mode 100644 tweaks/longhorn-series/disable superfetch/reg/SYSTEM.REG create mode 100644 tweaks/longhorn-series/disable windows search/reg/SYSTEM.REG create mode 100644 tweaks/longhorn-series/enable file extensions/reg/NTUSER.REG create mode 100644 tweaks/longhorn-series/post-setup script - master/reg/SOFTWARE.REG create mode 100644 tweaks/longhorn-series/post-setup script - master/wim/opus-nt-setupcomplete/setupcomplete.bat create mode 100644 tweaks/ten/delay feature updates/reg/SOFTWARE.REG create mode 100644 tweaks/ten/disable activity history/reg/SOFTWARE.REG create mode 100644 tweaks/ten/disable ads/reg/NTUSER.REG create mode 100644 tweaks/ten/disable automatic sign-on/reg/SOFTWARE.REG create mode 100644 tweaks/ten/disable cortana/reg/SOFTWARE.REG create mode 100644 tweaks/ten/disable cross-pc update/reg/SOFTWARE.REG create mode 100644 tweaks/ten/disable driver updates/reg/SOFTWARE.REG create mode 100644 tweaks/ten/disable fast startup/reg/SYSTEM.REG create mode 100644 tweaks/ten/disable lock screen/reg/SOFTWARE.REG create mode 100644 tweaks/ten/disable metro app swapping/reg/SYSTEM.REG create mode 100644 tweaks/ten/disable onedrive auto-install/reg/NTUSER.REG create mode 100644 tweaks/ten/disable recently opened items/reg/NTUSER.REG create mode 100644 tweaks/ten/disable telemetry/reg/SOFTWARE.REG create mode 100644 tweaks/ten/disable windows defender/reg/SOFTWARE.REG create mode 100644 tweaks/ten/partial unattended setup/iso/autounattend.xml diff --git a/.gitignore b/.gitignore index a025a74..c2bf5e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ desktop.ini *.iso *.zip +*.log iso/* tmp/* bin/* diff --git a/scripts/api/detection.py b/scripts/api/detection.py new file mode 100644 index 0000000..e2bdaf7 --- /dev/null +++ b/scripts/api/detection.py @@ -0,0 +1,38 @@ +opus.detect = Munch() + +def _detectOS(osPath): + opus.main.output("detecting OS at " +osPath+ "...") + + osInfo = Munch() + osInfo.version = Munch() + osInfo.version.major = 0 + osInfo.version.minor = 0 + osInfo.tags = [] + + opus.reg.mount(pJoin(osPath,"Windows","System32","config","SOFTWARE")) + osInfo.version.key = opus.reg.getKey(opus.reg.path + opus.reg.sep + "Microsoft" +opus.reg.sep+ "Windows NT" +opus.reg.sep + "CurrentVersion") + opus.reg.unmount() + + try: + osInfo.version.major = int(osInfo.version.key.CurrentMajorVersionNumber.value) + osInfo.version.minor = int(osInfo.version.key.CurrentMinorVersionNumber.value) + except: + version = osInfo.version.key.CurrentVersion.value + osInfo.version.major = int(version.split(".")[0]) + osInfo.version.minor = int(version.split(".")[1]) + + osInfo.version.string = str(osInfo.version.major) + "." + str(osInfo.version.minor) + if osInfo.version.string == "0.0": raise Exception("version unknown") + opus.main.output("\ndetected: Windows NT " +osInfo.version.string,1) + + if osInfo.version.major > 5 and osInfo.version.major < 11: osInfo.tags.append("longhorn-series") + if osInfo.version.string == "6.0": osInfo.tags.append("vista") + if osInfo.version.string == "6.1": osInfo.tags.append("seven") + if osInfo.version.string == "6.2": osInfo.tags.append("eight") + if osInfo.version.string == "6.3": osInfo.tags.append("eightone"); osInfo.tags.append("nine") + if osInfo.version.string == "10.0": osInfo.tags.append("ten") + + opus.main.output("tags: " +str(osInfo.tags),1) + return osInfo + +opus.detect.os = _detectOS \ No newline at end of file diff --git a/scripts/api/main.py b/scripts/api/main.py index e9567cb..831567a 100644 --- a/scripts/api/main.py +++ b/scripts/api/main.py @@ -1,24 +1,21 @@ -def _func(msg,verbosity = 0): +opus.main = Munch() + +def _mainOutput(msg,verbosity = 0): if opus.verbosity > verbosity - 1: print(msg) -opus.output = _func + + with open('opus-nt.log','a') as file: + file.write(msg + "\n") +opus.main.output = _mainOutput -def _func(_scriptPath): - opus.output("executing: " +_scriptPath,1) +opus.script = Munch() +def _mainExecPy(_scriptPath): + opus.main.output("script -> execute -> " +_scriptPath,1) _return = True with open(_scriptPath) as _scriptFile: exec(_scriptFile.read()) + opus.main.output("done.",2) return _return -opus.execPy = _func - -def _func(_scriptPath): - opus.output("executing: " +_scriptPath,1) - - _return = True - with open(_scriptPath) as _scriptFile: - exec(_scriptFile.read()) - - return _return -opus.execPy = _func \ No newline at end of file +opus.script.execute = _mainExecPy \ No newline at end of file diff --git a/scripts/api/path.py b/scripts/api/path.py new file mode 100644 index 0000000..4209cf8 --- /dev/null +++ b/scripts/api/path.py @@ -0,0 +1,25 @@ +global os +import os + +def _pathWalklevel(some_dir, level=0): + if level < 0: + for root, dirs, files in os.walk(some_dir): + yield root,dirs,files + + return + + some_dir = some_dir.rstrip(os.path.sep) + assert os.path.isdir(some_dir) + num_sep = some_dir.count(os.path.sep) + for root, dirs, files in os.walk(some_dir): + yield root, dirs, files + num_sep_this = root.count(os.path.sep) + if num_sep + level <= num_sep_this: + del dirs[:] +opus.path.walklevel = _pathWalklevel + +def _pathEasywalk(dir,depth = 0): + for root, dirs, files in opus.files.walklevel(dir,depth): + for file in files: + yield p(root,file) +opus.path.easywalk = _pathEasywalk \ No newline at end of file diff --git a/scripts/api/registry.py b/scripts/api/registry.py new file mode 100644 index 0000000..83e0560 --- /dev/null +++ b/scripts/api/registry.py @@ -0,0 +1,53 @@ +global subprocess +import subprocess +global winreg +import winreg + +opus.reg = Munch() +opus.reg.sep = "\\" +opus.reg.path = "OPUS_TMP" + +def _regUnmount(): + opus.main.output("registry > unmount",2) + rtn = subprocess.call(["reg","unload","HKLM" + opus.reg.sep + opus.reg.path]) + if rtn > 0: raise Exception("reg") +opus.reg.unmount = _regUnmount + +def _regMount(i): + try: + opus.reg.unmount() + except: + opus.main.output("unmount failed, probably already unmounted",2) + opus.main.output("registry > mount > " +i,2) + rtn = subprocess.call(["reg","load","HKLM" + opus.reg.sep + opus.reg.path,i]) + if rtn > 0: raise Exception("reg") +opus.reg.mount = _regMount + +def _regImport(rp): + opus.main.output("registry > import > " +rp,2) + rtn = subprocess.call(["reg","import",rp]) + if rtn > 0: raise Exception("reg") +opus.reg.imprt = _regImport + +def _getValue(kp,v): + with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,kp) as key: + return winreg.QueryValueEx(key,v) +opus.reg.getValue = _getValue + +def _getKey(kp): + with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,kp) as key: + rtn = Munch() + index = 0 + length = winreg.QueryInfoKey(key)[1] + while index < length: + valueInfo = winreg.EnumValue(key,index) + rtn[valueInfo[0]] = Munch() + rtn[valueInfo[0]].value = valueInfo[1] + rtn[valueInfo[0]].type = valueInfo[2] + index = index + 1 + + return rtn +opus.reg.getKey = _getKey + +def _setValue(kp,key,vt,value): + print("owo") \ No newline at end of file diff --git a/scripts/api/tweak.py b/scripts/api/tweak.py new file mode 100644 index 0000000..6256111 --- /dev/null +++ b/scripts/api/tweak.py @@ -0,0 +1 @@ +opus.tweak = Munch() diff --git a/scripts/api/wim.py b/scripts/api/wim.py new file mode 100644 index 0000000..1d1ca18 --- /dev/null +++ b/scripts/api/wim.py @@ -0,0 +1,42 @@ +global subprocess +import subprocess +global shutil +import shutil + +opus.wim = Munch() +opus.wim.index = 0 +opus.wim.location = "" + +def _wimPath(p = ""): + if p == "": return pJoin(opus.path.wim,str(opus.wim.index)) + return pJoin(opus.path.wim,str(opus.wim.index),p) +opus.wim.path = _wimPath + +def _wimExtractFiles(filePaths): + fileList = [] + for filePath in filePaths: + fileList.append("-i!" +pJoin(str(opus.wim.index),filePath)) + + opus.main.output("extracting " +str(len(filePaths))+ " files from " +opus.wim.location+ "...") + rtn = subprocess.call( + ["7z","x",opus.wim.location, #wim path + "-o" +opus.path.wim, #out path + "NONE"] #in path + +fileList+ #files + ["-aos","-bso0","-bsp1","-bb1"] + ) + if rtn > 0: raise Exception("wim") +opus.wim.extractFiles = _wimExtractFiles + +def _wimReadyFile(inPath,outPath): + if os.path.isfile(opus.wim.path(outPath)): os.remove(opus.wim.path(outPath)) + shutil.copyfile(inPath,opus.wim.path(outPath)) +opus.wim.readyFile = _wimReadyFile + +def _wimUpdate(): + opus.main.output("adding changed files to wim...") + rtn = subprocess.call( + ["wimlib-imagex","update",opus.wim.location,str(opus.wim.index), + "--command=add '" +opus.wim.path("")+ "' '\\'"] + ) +opus.wim.update = _wimUpdate \ No newline at end of file diff --git a/scripts/hello.py b/scripts/hello.py index fbda233..97486d9 100644 --- a/scripts/hello.py +++ b/scripts/hello.py @@ -1 +1 @@ -opus.output("welcome to " +opus.version.string+ "!\n") \ No newline at end of file +opus.main.output("welcome to " +opus.version.string+ "!") \ No newline at end of file diff --git a/scripts/main.py b/scripts/main.py index 23a6f7e..b941b5c 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -1,4 +1,6 @@ import sys +import os +import shutil pJoin = os.path.join @@ -18,18 +20,97 @@ opus.version.string = \ opus.path = Munch() opus.path.main = os.path.dirname(os.path.realpath(__file__)) opus.path.api = pJoin(opus.path.main,"scripts","api") -opus.path.tweaks = pJoin(opus.path.main,"scripts","tweaks") +opus.path.tweaks = pJoin(opus.path.main,"tweaks") +opus.path.temp = pJoin(opus.path.main,"tmp") +opus.path.wim = pJoin(opus.path.temp,"wim") opus.path.target = sys.argv[1] -opus.verbosity = 1 +opus.verbosity = 2 with open(pJoin(opus.path.main,"scripts","api","main.py")) as script: exec(script.read()) -if opus.verbosity > 0: - opus.output("-- paths --") - for path in opus.path: - opus.output(path + ": " +opus.path[path]) - - opus.output("") +opus.main.output("\nmain-api loaded!",1) +opus.script.execute(pJoin(opus.path.main,"scripts","hello.py")) +opus.main.output("",1) -opus.execPy(pJoin(opus.path.main,"scripts","hello.py")) \ No newline at end of file +if opus.verbosity > 0: + opus.main.output("-- paths --") + for path in opus.path: + opus.main.output(path + ": " +opus.path[path]) + + opus.main.output("") + +opus.main.output("-- loading misc APIs --", 1) + +opus.script.execute(pJoin(opus.path.api,"path.py")) +opus.script.execute(pJoin(opus.path.api,"wim.py")) +opus.script.execute(pJoin(opus.path.api,"registry.py")) +opus.script.execute(pJoin(opus.path.api,"detection.py")) +opus.script.execute(pJoin(opus.path.api,"tweak.py")) + +opus.main.output("",1) + +opus.script.execute(pJoin(opus.path.main,"scripts","path.py")) + +opus.main.output("",1) + +if os.path.isdir(opus.path.temp): + opus.main.output("clearing temp directory...",1) + try: + opus.reg.unmount() + except: + pass + shutil.rmtree(opus.path.temp) + +os.makedirs(opus.path.temp) +opus.wim.location = pJoin(opus.path.target,"sources","install.wim") +opus.wim.index = int(input("\nwim index: ")) +opus.main.output("",1) + +opus.wim.extractFiles([ + pJoin("Windows","System32","config","SOFTWARE"), + pJoin("Windows","System32","config","SYSTEM"), + pJoin("Users","Default","NTUSER.DAT") +]) + +opus.main.output("",1) + +opus.os = opus.detect.os(opus.wim.path()) + +for tag in opus.os.tags: + if not os.path.isdir(pJoin(opus.path.tweaks,tag)): continue + + rtgName = "SOFTWARE" + rtgFile = pJoin("Windows","System32","config","SOFTWARE") + opus.main.output("\n>> [" +tag+ "] applying tweaks: registry -> " +rtgName, 1) + opus.reg.mount(opus.wim.path(rtgFile)) + for tweakRoot,tweaks,_ in opus.path.walklevel(pJoin(opus.path.tweaks,tag)): + for tweak in tweaks: + ftweak = os.path.join(tweakRoot,tweak) + if not os.path.isfile(pJoin(ftweak,"reg",rtgName + ".REG")): continue + opus.reg.imprt(pJoin(ftweak,"reg",rtgName + ".REG")) + + rtgName = "SYSTEM" + rtgFile = pJoin("Windows","System32","config","SYSTEM") + opus.main.output("\n>> [" +tag+ "] applying tweaks: registry -> " +rtgName, 1) + opus.reg.mount(opus.wim.path(rtgFile)) + for tweakRoot,tweaks,_ in opus.path.walklevel(pJoin(opus.path.tweaks,tag)): + for tweak in tweaks: + ftweak = os.path.join(tweakRoot,tweak) + if not os.path.isfile(pJoin(ftweak,"reg",rtgName + ".REG")): continue + opus.reg.imprt(pJoin(ftweak,"reg",rtgName + ".REG")) + + rtgName = "NTUSER" + rtgFile = pJoin("Users","Default","NTUSER.DAT") + opus.main.output("\n>> [" +tag+ "] applying tweaks: registry -> " +rtgName, 1) + opus.reg.mount(opus.wim.path(rtgFile)) + for tweakRoot,tweaks,_ in opus.path.walklevel(pJoin(opus.path.tweaks,tag)): + for tweak in tweaks: + ftweak = os.path.join(tweakRoot,tweak) + if not os.path.isfile(pJoin(ftweak,"reg",rtgName + ".REG")): continue + opus.reg.imprt(pJoin(ftweak,"reg",rtgName + ".REG")) + +opus.main.output("\nif you'd like to make manual changes, please do so now. press enter to finalize or ctrl+c to cancel.") +input() +opus.reg.unmount() +opus.wim.update() \ No newline at end of file diff --git a/scripts/path.py b/scripts/path.py new file mode 100644 index 0000000..56eb329 --- /dev/null +++ b/scripts/path.py @@ -0,0 +1,7 @@ +global os +import os +opus.main.output("expanding path...",1) +for root,dirs,files in opus.path.walklevel(pJoin(opus.path.main,"bin")): + for dir in dirs: + opus.main.output("adding: " +dir,1) + os.environ["Path"] = os.environ["Path"] + ";" + pJoin(root,dir) \ No newline at end of file diff --git a/tweaks/longhorn-series/disable hibernation/reg/SYSTEM.REG b/tweaks/longhorn-series/disable hibernation/reg/SYSTEM.REG new file mode 100644 index 0000000..4a79c58 --- /dev/null +++ b/tweaks/longhorn-series/disable hibernation/reg/SYSTEM.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\ControlSet001\Control\Session Manager\Power] +"HibernateEnabled"=dword:00000000 + diff --git a/tweaks/longhorn-series/disable low battery hibernation while charging/reg/SYSTEM.REG b/tweaks/longhorn-series/disable low battery hibernation while charging/reg/SYSTEM.REG new file mode 100644 index 0000000..f988b12 --- /dev/null +++ b/tweaks/longhorn-series/disable low battery hibernation while charging/reg/SYSTEM.REG @@ -0,0 +1,11 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\ControlSet001\Control\Power\User\PowerSchemes\381b4222-f694-41f0-9685-ff5bb260df2e\e73a048d-bf27-4f12-9731-8b2076e8891f\637ea02f-bbcb-4015-8e2c-a1c7b9c0b546] +"ACSettingIndex"=dword:00000000 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\ControlSet001\Control\Power\User\PowerSchemes\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c\e73a048d-bf27-4f12-9731-8b2076e8891f\637ea02f-bbcb-4015-8e2c-a1c7b9c0b546] +"ACSettingIndex"=dword:00000000 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\ControlSet001\Control\Power\User\PowerSchemes\a1841308-3541-4fab-bc81-f71556f20b4a\e73a048d-bf27-4f12-9731-8b2076e8891f\637ea02f-bbcb-4015-8e2c-a1c7b9c0b546] +"ACSettingIndex"=dword:00000000 + diff --git a/tweaks/longhorn-series/disable superfetch/reg/SYSTEM.REG b/tweaks/longhorn-series/disable superfetch/reg/SYSTEM.REG new file mode 100644 index 0000000..aa0a385 --- /dev/null +++ b/tweaks/longhorn-series/disable superfetch/reg/SYSTEM.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\ControlSet001\Services\SysMain] +"Start"=dword:00000004 + diff --git a/tweaks/longhorn-series/disable windows search/reg/SYSTEM.REG b/tweaks/longhorn-series/disable windows search/reg/SYSTEM.REG new file mode 100644 index 0000000..e68d895 --- /dev/null +++ b/tweaks/longhorn-series/disable windows search/reg/SYSTEM.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\ControlSet001\Services\WSearch] +"Start"=dword:00000004 + diff --git a/tweaks/longhorn-series/enable file extensions/reg/NTUSER.REG b/tweaks/longhorn-series/enable file extensions/reg/NTUSER.REG new file mode 100644 index 0000000..c1449c8 --- /dev/null +++ b/tweaks/longhorn-series/enable file extensions/reg/NTUSER.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] +"HideFileExt"=dword:00000000 + diff --git a/tweaks/longhorn-series/post-setup script - master/reg/SOFTWARE.REG b/tweaks/longhorn-series/post-setup script - master/reg/SOFTWARE.REG new file mode 100644 index 0000000..98e78b4 --- /dev/null +++ b/tweaks/longhorn-series/post-setup script - master/reg/SOFTWARE.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Microsoft\Windows\CurrentVersion\RunOnce] +"opus-nt-setupcomplete"="cmd /c call \"C:\\opus-nt-setupcomplete\\setupcomplete.bat\"" + diff --git a/tweaks/longhorn-series/post-setup script - master/wim/opus-nt-setupcomplete/setupcomplete.bat b/tweaks/longhorn-series/post-setup script - master/wim/opus-nt-setupcomplete/setupcomplete.bat new file mode 100644 index 0000000..57ccf3c --- /dev/null +++ b/tweaks/longhorn-series/post-setup script - master/wim/opus-nt-setupcomplete/setupcomplete.bat @@ -0,0 +1,14 @@ +@echo off +setlocal EnableDelayedExpansion +cd /d %~dp0 +set outputFile=%SystemDrive%\opus-nt-setupcomplete.log + +for %%i in (scripts\*) do ( + echo - %%i - >> "%outputFile%" + call "%%i" 1>> "%outputFile%" 2>>&1 + echo. >> "%outputFile%" +) + +start notepad.exe "%outputFile%" +cd /d %SystemDrive%\ +rmdir /s /q "%~dp0" \ No newline at end of file diff --git a/tweaks/ten/delay feature updates/reg/SOFTWARE.REG b/tweaks/ten/delay feature updates/reg/SOFTWARE.REG new file mode 100644 index 0000000..8a8e0ab --- /dev/null +++ b/tweaks/ten/delay feature updates/reg/SOFTWARE.REG @@ -0,0 +1,8 @@ +Windows Registry Editor Version 5.00 + +; this sets the update channel to semi-annual, and additionally defers the updates for half a year +[HKEY_LOCAL_MACHINE\OPUS_TMP\Microsoft\WindowsUpdate\UX\Settings] +"BranchReadinessLevel"=dword:00000020 +"DeferFeatureUpdates"=dword:00000001 +"DeferFeatureUpdatesPeriodInDays"=dword:000000b7 + diff --git a/tweaks/ten/disable activity history/reg/SOFTWARE.REG b/tweaks/ten/disable activity history/reg/SOFTWARE.REG new file mode 100644 index 0000000..1110cfe --- /dev/null +++ b/tweaks/ten/disable activity history/reg/SOFTWARE.REG @@ -0,0 +1,8 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Policies\Microsoft\Windows\System] +"AllowCrossDeviceClipboard"=dword:00000000 +"EnableActivityFeed"=dword:00000000 +"PublishUserActivities"=dword:00000000 +"UploadUserActivities"=dword:00000000 + diff --git a/tweaks/ten/disable ads/reg/NTUSER.REG b/tweaks/ten/disable ads/reg/NTUSER.REG new file mode 100644 index 0000000..29211e3 --- /dev/null +++ b/tweaks/ten/disable ads/reg/NTUSER.REG @@ -0,0 +1,11 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced] +"ShowSyncProviderNotifications"=dword:00000000 ; no explorer "suggestions" + +[HKEY_LOCAL_MACHINE\OPUS_TMP\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager] +"SystemPaneSuggestionsEnabled"=dword:00000000 ; no start menu "suggestions" +"SoftLandingEnabled"=dword:00000000 ; no "tips", "tricks" and "suggestions" +"SubscribedContent-338393Enabled"=dword:00000000 ; no settings "suggestions" +"SilentInstalledAppsEnabled"=dword:00000000 ; no automatic advert app downloads + diff --git a/tweaks/ten/disable automatic sign-on/reg/SOFTWARE.REG b/tweaks/ten/disable automatic sign-on/reg/SOFTWARE.REG new file mode 100644 index 0000000..a634e9a --- /dev/null +++ b/tweaks/ten/disable automatic sign-on/reg/SOFTWARE.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Microsoft\Windows\CurrentVersion\Policies\System] +"DisableAutomaticRestartSignOn"=dword:00000001 + diff --git a/tweaks/ten/disable cortana/reg/SOFTWARE.REG b/tweaks/ten/disable cortana/reg/SOFTWARE.REG new file mode 100644 index 0000000..d23ac7e --- /dev/null +++ b/tweaks/ten/disable cortana/reg/SOFTWARE.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Policies\Microsoft\Windows\Windows Search] +"AllowCortana"=dword:00000000 + diff --git a/tweaks/ten/disable cross-pc update/reg/SOFTWARE.REG b/tweaks/ten/disable cross-pc update/reg/SOFTWARE.REG new file mode 100644 index 0000000..2882b3c --- /dev/null +++ b/tweaks/ten/disable cross-pc update/reg/SOFTWARE.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config] +"DODownloadMode"=dword:00000000 + diff --git a/tweaks/ten/disable driver updates/reg/SOFTWARE.REG b/tweaks/ten/disable driver updates/reg/SOFTWARE.REG new file mode 100644 index 0000000..e1f3516 --- /dev/null +++ b/tweaks/ten/disable driver updates/reg/SOFTWARE.REG @@ -0,0 +1,6 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Policies\Microsoft\Windows\WindowsUpdate] +"ExcludeWUDriversInQualityUpdate"=dword:00000001 + + diff --git a/tweaks/ten/disable fast startup/reg/SYSTEM.REG b/tweaks/ten/disable fast startup/reg/SYSTEM.REG new file mode 100644 index 0000000..ff3b25c --- /dev/null +++ b/tweaks/ten/disable fast startup/reg/SYSTEM.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\ControlSet001\Control\Session Manager\Power] +"HiberbootEnabled"=dword:00000000 + diff --git a/tweaks/ten/disable lock screen/reg/SOFTWARE.REG b/tweaks/ten/disable lock screen/reg/SOFTWARE.REG new file mode 100644 index 0000000..5d90b29 --- /dev/null +++ b/tweaks/ten/disable lock screen/reg/SOFTWARE.REG @@ -0,0 +1,6 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Policies\Microsoft\Windows\Personalization] +"NoLockScreen"=dword:00000001 + + diff --git a/tweaks/ten/disable metro app swapping/reg/SYSTEM.REG b/tweaks/ten/disable metro app swapping/reg/SYSTEM.REG new file mode 100644 index 0000000..7d2f335 --- /dev/null +++ b/tweaks/ten/disable metro app swapping/reg/SYSTEM.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\ControlSet001\Control\Memory Management] +"SwapfileControl"=dword:00000000 + diff --git a/tweaks/ten/disable onedrive auto-install/reg/NTUSER.REG b/tweaks/ten/disable onedrive auto-install/reg/NTUSER.REG new file mode 100644 index 0000000..990f99d --- /dev/null +++ b/tweaks/ten/disable onedrive auto-install/reg/NTUSER.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] +"OneDriveSetup"="" + diff --git a/tweaks/ten/disable recently opened items/reg/NTUSER.REG b/tweaks/ten/disable recently opened items/reg/NTUSER.REG new file mode 100644 index 0000000..dc628ac --- /dev/null +++ b/tweaks/ten/disable recently opened items/reg/NTUSER.REG @@ -0,0 +1,9 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer] ; disables recent/frequent items in the explorer (quick access for example), taskbar context menus, etc... +"ShowRecent"=dword:00000000 +"ShowFrequent"=dword:00000000 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced] ; [windows 7 and older] disables recently opened documents in the start menu +"Start_TrackDocs"=dword:00000000 + diff --git a/tweaks/ten/disable telemetry/reg/SOFTWARE.REG b/tweaks/ten/disable telemetry/reg/SOFTWARE.REG new file mode 100644 index 0000000..f72b8fc --- /dev/null +++ b/tweaks/ten/disable telemetry/reg/SOFTWARE.REG @@ -0,0 +1,5 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Policies\Microsoft\Windows\DataCollection] +"AllowTelemetry"=dword:00000000 + diff --git a/tweaks/ten/disable windows defender/reg/SOFTWARE.REG b/tweaks/ten/disable windows defender/reg/SOFTWARE.REG new file mode 100644 index 0000000..18f191d --- /dev/null +++ b/tweaks/ten/disable windows defender/reg/SOFTWARE.REG @@ -0,0 +1,8 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Microsoft\Windows Defender\Features] +"TamperProtection"=dword:00000000 + +[HKEY_LOCAL_MACHINE\OPUS_TMP\Policies\Microsoft\Windows Defender] +"DisableAntiSpyware"=dword:00000001 + diff --git a/tweaks/ten/partial unattended setup/iso/autounattend.xml b/tweaks/ten/partial unattended setup/iso/autounattend.xml new file mode 100644 index 0000000..03e2ff8 --- /dev/null +++ b/tweaks/ten/partial unattended setup/iso/autounattend.xml @@ -0,0 +1,18 @@ + + + + + + + + + + true + true + true + 3 + true + + + +