😎

Homebrewにオレオレコマンドを登録してみた

2020/11/04に公開

はじめに

こちらの tmuxとvimによる開発作業フロー 〜 ターミナルで効率的にアプリを開発するための設定など - YouTube を観て、 tmux 上で独自コマンドの ide と打って作業されていて、

確かに、画面分割をいい感じにしてくれるオレオレコマンドを用意しておくのはいいなーと思い、 PATH が通ったところに shell を置いておこうかと思ったんですが、 Mac が変わるごとに shell を github とかから持ってくるのも面倒だなーと思い、

オレオレコマンドをどこかに登録しようと考えました。

npm モジュール として登録して、 bin を使って登録するでいいかと思ったんですが、そもそも Homebrew に自分のコマンドを登録するということをやったことなかったので、勉強のためにやってみたメモになります。

githubにソースコード管理リポジトリを作成する

hisasann/ide

#!/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がインストールするためのリポジトリを作成する

hisasann/homebrew-ide

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 します。

hisasann/homebrew-ide

ディレクトリがどこかわからない場合は、 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]

hisasann/neovim: 🍑 neovim 🥭

参考記事

Homebrewに自作コマンドを登録して使えるようにする【Go編】 - Qiita

brew tapとは - Qiita

Homebrewでformulaの作成 | ottijp blog

tmux入門 - とほほのWWW入門

追記

【shell】tmuxの作業画面を一発で構築するコマンドを作ってみた | DevelopersIO

こちらの記事を拝見して、コマンドに引数を追加して分割パターンを増やしました。

また、 ide ファイルの sha256 を取得するコマンドはこちら。

shasum -a 256 ide

Discussion