来たるべきWindows機での開発に備えて、着々とEmacsコーディング環境を構築していこうと思う。 調べてみると、WindowsでEmacsを動かすには選択肢がいくつかあるらしい。
NTEmacsやgnupackでWindows用にビルドしたEmacsを導入できる。 しかし、NTEmacsに関しては日本語入力に難有りとの情報がある。
仮想環境を入れる方法はHyper-VとかVagrantとかDockerとか色々ある。 まあ、自分はDockerに慣れているので、Windows for Dockerを使いたい。 手順としては、DockerでUbuntuか何かを入れ、そこにaptでEmacsパッケージを導入するという流れ。 Windows7以上で可能。
WSLを使えば、Windows上で直接Linux環境を動かせる。 これはWindows上で仮想環境を動かしているというわけではないらしい。 先人が既にWSL上でEmacsを動かしているので、それに従えばもうOK。 Windows10のみで可能。
残念なことに手元にWindows機がないし、実際にA / B/ C でのEmacsの使い心地を試すことができない。 また、ゆくゆく扱うマシンに入っているWindowsのバージョンが分からないので、A / B / C のどれが取りうる手段なのかも分からない。 今できることはほとんどないと言えるだろう。
ただ1つできることとしては、Emacs入りのイメージをビルドするDockerfileを作っておくくらいか。 これさえ作っておけば、あとはDocker for Windowsでイメージをビルドするだけだ。 というわけで、Dockerfileを作っておくことにする。
とりあえず、
という環境を構築するという前提でいく。
Dockerfileは以下の通り。
FROM ubuntu:latest
MAINTAINER Capsule-Man <https://github.com/Capsule-Man>
LABEL Description="This image is used for building emacs coding environment on Windows" Version="1.0"
RUN apt-get update
RUN apt-get install -y emacs software-properties-common
RUN apt-add-repository ppa:fish-shell/release-2
RUN apt-get update
RUN apt-get install -y fish
RUN mkdir /root/.emacs.d
ADD .emacs.d /root/.emacs.d/
ほんとはバージョン26.1をビルドしたかったのだが、Docker特有のLinuxのセキュリティ機構が働いてビルドできなかった。 なので、仕方なくaptでビルドされたものをインストール。 それでも25.2なので、とりあえずは問題ない。 (使っているパッケージの中にEmacs25以上じゃないと動かないというものがあった)
Windows10ならEmacs by WLSで、Windows7/8ならEmacs by Dockerでゆく。
http://cha.la.coocan.jp/doc/NTEmacs.html http://grugrut.hatenablog.jp/entry/2016/08/16/215253 https://yo.eki.do/notes/emacs-windows-2017 http://kimh.github.io/blog/jp/docker/gothas-in-writing-dockerfile-jp