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

Support VCS-friendly plugins rev lockfile #193

Open
lttb opened this issue Jan 25, 2025 · 0 comments
Open

Support VCS-friendly plugins rev lockfile #193

lttb opened this issue Jan 25, 2025 · 0 comments
Labels
feature New feature or request
Milestone

Comments

@lttb
Copy link

lttb commented Jan 25, 2025

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 and sheldon 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 existing sheldon/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?

@rossmacarthur rossmacarthur added the feature New feature or request label Jan 26, 2025
@rossmacarthur rossmacarthur added this to the 0.9.0 milestone Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants