Homebrewにオレオレコマンドを登録してみた
はじめに
こちらの tmuxとvimによる開発作業フロー 〜 ターミナルで効率的にアプリを開発するための設定など - YouTube を観て、 tmux 上で独自コマンドの ide と打って作業されていて、
確かに、画面分割をいい感じにしてくれるオレオレコマンドを用意しておくのはいいなーと思い、 PATH が通ったところに shell を置いておこうかと思ったんですが、 Mac が変わるごとに shell を github とかから持ってくるのも面倒だなーと思い、
オレオレコマンドをどこかに登録しようと考えました。
npm モジュール として登録して、 bin
を使って登録するでいいかと思ったんですが、そもそも Homebrew に自分のコマンドを登録するということをやったことなかったので、勉強のためにやってみたメモになります。
githubにソースコード管理リポジトリを作成する
#!/bin/bash
tmux split-window -v -p 30
tmux split-window -h -p 66
tmux split-window -h -p 50
やりたいことはシンプルで、 ide というコマンドを tmux 上で打つと、画面をいい感じに分割してくれるというだけです。
その ide というコマンドの内容は上記になります。
githubでリリース作業をしておく
上記で作ったリポジトリで、リリース作業をしておきます。
このときに、 Attach binaries by dropping them here or selecting them.
というところに、 ide ファイル をドラッグ・アンド・ドロップしておきます。(ここがちょっと特殊ですね)
Release v0.0.1 · hisasann/ide/ide
そして、添付されている ide ファイル の URL をコピーしておきます。
githubにHomebrewがインストールするためのリポジトリを作成する
Homebrew が取りに行く先のリポジトリを作成します。
このときにルールがあるので、それに従います。
homebrew-${コマンド名}
Formulaを作成する
$ brew tap-new hisasann/ide
$ brew create --tap hisasann/ide -v https://github.com/hisasann/ide/archive/v0.0.1.tar.gz
すると、 Vim が開くので、以下のように書き換えました。
class Ide < Formula
desc "Hisasann ide"
homepage "https://github.com/hisasann/ide"
url "https://github.com/hisasann/ide/releases/download/v0.0.1/ide"
sha256 "91ee41935651db8ba4d02892b655744b26c9b9ebe39c849e92b135770b651f83"
license "MIT"
また、このディレクトリで先程作った homebrew-${コマンド名}
に push します。
ディレクトリがどこかわからない場合は、 Vim コマンドがターミナル上に残っているはずなので、それを確認して cd
して移動しましょう。
オレオレHomebrewをインストールする
ここまでで Formula を追加したので、 tap し直して Formula を登録し、オレオレコマンドをインストールしてみましょう!
$ brew untap hisasann/ide
$ brew tap hisasann/ide
$ brew install ide
たまたま、 ide というモジュールが Homebrew 本家になかったので、上記でもインストール可能ですが、もし今後本家に ide というモジュールが追加されたときを想定して、以下のように入れるのがよいかもしれません。
$ brew install hisasann/ide/ide
$ tmux
$ ide
やったぜ!🥺
ぼくの dotfiles と neovim の設定
hisasann/dotfile: 💻 my dotfiles [vim][tmux][zsh][fish]
参考記事
Homebrewに自作コマンドを登録して使えるようにする【Go編】 - Qiita
Homebrewでformulaの作成 | ottijp blog
追記
【shell】tmuxの作業画面を一発で構築するコマンドを作ってみた | DevelopersIO
こちらの記事を拝見して、コマンドに引数を追加して分割パターンを増やしました。
また、 ide ファイルの sha256 を取得するコマンドはこちら。
shasum -a 256 ide
Discussion