LoginSignup
15
12

More than 5 years have passed since last update.

WSLとMacで動くdotfilesを作った話

Last updated at Posted at 2019-02-10

WSL?

Windows Subsystem for Linuxの略です。
一言でいうと、「Windows 10上で動作するLinuxサブシステム」となります。
今回は、このWSLとMacで動作するdotfilesを作成しました。

作ったdotfiles

shuntaka9576/dotfiles
※ 環境を大きく変えるため利用する際には注意してください!

動作環境

  • Ubuntu 18.04 LTS(ストアアプリ)
  • macOS Mojave(10.14.3)

dotfilesの構成

  • neovim
  • fish
  • tmux
  • 上記の環境を構築ための、shellスクリプト

Install方法

curlで雑に環境構築できます。よく見る方式ですね。

curl -L raw.github.com/shuntaka9576/dotfiles/master/init/install.sh| bash

WSLで動いてる感じ

image.png (画像の警告はALEによるものです。)

ターミナルにはwsl-terminalを利用しています。
フォントや透明度は、設定から変更することが可能です。(透過いい...)
初めはCmderを使っていましたが、neovimを縦分割したときの表示崩れが酷くて辞めました。
PythonやGolangのLSPであるpylsやgoplsも問題なく動作しました。

勉強になったこと

Linux-brew

Linux-brewを利用して、MacとWSLの環境構築部分をほとんど共通化したところです。
もちろんPATHの問題はでるため、そこは.bashrcconfig.fishで差を吸収しています。
CeontOSやAmazonLinux2に対応させる場合も、Linux-brewを利用すればかなり環境構築が楽になりそうですね。。(yumは本当に色々ないので、、)

WSL判定

[shell] WSL かどうかを判別するを参考にしました。
リンク先の一例である/proc/sys/fs/binfmt_misc/WSLInteropというファイルシステムの存在判定で、
WSLかどうかを判定をしています。

# Macなら普通のbrew、WSLならLinux-brewを入れる処理をする箇所
if [ "$(uname)" == 'Darwin' ]; then
  echo 'Install brew [Mac]'
  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  echo 'Install modules only for Mac'
  ~/dotfiles/init/setup/mac.sh
elif [ -f /proc/sys/fs/binfmt_misc/WSLInterop ]; then
  echo 'Install brew [WSL]'
  sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
elif [ "$(expr substr $(uname -s) 1 5)" == 'Linux' ]; then
  echo 'Install brew [Linux]'
else
  exit 1
fi

最後に

WSLは、Ubuntuなので動いて当然ちゃ当然なのですが、やはりピュアUbuntuとは異なる点が多いため今回試してみました。
プラグインモリモリのneovimが動いたので、本格的にWindowsでガリガリコードが書けそうな感想を抱きました。
ターミナル周りで良いツールが出ると更に良いと思いました。(個人的には、前述のwsl-terminalで十分でしたが)

WSLは、昨年後半ごろにWSL上でDocker Engineが動くようになっていたっぽいという話があったりと、これからさらに楽しみです。

Special Thanks!!!

lighttiger2505/.dotfiles
構成や内容を大いに参考(パク..)にさせていただきました。
本当に知見しかなかったです。。。助かりました。。。。
Windows10で快適なfishシェル環境構築
fishのthemeは、フォントを入れないと文字化けするので、上記の手順を利用して解決しました。

15
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
12