ちなみに

火曜日の空は僕を押しつぶした。

VSCode (Cursor) のTerminalでもzellijを自動起動したい

zellij.dev

最近、zellij を使ったワークフローが手に馴染んできたので、VSCode (実際は Cursor 使ってる) の Terminal でも自動起動するようにした。

ドキュメント によると eval "$(zellij setup --generate-auto-start zsh)" って書いておけば自動起動できるのだけれど、各リポジトリ毎に別の Session になってほしいので以下のようにした。

# zellij https://github.com/zellij-org/zellij
if [[ "$TERM_PROGRAM" == 'vscode' ]]; then
  if [[ -z "$ZELLIJ" ]]; then
    zellij attach --create "$(basename "$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")")"
    exit
  fi
else
  if [[ -z "$VSCODE_RESOLVING_ENVIRONMENT" ]]; then
    # export ZELLIJ_AUTO_ATTACH=true
    export ZELLIJ_AUTO_EXIT=true
    eval "$(zellij setup --generate-auto-start zsh)"
  fi
fi

補足として、通常のターミナル側の処理で $VSCODE_RESOLVING_ENVIRONMENT を見ているのは、VSCode の起動時にユーザーのシェルの設定を読みに行く処理が失敗してぶっ壊れるので回避策。

zimの初期化周りが変わっていたので追従した

blog.nishimu.land

zsh に戻ってから引き続き zim を使っていますが、久しぶりに眺めたら初期化方法が変わっていたので追従した。

まずは zim のアンインストール手順を実施して、既存の設定などを全て削除した。 具体的には .zshrc の先頭に書いていた初期化処理を消して、.zimrc と .zim ディレクトリも消しておいた。

HomeBrew でインストールするようになってるのでインストールする。

$ brew install --formula zimfw

次に .zshrc の先頭にあたらしい初期化処理を書く。(/opt/homebrew を brew --prefix って書きたいけどタイミングによってうまくいかないのでむずい) zsh関連の自分で設定しているファイルとzimが管理するファイルを完全に分離しておきたかったので ZIM_HOME は別のzshとはディレクトリを指定している。

# https://github.com/zimfw/zimfw
ZIM_HOME="${XDG_CONFIG_HOME}/zim"
# Install missing modules and update ${ZIM_HOME}/init.zsh if missing or outdated.
if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZIM_CONFIG_FILE:-${ZDOTDIR:-${HOME}}/.zimrc} ]]; then
  source "/opt/homebrew/opt/zimfw/share/zimfw.zsh" init
fi
# Initialize modules.
source ${ZIM_HOME}/init.zsh

最後に .zimrc を書いていく。設定も出来るがデフォルトのままで"${ZDOTDIR}/.zimrc" に配置した。

Create ~/.zimrc の全部入りを採用した。

追加でインストールしたプラグインは以下。zsh-users/zsh-syntax-highlighting は fast と被るのでオフにしている。

# https://github.com/Aloxaf/fzf-tab
# before syntax-highlighting / zsh-autosuggestions
zmodule Aloxaf/fzf-tab

zmodule olets/zsh-abbr
zmodule zdharma-continuum/fast-syntax-highlighting
zmodule zsh-users/zsh-history-substring-search

これで zsh を起動すると初期化処理が走って、各種モジュールもインストールされる。

(compinit のエラーがたまに出ていたのが解消してスッキリ。) 解消してなかった

launchctlに環境変数を渡したい

colimaを使い始めてからmacOSを再起動するたびに設定などがまっさらになるという自体に頭を抱えていた。 これは XDG_CONFIG_HOME 以下じゃなくてホームディレクトリに新規で .colima ディレクトリが作成されてしまうからっぽい。 ホームディレクトリの設定が優先されているだけで、元の設定が消えている訳じゃないので、~/.colima/ を削除して、colimaを再起動するといいのだけれどちょっと手間。

原因は launchctl がシェルと独立して起動されるデーモンなので、環境変数を読めてないことにあると分かったので対策をする。

