ferium icon indicating copy to clipboard operation
ferium copied to clipboard

Seperate config profiles into files

Open aschoettler opened this issue 3 years ago • 11 comments

I think the modpack support is really cool. But it would also be nice to have a way to share a profile I have made with friends or public communities so other people can use the same mods. Currently the best way I know of would be to share a shell script with many ferium add-x commands, or instruct someone on how to manually edit their global config file. Alternatively it would be nice to have one of:

    1. a way to export a profile to a config file (yaml, json, toml, or even txt), and a way to import them to create a profile
    1. a way to generate a shareable link (something like feriumpaste.com/<uid>) similar to vanilla tweaks that either temporarily or permanently hosts the profile configuration and settings (flags for the add commands).

I think (1) would be more transparent for people to see what they are downloading while (2) could have a simpler workflow.

More generally, and perhaps only in some alternative universe, I think there could be a more modular way of thinking about how ferium can be used, where a "profile" is nothing more than a folder containing a ferium.toml file and an output subdirectory. The file would specify the minecraft version and the mod sources, instead of tracking them globally. The default output folder would be ./mods, or set with a flag to ferium upgrade. There could still be a global cache for metadata like URLs and descriptions, but this might be a way to make profiles more modular and transparent, however I understand if this part is out of the scope of the project.

aschoettler avatar May 19 '22 19:05 aschoettler

Kyle had an idea that we could split the profile into seperate files in the config directory. Then one could easily share single profiles with people.

theRookieCoder avatar May 20 '22 04:05 theRookieCoder

Implementing it wouldn't be too hard because we can just construct the files back into a regular config in libium

theRookieCoder avatar May 20 '22 04:05 theRookieCoder

For shareable links I recommend https://0x0.st It's has a very simple api(just curl uploads!)

JustSimplyKyle avatar May 20 '22 10:05 JustSimplyKyle

I think the shareable profiles should be a seperate feauture, make a seperate new issue if you want that

theRookieCoder avatar May 20 '22 11:05 theRookieCoder

obj-obj/ferium is a fork that has a subcommand based way to import/export profiles. It can be used as a temporary workaround. Though keep in mind I did not write the implementation, and it won't be how it will be implemented in the official repo.

theRookieCoder avatar Jun 30 '22 13:06 theRookieCoder

Yeah it's literally just yeeting the profile object into serde_json

obj-obj avatar Jun 30 '22 16:06 obj-obj

This should also allow settings like the GitHub PAT, CurseForge API key, maximum parallel network requests, verbosity of output, download chunk size (for #284), etc to be stored in config.json instead of profile data

theRookieCoder avatar Mar 23 '23 14:03 theRookieCoder