Open
Description
Thanks a lot for such an amazing shell plugin manager!
Feature Suggestion: a trackable versions lockfile would be an amazing addition to the existing lock functionality.
Example
sheldon lock
generates $XDG_CONFIG_HOME/sheldon/plugins.lock
if it doesn't exist (similarly to $XDG_DATA_HOME/sheldon/plugins.lock
), with automatically pinned rev
versions.
For example,
[[plugin]]
name = "zsh-defer"
source = "github:romkatv/zsh-defer"
rev = "53a26e287fbbe2dcebb3aa1801546c6de32416fa"
[[plugin]]
name = "evalcache"
source = "github:mroth/evalcache"
rev = "3153dcd77a2c93aa8fdf5d17cece7edb1aa3e040"
This file can be tracked in the VCS along with with plugins.toml
and other dotfiles.
sheldon lock --update
updates the$XDG_CONFIG_HOME/sheldon/plugins.lock
sheldon lock
andsheldon lock --reinstall
installs dependenies based on the lock file if exists
Notes
- I suppose it can be an optional flag in sheldon config (
plugins.toml
), disabled by default? $XDG_CONFIG_HOME/sheldon/plugins.lock
naming is just an example, I guess there can be a better name to avoid confusion with existingsheldon/plugins.lock
file- Plugins can be remote and local too, so it's probably fair to assume that
rev
locking is available only for github/gist plugins
What do you think?