launchctl setenv でセッション内でだけ環境変数を設定できるらしいのでこれを使っていく。どうも永続的に設定する方法はなさそう。 サービスの plist に書いてくれってことらしいが、今回は HomeBrew で管理されているものというのと、全員が XDG Base Directory を採用している分けじゃないので手元でなんとかする。

僕はログインシェルを zsh にしていて、起動時に環境変数設定用の .zshenv というファイルを読み込むようにしているので、ここに以下のように書いておいた。

launchctl setenv XDG_CONFIG_HOME "$HOME/.config"
launchctl setenv XDG_CACHE_HOME "$HOME/.cache"
launchctl setenv XDG_DATA_HOME "$HOME/.local/share"
launchctl setenv XDG_STATE_HOME "$HOME/.local/state"

これでひとまずやりたいことは出来ていそう。 なんかもっとスマートな方法があれば教えてください。

blog.nishimu.land

goplsのnoSemanticXXXの設定が非推奨になった

blog.nishimu.land

この記事で紹介した noSemanticString / noSemanticNumber が v0.18.0 で非推奨になった。

代わりに semanticTokenTypes が使えるのでこれで設定すると良い。

"gopls": {
    "ui.semanticTokens": true,
    "ui.semanticTokenTypes": {
        "string": false,
        "number": false,
    },
},

github.com

カリタのブラシが折れた

ミルを掃除するのにいつ手に入れたか覚えてないカリタのブラシをずっと使っていたのだけれど、今日ついに折れてしまった 毎日使っていたものだったので相棒感があったのでちょっと悲しい。

同じものを買っても良かったのだけれど、せっかくなのでいろいろ試そうということで珈琲考具のやつを買ってみた。

確定申告しっぱいした

去年、家を買うにあたり住宅ローンを借りたので、住宅ローン控除を受けるために確定申告が必要になりました。 マイナポータルから各種連携をしようとしたところ、保険関連は数営業日かかったり、iDeCoなんかは土日が休みで連携できないらしい。 ということで今日は詰んでしまったので確定申告にしっぱいしました。 来週の平日に再チャレンジします。 みなさんは余裕をもって準備しましょう。

マキネッタ、完全に理解した

今年に入ってエスプレッソが飲みたい病気にかかってしまい、エスプレッソマシンの購入を検討しています。 しかし、でかい(物理)買い物なので慎重に考えていてなかなか決めきれず、いったんエスプレッソ欲を満たすためにマキネッタをやることにしました。

ド定番の BIALETTI、クレマが欲しいのでブリッカにしてみました。 思い切り直火式と書かれていてIHでは使えないのですが、そう言えば新居はIHなのを忘れていて焦りましたが ラジエントヒーター がついていたので事なきを得ました。 ちなみに ブリッカ インダクション という製品であればIHに対応しているそうです。(ちゃんと調べておけば...)

最初、何も調べずに使ってみたところ、あんまり美味しくなくてがっかりしたものの、ちゃんと調べたのちに試行錯誤した結果、美味しく淹れられるようになりました。 もちろん定番の吹き出してびちゃびちゃになるやつもやりました。

いくつか分かったこと

  • 粉はバスケットにすり切りいっぱい入れて押し固めない
  • バスケットの縁についた粉は落とす (隙間が出来て圧力が逃げることがある)
  • ボイラーにサーバーをつけるときは力いっぱいしっかりしめる (最初ひよってゆるめだった)
  • 水はちょっと少なめ (120cc指定のところ100ccくらい) ← これはちょっと実験中
  • 豆の挽き目はエスプレッソ用よりちょっと粗めがよい
  • ラジエントヒーターの場合は強火でよい

あとは豆をちゃんと選ぶと美味しく淹れられると思います。浅煎りは難しいのでもうちょっと焼いたものがいいかも。

大粒目の砂糖を落として飲んでもいいし、ホットミルクと混ぜても美味しくてQOL上がっています。 次はフォームミルクに挑戦したいけど、エスプレッソマシンを買ってスチームにするか、いったんフォーマーを挟むのか悩みどころ。

Nano Foamer PROsubminimal.tokyo

ガジェット的にはこれがほしいです。