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

Remove (or make optional) the zoxide and tmux dependencies in the goreleaser Brew config #118

Closed
dljsjr opened this issue May 22, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@dljsjr
Copy link

dljsjr commented May 22, 2024

What would you like sesh to do?

By having those dependencies declared as part of the homebrew package, users who have tmux and/or zoxide installed by other means will end up having the executables installed by brew in order to use sesh, which may not be desired.

  1. For example, linuxbrew users might have zoxide and/or tmux installed as a native OS packge, but still want to use brew to install sesh
  2. Additionally, since they're binary dependencies, it doesn't necessarily make sense to force an installation at "build" time.

One workaround is to pass --ignore-dependencies to the brew install command, but then you get a loud warning.

They could also be marked as either recommended (which would require the user to pass --without-<dep>) or optional (which would require --with-<dep>).

@dljsjr dljsjr added the enhancement New feature or request label May 22, 2024
@joshmedeski
Copy link
Owner

I'm currently using GoReleaser to generate the homebrew tap which doesn't support the recommended or optional feature right now, but I can reach out and see if that's something that could be added.

For now, I think --ignore-dependencies is the most clear path for devs that know what they're doing and want to use a different package manager for the sesh dependencies.

@dljsjr
Copy link
Author

dljsjr commented May 23, 2024

I checked the GoReleaser docs before I opened the issue to make sure they supported it and it seems like they do via a type key on the YAML map:

IMG_6664

@joshmedeski
Copy link
Owner

Nice! I searched the docs and couldn't find this myself.

So I'm leaning toward making it a recommended plugin instead of required. Optional feels misleading. What do you think?

@dljsjr
Copy link
Author

dljsjr commented May 29, 2024

Tough to say for me tbh, my intuition may be skewed; macOS is my daily driver, but I don't usually use tmux on my Mac. I spend most of my day SSH'd in to Debian-based Linux boxes, though. Where I try to install as much as possible through apt PPA's, and that's where I use tmux. I only use brew on Linux for stuff that either has no PPA, or that I very explicitly want to keep up to date on a rolling/cutting-edge basis.

So for me, I like optional because it requires a --with <dep> as opposed to recommended which requires a --without <dep>. But again, I don't have any intuition in to whether my use-case is the norm or the deviation.

@joshmedeski
Copy link
Owner

Since your the outlier here I'm going to leave everything as-is. I think it makes the most sense for most people.

#68 is open right now and I'll be adding Debian support, so your edge-case here will go away when that package becomes available.

Thanks for discussing this and working through it with me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants