Use case or problem
I ignore the plugins directory of my Obsidian vault by adding .obsidian/plugins/*
to my .gitignore
, since it may take 10MB (not a lot in relative size in a video game project, but a lot in a pure textual novel project - also some devs like keeping non-modified third-party code in external repositories rather than copying them).
Obsidian already knows which plugins are used thanks to core-plugins.json and community-plugins.json. While core plugins are pre-installed, community plugins are not, and Obsidian doesn’t exploit the data in community-plugins.json to automatically reinstall those plugins.
It makes sense to wait for user approval to start downloading community plugins due to safety risks and bandwidth usage. However, currently, even after enabling community plugins, user needs to manually search and install every plugin by reading the community-plugins.json file, which may be tedious with 10+ plugins (and require to open a .json with an external editor).
Proposed solution
First, Obsidian could showing the list of expected plugins in the Community plugins section, by reading the lines from community-plugins.json. The plugins would appear in a special section “Configured plugins not installed yet” or “Plugins to install” (you can find a better wording) shown above or below the “Installed plugins section”.
One button “Install” to the right of each entry would allow the user to install each plugin easily.
One button at the top “Install all” would even allow them to install all the plugins at once.
Possible difficulty: plugins installed via BRAT, as they would need to go through BRAT. But even if not supported, that would fix 90% of the issue and BRAT devs could then implement an extra button to install the remaining plugins.
Current workaround (optional)
a. Open .obsidian/community-plugins.json, read each line marked “true”, search corresponding plugin (knowing that “ID name” in json is not always 100% matching Readable Name), install, enable
b. (not tested) Follow Reinstall plugins without losing configuration setting the version of each plugin to 0, and force update of all plugins
Related feature requests (optional)
For the “set version to 0” technique we mentioned above
Some users troubled with what to put in gitignore and mentioning they also have a heavy plugins folder.