Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSON file for preferences and better NixOS compatibility #2571

Open
the-pink-hacker opened this issue Nov 30, 2024 · 0 comments
Open

JSON file for preferences and better NixOS compatibility #2571

the-pink-hacker opened this issue Nov 30, 2024 · 0 comments

Comments

@the-pink-hacker
Copy link

Detailed description of your suggestion

Currently there are two places where user preferences are stored:

  • launch_settings.json
  • Local Storage (LevelDB)

Only two settings are stored in launch settings; other than that, everything is stored in local storage. While this works, it makes it much harder to keep multiple computers in sync with the same config. There is a current solution to this: the user can export their config as a json file. While this works for manually exporting the config, it doesn't work for automatic setups such as NixOS.

A database is stored in a binary format which makes it hard for other programs and power-users to modify it themselves. If there was just one file for storing settings that was in plain json, then something like Nix's Home Manager could easily create that file from scratch and manage it itself. This wouldn't just benefit NixOS—which most likely is a small percent of users. On any OS, the user could just simply copy a file into the config path of Blockbench and have all their preferences carried over from another computer.

I'm assuming one of the main benefits to local storage is compatibility with the web version. So, in order to maintain web support, the web version could possibly continue using local storage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants