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

Brew vimac? #152

Open
molleweide opened this issue Jun 2, 2020 · 27 comments
Open

Brew vimac? #152

molleweide opened this issue Jun 2, 2020 · 27 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@molleweide
Copy link

Is it possible to download vimac via terminal? I’d love to add it to my dotfiles?

I don’t know how hard it is to distr somethinf via brew so my apologies if its a dumb question..

@dexterleng
Copy link
Collaborator

I'll put it up on brew as soon as I can automate my deployment process (figuring that out now).

@molleweide
Copy link
Author

Awesome!!

@NylonDiamond
Copy link

That would be cool

@dsernst
Copy link

dsernst commented Jul 16, 2020

Related to #123

@dexterleng
Copy link
Collaborator

dexterleng commented Jul 17, 2020

I have been struggling to get it notarized before I put it up on brew. I'll give it another shot this weekend.

@dexterleng
Copy link
Collaborator

@molleweide

I am looking into this now. I personally don't get the reason for hosting on brew, as auto-updates are delivered through Sparkle. Perhaps you (or someone else) could enlighten me on why it is needed?

Referring to Acceptable Formulae, it appears "tools that upgrade themselves" are not "acceptable".

@tshu-w
Copy link

tshu-w commented Aug 29, 2020

@dexterleng In my case, I maintain some scripts that make it easy to turn a new macOS into something I'm familiar with. That's why it's important to be able to install vimac through brew.

Referring to Acceptable Formulae, it appears "tools that upgrade themselves" are not "acceptable".

It seems like there are many apps in brew upgrade themselves, or at least we can create vimac own Repositories.

@dijit
Copy link

dijit commented Aug 31, 2020

First off, I love the application, well done on crafting something so useful and unique!

For this issue I'd like to say that I prefer a unified update channel, instead of each application having its own- which is why I use brew and disable programs from having self-updaters. This has the bonus effect of preventing a lot of notification spam from Apps that love to notify you of an update. It also assists in lowering random network traffic (as I use little-snitch, which can also be installed via brew despite being very integrated to the OS and having its own update channel).

If there is some scripting needed to help you automate the creation and deployment of a cask for this then let me know, I'm relatively fluent in Ruby/Bash. :)

@dexterleng dexterleng added question Further information is requested enhancement New feature or request labels Aug 31, 2020
@jsatk
Copy link

jsatk commented Aug 31, 2020

I believe you'll want to add this to the list of Casks. For example, I install Chrome via brew cask install google-chrome. Chrome auto-updates itself.

@a-b
Copy link

a-b commented Aug 31, 2020

Brew casks have improved a lot lately. They became more version aware, and they support upgrades via the homebrew.

@kochalex
Copy link

kochalex commented Sep 4, 2020

I took a look at adding a cask, but but the binary downloads links on appcenter are signed URLs that change regularly. There's an open issue about it: microsoft/appcenter#1833

Example brew-cask issue where a cask was removed due to this not working: Homebrew/homebrew-cask#80779

I think a cask with a a stable download link (could be github releases, for example) and an appcast link to the sparkle XML to note that it has automatic updates would work.

@TribuneX
Copy link

Why is this issue closed? So there will be no way we see brew cask support in the future?

@lougreenwood
Copy link

Really looking forward to being able to install via brew 👍

@rjcoelho
Copy link

rjcoelho commented Mar 27, 2021

Homebrew/discussions#998

@dexterleng in order for this to be accepted to the official cask repo we need a stable release url and a different cask name (since vimac has "mac").

Can you do releases to github (last one was 0.3.6) ?
Also what name should we use instead of vimac ?

For ref, this is the cask formula

cask "vimac" do
  version "0.3.6"
  sha256 "e03ed4f0e86082abd7b12210177a3d40ab87a0319bcb326229ed8d3b133fe409"

  url "https://github.com/dexterleng/vimac/releases/download/v#{version}/vimac-v#{version}.zip"
  name "vimac"
  desc "Productive macOS keyboard-driven navigation"
  homepage "https://github.com/dexterleng/vimac"

  livecheck do
    skip "No version information available"
  end

  app "Vimac.app"
end

@molleweide
Copy link
Author

Are names incl ’mac’ not allowed?

@dexterleng
Copy link
Collaborator

dexterleng commented Mar 27, 2021

Apologies, I've been busy working on other parts of Vimac.

It seems like there are several things that have to be done to make Vimac work well on Brew:

  1. Host it with stable URLs for its binaries - I'll have to probably distribute the application outside of AppCenter (to GitHub Releases, for example)
  2. Have a different cask name for it (ugh) or rename the product (which I am not against)
  3. (Optional) Store preferences in a serialized format

Recently I realized that Vimac is still in its early stages, and is not a product I can confidently say that people love. I would like to prioritize working on other aspects, such as:

  1. Figuring out who exactly Vimac is for, and what problems they face
  2. Figuring out what I can build that can fulfill that need
  3. Building version 1 based on my findings

Currently, I think the distribution method works for most people, so I would like to focus my time on building a better product. I hope yall can understand.

@molleweide
Copy link
Author

molleweide commented Mar 29, 2021

after having found out about some new key in scroll mode commands i am starting to love vimac even more!! it feels just so great.

New name suggestion from for brew: "keynav", "keyos", "pimpmykeys" (yeah dude), "keybediboo".

aymanbagabas added a commit to aymanbagabas/homebrew-cask that referenced this issue Apr 8, 2021
aymanbagabas added a commit to aymanbagabas/homebrew-cask that referenced this issue Apr 8, 2021
@vitorgalvao
Copy link

Homebrew Cask developer here. Clearing up the naming misconception:

in order for this to be accepted to the official cask repo we need (…) a different cask name (since vimac has "mac").

You’re only considering half of the rule:

Remove from the end: strings such as “Mac”, “for Mac”, “for OS X”, “macOS”, “for macOS”. These terms are generally added to ported software such as “MAME OS X.app”. Exception: when the software is not a port, and “Mac” is an inseparable part of the name, without which the name would be inherently nonsensical, as in PlayOnMac.app.

The rule exists so we don’t get a bunch of casks redundantly named -for-mac when casks themselves only work on macOS. Vimac fits into the acceptable exceptions.

Have a different cask name for it (ugh) or rename the product (which I am not against)

Cask names and app names are bound together. Keeping the app’s name but changing the cask’s would not be accepted. But as established above, that’s not necessary.

Host it with stable URLs for its binaries

This one, however, is a must. If you host it on GitHub releases, it will be easier for us to tell when a new version is out. Though sharing the Sparkle URL works too.

Referring to Acceptable Formulae, it appears "tools that upgrade themselves" are not "acceptable".

Formulae and casks are different beats. Formulae are CLI-only open-source tools which (can) compile from source and are supported on macOS and Linux. Casks cannot compile from source, are only supported on macOS, but deal with a truckload of different software such as apps, drivers, fonts, audio plugins, and more.

We’re aware the distinction can be confusing, but Homebrew Cask started as its own thing (a different unofficial project) which later merged into Homebrew.

@molleweide
Copy link
Author

Thank you for clarifying! This really cleared things up for me.

@bob-ortiz
Copy link

bob-ortiz commented Apr 23, 2021

@dexterleng In my case, I maintain some scripts that make it easy to turn a new macOS into something I'm familiar with. That's why it's important to be able to install vimac through brew.

How do you do this? @tshu-w I'm unfamiliar with brew but I love the idea of keeping a method to turn a new OS into a familiar one. Is there any introduction I could use or insight you could give me to understand what you do?

@quintrino
Copy link

@bob-ortiz I'm not the original author but brew does include the brew bundle option which lets you install everything listed in a brewfile. example

That way you could just add cask vimac to the file and have it included in all the software you get installed automatically.

In terms of a more comprehensive setup for everything you can have a look at my dotfiles deploy script which does pretty much everything, but it's probably not a good intro, but might give some inspiration.

@xj-m
Copy link

xj-m commented Apr 23, 2021

@dexterleng In my case, I maintain some scripts that make it easy to turn a new macOS into something I'm familiar with. That's why it's important to be able to install vimac through brew.

How do you do this? @tshu-w I'm unfamiliar with brew but I love the idea of keeping a method to turn a new OS into a familiar one. Is there any introduction I could use or insight you could give me to understand what you do?

https://github.com/lra/mackup is a pretty good tool to sync up your configurations, and brew + mackup covers early everything for me.

@tshu-w
Copy link

tshu-w commented Apr 23, 2021

@bob-ortiz dotfiles is good notion that you need to know. If you only use macOS, a combination of brew (bundle) and mackup is a good choice, with the former saving the software you installed and the latter saving the software configurations. I also use stow as I need to snyc cli tools configs across linux servers, for more details you can refer my dotfiles too.

@molleweide
Copy link
Author

Cool! I didnt know about mackup

@tshu-w
Copy link

tshu-w commented Aug 21, 2021

A third party brew tap for vimac with his own api https://github.com/kidonng/homebrew-malt/blob/master/Casks/vimac.rb

@adithyabsk
Copy link

I'm not the original author but brew does include the brew bundle option

A third party brew tap for vimac

Those two responses contain the reasons why I use brew to manage my dependencies and applications on my mac.

  1. Using a brew bundle file is super convenient when you want to get up and running on a new machine and want to keep an eye on what dependencies you may have unwittingly installed working on a side project one weekend. It works great with a dotfile setup where you can check it into version control
  2. Brew cask does a great job of cleaning up the libraries folder when you delete an application which otherwise, often grows unboundedly

@mayurankv
Copy link

Is this not expected to happen? As far as I'm aware installing Vimac as a cask would be perfectly in line with what is expected for a home-brew cask.

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

No branches or pull requests