nix-shellを使用するときにtmuxのデフォルトシェルを設定する方法は?

nix-shellを使用するときにtmuxのデフォルトシェルを設定する方法は?

nix-shellシェルを使ってロードしたいです。私のファイルに以下を追加してこれを行いました。tmuxfish.nix

shellHook = ''
  tmux -f .tmux.conf
'';

.tmux.confそれでは一つあります。

set-option -g default-shell /nix/store/lpmzq9qf0dgn357l20y5868wayjr79yi-fish-3.3.1/bin/fish

tmux現在使用しているバージョンを常に使用できるように、設定ファイルからハッシュをインポートしたいと思いますfishnix-shell可能ですか?

答え1

多くのオプションがありますが、最も簡単な解決策は以下を使用することです。

shellHook =
  let tmuxConf = pkgs.writeText "tmux.conf" "set-option -g default-shell ${pkgs.fish}/bin/fish";
  in ''
    tmux -f ${tmuxConf}
  '';

pkgs.fish(モバイルではテストされておらず、パッケージのロード方法によっては調整が必要になる場合があります)

関連情報