オレオレWSL(Ubuntu)初期設定
まずパッケージのアップデート
sudo apt update
sudo apt upgrade
デフォルトシェルをbashからfishに
fish shell - 3.x release seriesのインストール
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt install fish
fishが入っていることの確認
cat /etc/shells
chsh(change shell??)でfishに変更
chsh -s /usr/bin/fish
fishのプラグインマネージャーのfisherのインストール
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
Rustの設定
Rustのインストール
まず、gcc(GNU Compiler Collection)などのインストール(開発用途によって要らんやつあるかも)
sudo apt install -y gcc build-essential pkg-config libusb-1.0-0-dev libftdi1-dev
Rustのインストール
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
fish用にPathを設定
fish_add_path $HOME/.cargo/bin
動くか確認
cargo -V
rustc -V
最新版(Nightly)のRustを使う
なんとなく最新版のほうがいいので、Nightlyのものをインストール
rustup install nightly
Nightllyが導入されていることの確認
rustup toolchain list
Nightllyをデフォルトに設定
rustup default nightly
なんとなくStableの削除(やらなくてもいい)
rustup toolchain remove stable-x86_64-unknown-linux-gnu
統合開発(IDE)の設定
VSCode
導入方法
wslの場合VSCodeは簡単に導入できる。
code .
拡張機能
拡張機能で絶対必要なもの
その他使いやすいもの
- あとで書きます
Neovim
導入方法
vimより使いやすいNeovimの最新版をインストールする
# 最新版のインストール
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
# おそらくエラーが起こる
./nvim.appimage
#エラーが起こった場合
./nvim.appimage --appimage-extract
./squashfs-root/AppRun --version
# nvimをグローバルに使えるように
sudo mv squashfs-root /
sudo ln -s /squashfs-root/AppRun /usr/bin/nvim
# 動作確認
nvim
# インストールしてきたときに出てきたファイルの削除
rm -d nvim.appimage
拡張機能
後で書きます
lsをもっと使いやすく
ls以外にもっとモダンなezaというものを使う
cargoからでもいいが、aptからインストールする。
sudo apt install eza
ezaが入っていることの確認
eza -v
exaのコマンドをもっと身近にするために、fish-ezaというfishのパッケージを入れる
fish-ezaのインストール方法
fisher install plttn/fish-eza
ezaをつかうには
l
で使うことができる
ほかには、treeでファイルの階層構造を見たかったら
lt 2
.
├── a
│ └── d
├── b
└── c
で見ることができる。
そのほかの使い方は、fish-ezaで
Pythonのインストール
私は物理学を学んでおり、数値計算を行うことが多いので、それはWSLではなくWindows環境で済ませてしまうことが多い。
しかし、何かしらの仮想環境を使ってプロジェクトを書く場合、Ryeを用いることが多くなってきた。
.venvだけでもいいが、github上の機械学習のプロジェクトをインストールするときに、どのPythonのversionを使えばいいのか分からず、無駄に時間がかかってしまうことが多いので、githubで公開するときはRyeを用いてほしい。[1]
インストール方法
curl -sSf https://rye-up.com/get | bash
ここで、package installerを設定するところがあるが、uvが速いらしいのでこれを用いている。
✔ Select the preferred package installer · uv (quick but experimental)
その他の設定はデフォルトでいい
このままだと、fishはどこにRyeがあるのか分からないので、PATHを追加する
fish_add_path $HOME/.rye/shims
インストールされているか確認
rye --version
-
機械学習も、「Ryeで構築するPytorch+CUDA環境」で用いることができるらしい(オレはまだ使ったことない) ↩︎
ショートカットでWSLを使いやすく
ターミナル設定で以下の画像のようにする
そして、ctrl + shift + 2
でWSLが起動できるようにする
gitの設定
gitのユーザー名の設定
gitのユーザー名を設定する。
git config --global user.name "jijinbei" # 適宜変更
git config --global user.email johndoe@example.com # 適宜変更
githubでプライベートリポジトリを使って開発を行うための設定
このままだと、GitHubのプライベートリポジトリで開発することができない。
GitHubへのSSHログインをするための設定を行う。
参考文献
まず、鍵の作成(適宜ファイル名を変更してください)
そのあと、(jijinbeiのところを書き換えて!!)
mv id_rsa_jijinbei* ~/.ssh/
chmod 600 ~/.ssh/id_rsa_jijinbei
cat ~/.ssh/id_rsa_jijinbei.pub
cat
で表示されたものをGitHubにのせる
解読してみろ
次に、sshを行うためのconfigの設定を行う(ここもjijinbeiを書き換えるように)
Host *
ServerAliveInterval 60
IdentitiesOnly yes
TCPKeepAlive yes
Host __github.com.* github.com
Hostname ssh.github.com
Port 443
User git
Host __github.com.jijinbei github.com
IdentityFile ~/.ssh/id_rsa_jijinbei
これで、SSHで接続できているか確認をおこなうと
これで、自分のプライベートリポジトリからクローンなどが行える
ただ、SSHで接続することを忘れないように!!
もっときれいに快適にプロンプト生活
Starshipを導入するのを忘れてた。
シェル用の最小限の、非常に高速で、無限にカスタマイズ可能なプロンプトだそうです。
Starshipのインストール
curl -sS https://starship.rs/install.sh | sh
fish用に初期設定を行い、~/.config/fish/config.fishに書き込んでしまう
echo 'starship init fish | source' >> ~/.config/fish/config.fish
NerdFont(おすすめはHackGenフォント)をWindowsにいれて、
ほらみてごらん
ほら綺麗でしょ
オレは情報量が多いより、デフォルトの設定が好みです
Macは持っていないのですが、これも好みです