Skip to content

Composable Configs#4114

Closed
KamaleiZestri wants to merge 2 commits intoChrisTitusTech:mainfrom
KamaleiZestri:composemin
Closed

Composable Configs#4114
KamaleiZestri wants to merge 2 commits intoChrisTitusTech:mainfrom
KamaleiZestri:composemin

Conversation

@KamaleiZestri
Copy link
Contributor

Type of Change

  • New feature
  • Bug fix
  • Documentation update
  • UI/UX improvement

Description

This PR allows for the .json files in config to be seperated out into multiple files and joined under the config/FOLDERNAME name at compilation.

These .json files could be seperated out into categories(like applications here), into individual files (as shown by tweaks/services.json here), or just left whole like dns.json.

Also individual .json files can be excluded from the resulting winutil.ps1 at compile. For example ./compile.ps1 -Exclude "browsers.json,advancedtweaks.json".

Issue related to PR

@github-actions github-actions bot added the new feature New feature or request label Feb 25, 2026
@KamaleiZestri
Copy link
Contributor Author

Ran a python script to split up applications. It didn't work for tweaks or features though because they include non-standard json.

import json
import os

def split(fileName:str):
    seperations = {}
    folderName = fileName.split(".")[0]
    if not os.path.exists(folderName):
        os.makedirs(folderName)

    with open(fileName, "r") as file:
        loadedJson = json.load(file)
        for key, value in loadedJson.items():
            category = value["category"]
            if not category in seperations.keys():
                seperations[category] = {}
            seperations[category].update({key:value})

    for key,value in seperations.items():
        prettyKey = key.replace(" ","").lower()
        with open (f"{folderName}/{prettyKey}.json", "w", encoding="utf-8") as out:
            json.dump(value,out,indent=3)


split("applications.json")
# split("tweaks.json")
# split("feature.json")

@GabiNun
Copy link
Contributor

GabiNun commented Feb 25, 2026

i think this is unnecessary, also your Complie & Check are failing

@KamaleiZestri
Copy link
Contributor Author

i think this is unnecessary, also your Complie & Check are failing

Fair, I see how this could be more work than good. It would be useful for something like seperate compiles for each language. No hard feelings if this is just closed as an unneeded feature though.

As for the test failing, I will look into that. It is successfully compiling on my local machine.

@GabiNun
Copy link
Contributor

GabiNun commented Feb 25, 2026

i think this is unnecessary, also your Complie & Check are failing

Fair, I see how this could be more work than good. It would be useful for something like seperate compiles for each language. No hard feelings if this is just closed as an unneeded feature though.

As for the test failing, I will look into that. It is successfully compiling on my local machine.

ye no hard fellings

@ChrisTitusTech
Copy link
Owner

ChrisTitusTech commented Feb 25, 2026

But why?

This would make searching worse and the files aren't very big.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants