- [ ] (再作成の場合)仮想マシンの登録解除
wsl --list wsl --unregister Ubuntu
- [ ] (WSL2内)プロキシの設定
- 環境変数
export HTTP_PROXY="http://id:pass@proxysrv:port/" export http_proxy=${HTTP_PROXY} export HTTPS_PROXY=${HTTP_PROXY} export https_proxy=${HTTPS_PROXY} export NO_PROXY=localhost,127.0.0.1
- APT
echo "Acquire::http::proxy \"${HTTP_PROXY}\";" | sudo tee -a /etc/apt/apt.conf > /dev/null echo "Acquire::https::proxy \"${HTTP_PROXY}\";" | sudo tee -a /etc/apt/apt.conf > /dev/null
- Wget
echo "http_proxy = ${HTTP_PROXY}" | sudo tee -a /etc/wgetrc > /dev/null echo "https_proxy = ${HTTP_PROXY}" | sudo tee -a /etc/wgetrc > /dev/null
- snap
sudo snap set system proxy.http=${HTTP_PROXY} sudo snap set system proxy.https=${HTTPS_PROXY}
- 環境変数
mkdir -p ${HOME}/.bash_profile.d
mkdir -p ${HOME}/.bashrc.d
mkdir -p ${HOME}/.local/bin
mkdir -p ${HOME}/.local/share/tools
mkdir -p ${HOME}/.local/share/applications
mkdir -p ${HOME}/.local/share/bash-completion/completions
mkdir -p ${HOME}/.local/share/fonts
mkdir -p ${HOME}/bin
sudo apt update &&
sudo apt -y full-upgrade &&
sudo apt -y install \
bash-completion \
build-essential \
connect-proxy \
curl \
firefox \
git \
graphviz \
gron \
jq \
language-pack-ja \
libbz2-dev \
libdb-dev \
libffi-dev \
libffi7 \
libgdbm-dev \
libgmp-dev \
libgmp10 \
liblzma-dev \
libncurses-dev \
libncurses5 \
libncursesw5-dev \
libpq-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libtinfo5 \
manpages-ja \
manpages-ja-dev \
ripgrep \
tk-dev \
tmux \
unzip \
uuid-dev \
x11-xkb-utils \
zip \
zlib1g-dev
# git clone https://github.com/git/git.git
wget -q -O ${HOME}/.local/share/bash-completion/completions/git.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
wget -q -O ${HOME}/.local/share/tools/git-prompt.sh https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
VER="LASB-230228"
wget -q -O /tmp/RictyShinDiminished-${VER}.zip https://www.structure.kais.kyoto-u.ac.jp/lab/RictyShinDiminished-${VER}.zip &&
unzip -u -d /tmp /tmp/RictyShinDiminished-${VER}.zip &&
cp -r /tmp/RictyShinDiminished-${VER} ${HOME}/.local/share/fonts/RictyShinDiminished
sudo update-locale LANG=ja_JP.utf8
sudo ln -f -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
sudo wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -P /etc/apt/trusted.gpg.d/ &&
sudo wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -P /etc/apt/trusted.gpg.d/ &&
sudo wget -q https://www.ubuntulinux.jp/sources.list.d/jammy.list -O /etc/apt/sources.list.d/ubuntu-ja.list &&
sudo apt update &&
sudo apt -y install ubuntu-defaults-ja
see below:
- [ ] https://docs.docker.com/engine/install/ubuntu/
- [ ] https://docs.docker.com/engine/install/linux-postinstall/
- [ ] https://qiita.com/dkoide/items/ca1f4549dc426eaf3735
- for proxy setting
mkdir -p ${HOME}/.docker &&
: > ${HOME}/.docker/config.json &&
cat << EOF > ${HOME}/.docker/config.json
{
"auths": {},
"detachKeys": "ctrl-\\\\"
}
EOF
wget -q -O- https://www.dropbox.com/download?plat=lnx.x86_64 | tar xzvf - &&
wget -O ${HOME}/bin/dropbox.py https://www.dropbox.com/download?dl=packages/dropbox.py &&
chmod +x ${HOME}/bin/dropbox.py &&
${HOME}/bin/dropbox.py autostart y &&
${HOME}/bin/dropbox.py start &&
: > ${HOME}/.bashrc.d/dropbox &&
echo "dropbox.py status | grep -q \"Dropbox isn't running\!\" && dropbox.py start > /dev/null 2>&1" > ${HOME}/.bashrc.d/dropbox
dropbox.py status #=> 同期状況確認
mkdir ${HOME}/.ssh &&
chmod 700 ${HOME}/.ssh &&
cp ${HOME}/Dropbox/clients/dotssh/* ${HOME}/.ssh
git clone git@github.com:chupaaaaaaan/dotfiles.git ${HOME}/.dotfiles &&
bash ${HOME}/.dotfiles/deploy.bash &&
rm -f ${HOME}/.profile &&
ln -s ${HOME}/.bash_profile ${HOME}/.profile &&
. ${HOME}/.bash_profile
wget -q -O- https://raw.githubusercontent.com/creationix/nvm/v0.39.1/install.sh | bash &&
: > ${HOME}/.bashrc.d/node &&
echo 'export NVM_DIR=$HOME/.nvm' >> ${HOME}/.bashrc.d/node &&
echo '[ -s "$NVM_DIR/nvm.sh" ] && . $NVM_DIR/nvm.sh' >> ${HOME}/.bashrc.d/node &&
echo '[ -s "$NVM_DIR/bash_completion" ] && . $NVM_DIR/bash_completion' >> ${HOME}/.bashrc.d/node &&
echo '[ "none" = $(nvm current) ] && nvm install node' >> ${HOME}/.bashrc.d/node &&
. ${HOME}/.bashrc.d/node &&
nvm install node --reinstall-packages-from=current &&
nvm alias default node
sudo add-apt-repository ppa:ubuntuhandbook1/emacs &&
sudo apt update &&
sudo apt -y install emacs emacs-el emacs-mozc cmake libtool-bin && #=> cmake and libtool-bin for vterm
: > ${HOME}/.bashrc.d/emacs &&
echo "alias emacs='setxkbmap -layout jp && XMODIFIERS=@im=none emacs >> /dev/null 2>&1 &'" > ${HOME}/.bashrc.d/emacs &&
. ${HOME}/.bashrc.d/emacs
git clone git@github.com:chupaaaaaaan/emacs.d.git ${HOME}/.emacs.d &&
mkdir -p ${HOME}/.local/elisp/local
sudo apt update &&
sudo apt -y install fcitx5-mozc &&
im-config -n fcitx5 &&
: > ${HOME}/.bash_profile.d/fcitx5 &&
echo 'export GTK_IM_MODULE=fcitx' >> ${HOME}/.bash_profile.d/fcitx5 &&
echo 'export QT_IM_MODULE=fcitx' >> ${HOME}/.bash_profile.d/fcitx5 &&
echo 'export XMODIFIERS=@im=fcitx' >> ${HOME}/.bash_profile.d/fcitx5 &&
echo 'export DefaultIMModule=fcitx' >> ${HOME}/.bash_profile.d/fcitx5 &&
echo '[ $SHLVL = 1 ] && fcitx5 --disable=wayland -d > /dev/null 2>&1' >> ${HOME}/.bash_profile.d/fcitx5 &&
echo '[ $SHLVL = 1 ] && xset -r 49 > /dev/null 2>&1' >> ${HOME}/.bash_profile.d/fcitx5 &&
echo 'export NO_AT_BRIDGE=1' >> ${HOME}/.bash_profile.d/fcitx5 &&
. ${HOME}/.bash_profile.d/fcitx5 &&
fcitx5-configtool
- 「入力メソッド」タブ
- 「現在の入力メソッド」の一番上を、「キーボード - 日本語」にする
- 「グローバルオプション」タブ
- 「入力メソッドの切り換え」を無効化する
- 「入力メソッドを有効にする」を「変換」キーにする
- 「入力メソッドをオフにする」を「無変換」キーにする
- 「Ctrl + Shift + S」のホットキーを無効化する
wget -q -O- https://get-ghcup.haskell.org | sh &&
: > ${HOME}/.bash_profile.d/ghcup &&
echo '[ -f ${HOME}/.ghcup/env ] && . ${HOME}/.ghcup/env' >> ${HOME}/.bash_profile.d/ghcup &&
. ${HOME}/.bash_profile.d/ghcup &&
wget -q -O ${HOME}/.local/share/bash-completion/completions/ghcup.bash https://raw.githubusercontent.com/haskell/ghcup-hs/refs/heads/master/scripts/shell-completions/bash
: > ${HOME}/.bashrc.d/stack &&
echo 'eval "$(stack --bash-completion-script stack)"' >> ${HOME}/.bashrc.d/stack &&
. ${HOME}/.bashrc.d/stack &&
stack config set install-ghc --global false &&
stack config set system-ghc --global true
npm install -g http-server elm elm-format elm-oracle elm-test @elm-tooling/elm-language-server
sudo snap install intellij-idea-ultimate --classic &&
: > ${HOME}/.bashrc.d/idea &&
echo "alias idea='setxkbmap -layout jp && intellij-idea-ultimate >> /dev/null 2>&1 &'" > ${HOME}/.bashrc.d/idea &&
. ${HOME}/.bashrc.d/idea
最初にVirtualbox 7.0とExtension Packを入れておく。 https://www.oracle.com/jp/virtualization/technologies/vm/downloads/virtualbox-downloads.html
wget -q -O- https://apt.releases.hashicorp.com/gpg | sudo apt-key add - &&
sudo add-apt-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" &&
sudo apt update &&
sudo apt -y install vagrant &&
: > ${HOME}/.bash_profile.d/vagrant &&
echo 'export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1"' >> ${HOME}/.bash_profile.d/vagrant &&
echo 'export PATH="$PATH:/mnt/c/Program Files/Oracle/VirtualBox"' >> ${HOME}/.bash_profile.d/vagrant &&
. ${HOME}/.bash_profile.d/vagrant &&
vagrant plugin install virtualbox_WSL2 &&
vagrant plugin install vagrant-hosts &&
vagrant plugin install vagrant-disksize &&
vagrant plugin install vagrant-vbguest
: > ${HOME}/.bash_profile.d/go &&
echo 'export GOPATH="$HOME/.local/go"' >> ${HOME}/.bash_profile.d/go &&
echo 'export PATH="$GOPATH/bin:/usr/local/go/bin:$PATH"' >> ${HOME}/.bash_profile.d/go &&
. ${HOME}/.bash_profile.d/go &&
( GOVERSION=1.23.2 &&
sudo rm -rf /usr/local/go &&
wget -q -O- https://go.dev/dl/go${GOVERSION}.linux-amd64.tar.gz | sudo tar -C /usr/local -xzf - )
: > ${HOME}/.bash_profile.d/python &&
echo 'export PYPATH="$HOME/.local/python"' >> ${HOME}/.bash_profile.d/python &&
echo 'export PATH="$PYPATH/bin:$PATH"' >> ${HOME}/.bash_profile.d/python &&
. ${HOME}/.bash_profile.d/python &&
( PYVERSION=3.12.0 &&
wget -q -O- https://www.python.org/ftp/python/${PYVERSION}/Python-${PYVERSION}.tar.xz | tar -C /tmp -xJf - &&
cd /tmp/Python-${PYVERSION} &&
./configure --prefix=$PYPATH &&
make && make install )
wget -q -O- https://github.com/peco/peco/releases/latest/download/peco_linux_amd64.tar.gz | tar -C /tmp -xzf - &&
mv /tmp/peco_linux_amd64/peco ${HOME}/.local/bin
python3 -m pip install --user online-judge-tools
wget -q -O ${HOME}/.local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 &&
chmod +x ${HOME}/.local/bin/yq
see https://github.com/cli/cli/blob/trunk/docs/install_linux.md
go install github.com/x-motemen/ghq@latest
wget -q -O /tmp/git-delta.deb https://github.com/dandavison/delta/releases/download/0.13.0/git-delta_0.13.0_amd64.deb &&
sudo dpkg -i /tmp/git-delta.deb
wget -q -O /tmp/awscliv2.zip https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip &&
unzip -u -d /tmp /tmp/awscliv2.zip &&
sudo /tmp/aws/install --update &&
bash ${HOME}/Dropbox/creds/aws_cred_setup.bash
wget -q -O- https://get.sdkman.io | bash &&
: > ${HOME}/.bashrc.d/sdkman &&
echo 'export SDKMAN_DIR="${HOME}/.sdkman"' >> ${HOME}/.bashrc.d/sdkman &&
echo '[[ -s "${SDKMAN_DIR}/bin/sdkman-init.sh" ]] && . "${SDKMAN_DIR}/bin/sdkman-init.sh"' >> ${HOME}/.bashrc.d/sdkman &&
. ${HOME}/.bashrc.d/sdkman