Nu (nushell) でcondaのactivate / deactivateの初期設定がいつもわからなくなるのでメモ。
TL;DR
$ cd $nu.default-config-dir
$ http get https://raw.githubusercontent.com/nushell/nu_scripts/refs/heads/main/modules/virtual_environments/conda.nu | save -f conda.nuその後 nvim $nu.config-path 等で以下を追記
source ($nu.default-config-dir | path join 'conda.nu')
activate base # 自動でbaseをactivateしたい場合のみ。なおコマンドは、conda activate ではなく activate。conda deactivate ではなく deactivate である点に注意。
conda env list など、シェルの状態に影響がないものはそのまま。当然ながらcondaのパスは先に通しておく必要がある。
Starshipも併せて設定(オプション)
オプションとして、starship も設定しておくと、gitの状態などが詳細にわかって便利。
# windowsの場合
$ winget install starship
# macの場合は
$ brew install starshipその後 nvim $nu.config-path 等で以下を追記
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nuさらに nvim $nu.env-path 等で以下を追記
source ~/.cache/starship/init.nu
なお、プリセット等を設定しないと何も出ないので、例えば以下のnerd-font-symbolsを初期設定するなら、初回だけ以下を実行。
https://starship.rs/ja-JP/presets/nerd-font
$ starship preset nerd-font-symbols -o ~/.config/starship.toml以下、TL;DRに至った経緯をメモ
いつも確認するのは次のIssue(nushellのconda統合ってどうするのっていう主旨)。
https://github.com/nushell/nushell/issues/2272
いくつか例が上がっているなかで、nu_scripts が紹介されている。
https://github.com/nushell/nu_scripts
そのなかに conda.nu というものがある。
https://github.com/nushell/nu_scripts/blob/main/modules/virtual_environments/conda.nu
あとは、これを読み込む設定をすれば完了。
余談: catの代替 on Windows
記事の主旨には無関係だけれど、Windowsで cat をすると文字コードの関係で日本語が文字化けしやすいので、bat -p を代わりに使うことが個人的におすすめ。こういう記事に貼り付けるときにも便利。
cargo install bat