Open15
WSL2環境を作り直すときのメモ
ピン留めされたアイテム
やったことまとめ(2023-02-01)
- fish + starshipのシェル環境構築 ※細かい設定はしない
- Homebrewとfisherだけで環境構築
- GithubへのSSH接続でWindows側の認証情報をWSL側でも使う
- VoltaでNode.js入れた
追記1(2023-02-27)
- tmux入れて初期設定を追加
追記2(2023-03-07)
- UbuntuにDockerをインストール(Stable Diffusionで遊びたい)
- stable-diffusion-webuiを動作させる
初期化
手順
初期化後に「指定されたファイルが見つかりません」
パッケージ更新とHomebrew導入
パッケージの更新
sudo apt update
sudo apt upgrade -y
Homebrewのインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
終わり次第 next step の内容を実行
brew doctor
上記を実行して問題がなければ終わり。
fish
fishを導入
brew install fish
which fish | sudo tee -a /etc/shells
chsh -s /home/linuxbrew/.linuxbrew/bin/fish
vim ~/.config/fish/config.fish
if status is-interactive
# Commands to run in interactive sessions can go here
# PATH
eval (/home/linuxbrew/.linuxbrew/bin/brew shellenv) # 追加
end
シェルを再起動してbrew -v
が動作すればOK!
(非表示コメントにzshのセットアップ手順があるけど、全角入力できなくなったのでfishに移行)
fishの設定
パッケージマネージャーを追加
brew install fisher
Starship
Starshipを導入
brew install starship
starship init fish | source # ~/.config/fish/config.fishに追記
その他便利なやつらを導入
ターミナル周り
brew install ghq
brew install fzf
brew install hub
brew install tig
brew install commitizen
fisher install decors/fish-ghq
fisher install jethrokuan/z
tigで日本語が文字化けするのでconfig.fishに以下を追記しておく
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
hubとfzfを使ってローカルリポジトリからGithubに飛べるように
functions/__ghq_browse_github
function __ghq_browse_github -d "Browse remote repository on github"
ghq list | fzf | read -l repo_path
set -l repo_name (string split -m1 "/" $repo_path)[2]
hub browse $repo_name
end
alias gbg='__ghq_browse_github'
tigの初期設定とcommitizenとの連携
.tigrc
#--------------------------------------------------------------#
## tig settings ##
#--------------------------------------------------------------#
set main-view = id:yes date:default,local=yes author commit-title:graph=yes,refs=yes,overflow=false
set blame-view = date:default id:yes,color line-number:yes,interval=1 text
set pager-view = text
set stage-view = text
set log-view = text
set blob-view = text
set diff-view = text:yes,commit-title-overflow=no
set tab-size = 2
set ignore-case = true
set split-view-width = 80%
set split-view-height = 80%
set diff-options = -m --first-parent
set refresh-mode = auto
color cursor black white bold
#--------------------------------------------------------------#
## key bind ##
#--------------------------------------------------------------#
# Pで現在のブランチへpush
bind generic P ?@!git push origin %(repo:head)
# そのほかのGitコマンド
bind generic F ?@!git fetch %(remote)
bind generic U ?@!git pull %(remote)
# Dでstatus viewのuntracked fileを削除できるようにする
bind status D ?@rm %(file)
# コミットにcommitizenを使用する
bind status C !git cz c
Git周りの設定
brewで入れ直す
sudo apt purge git
brew install git
Windows側のssh設定をWSL2上でも使いたい
brew install keychain
sudo vim /etc/wsl.conf
# wsl.conf追記ここから
[automount]
options = "metadata"
# wsl.conf追記ここまで
chmod 600 /mnt/c/User/ユーザー名/.ssh/秘密鍵ファイル名
eval (ssh-agent -c)
ssh-add /mnt/c/User/ユーザー名/.ssh/秘密鍵ファイル名
ssh -T git@github.com # 接続できればOK!
以下の記事通りに実行したらうまくいった!感謝~🤝
毎回eval (ssh-agent -c) & ssh-add しない
wsl --shutdown # powershell
vim ~/.config/fish/config.fish
# 追記ここから
/usr/bin/keychain --nogui /mnt/c/Users/ユーザ名/.ssh/秘密鍵名
source $HOME/.keychain/(hostname)-fish
# 追記ここまで
ssh -T git@github.com # 接続できればOK!
Node.js
Volta
brew install volta
volta setup
volta install node
node -v
終わり
ひとまず今やりたい開発作業ができるところまで作業を実施。
fishよくわかってないけどデフォルトでも補完が効いて使いやすいのでオススメ!
設定ファイルいじったり追加で便利なもの見つけたら追記します~🙌
ここから設定を取得するとデフォルト以外のコマンドも補完が効くらしい…。
追記1 tmuxを入れる
brew install tmux
vim ~/.tmux.conf
設定ファイルの内容
.tmux.conf
################################# KEY BINDING #################################
# prefixキーをC-qに変更
set -g prefix C-q
# C-bのキーバインドを解除
unbind C-b
# prefixキー + '|' でペインを縦分割する
bind | split-window -h
# prefixキー + '-' でペインを縦分割する
bind - split-window -v
# vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# ペインのサイズ変更
bind -r H resize-pane -L 3
bind -r J resize-pane -D 3
bind -r K resize-pane -U 3
bind -r L resize-pane -R 3
# Ctrl-o でペインをローテーションしながら移動
bind -n C-o select-pane -t :.+
# prefixキー + 'v' でコピーモードを始める
bind -T copy-mode-vi v send -X begin-selection
# コピーモードでvimキーバインドを使う
setw -g mode-keys vi
################################# Color #################################
# default statusbar colors
set-option -g status-style bg=colour235,fg=colour136,default
# default window title colors
set-window-option -g window-status-style fg=colour244,bg=default,dim
# active window title colors
set-window-option -g window-status-current-style fg=colour166,bg=default,bright
# pane border
set-option -g pane-border-style fg=colour240
set-option -g pane-active-border-style fg=colour166
# message text
set-option -g message-style bg=colour235,fg=colour166
# pane number display
set-option -g display-panes-active-colour colour33 #blue
set-option -g display-panes-colour colour166 #orange
# clock
set-window-option -g clock-mode-colour colour64 #green
# bell
set-window-option -g window-status-bell-style fg=black,bg=red #base02, red
################################# OTHERS #################################
# 番号基準値を変更
set-option -g base-index 1
set-option -g pane-base-index 1
# マウス操作を有効にする
set-option -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"
追記2 Ubuntu環境内にDockerをインストールする
公式の手順通り追加
自動起動の設定を追加
sudo usermod -aG docker ユーザー名
# 初期設定だとsudo visudoしたときにnanoが立ち上がるのでvimに変更
sudo update-alternatives --set editor /usr/bin/vim.basic
sudo visudo
visudo
# 末尾に追加
%docker ALL=(ALL) NOPASSWD: /usr/sbin/service docker start
config.fish
if test (service docker status | awk '{print $4}') = "not"
sudo service docker start > /dev/null
end
追記3 Stable Diffusionを使えるようにする
Docker を使用した NVIDIA CUDA のセットアップ
基本的には公式の手順通り進める。
# 最初のこれがfishじゃエラーになるけど修正方法わからないので os-release 見て
# set で distribution に値入れた
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
# NVIDIA Container Toolkitの動作確認
nvidia-container-cli info
完了したらwslをシャットダウンして再起動。
stable-diffusionをインストール
便利なのがあったのでこれを使ってみる
ghq get https://github.com/AbdBarho/stable-diffusion-webui-docker
docker compose --profile download up --build
docker compose --profile auto up --build
起動後アクセスして表示されれば完了~!