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현재 사용 중인 버전을 항상 사용할 수 있도록 구성 파일에서 해시를 가져오고 싶습니다 fish. nix-shell가능합니까?

답변1

많은 옵션이 있지만 가장 쉬운 해결책은 다음을 사용하는 것입니다.

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

pkgs.fish(모바일에서는 테스트되지 않았으며 패키지를 로드하는 방법에 따라 조정이 필요할 수 있습니다 )

관련 정보