最近新しいWindows laptop(HP Spectre 13)を購入しました。そのセットアップの記録をつけておきます。
そもそもなぜWindowsか
確かに、MacはUnix環境がそのまま使えて、terminal emulatorもcmd.exeに比べるとはるかにまともです。
しかしながらMacのパッケージマネージャはどれも微妙というか、結局POSIX環境を根こそぎ入れることになってしまってアレです。
さらにまあ当たり前ではあるんですが、未だにやっぱりハードウェアの対応状況がよろしくないという点も考慮すべきです。
あと最近Macはしょうもないデバイスが多くて、ガジェット好きとしては微妙な感じが否めないのもあります。
一方でじゃあUbuntuでも入れればいいじゃんっていうのもそのとおりなのですが、省電力機能を絞っていくのが大変そうなイメージがあります。まあバッテリ時間にして1時間くらいしか変わらないでしょうが、やっぱりちょっと悲しい。あと固有の機能が全然使えない可能性があるのも、特に新しいデバイスではきついです。
ということで、やっぱりなんだかんだでWindowsなのです。
結局シェル環境はどうするのがいいか
昔もなんかメモ書きをしたのですが、正直結構アレなことをしていまして、やっぱりCtrl-Lとかがイマイチちゃんと動かなかったりします。というか多分これはConEmuのバージョンとかの問題だったりするような気もしますが。
じゃあどうするのがいいのかという話なんですが、今回いろいろやってみて、手動で入れたMSYS2+chocolateyで入れたConEmu、という組み合わせが手間を最小化しつつ環境がまともになる方法だと思います。また、Pythonとかは全部MSYS上に入れちゃうのがラクです。どうせすぐbash on Ubuntu on Windowsが来るので、あんまりゴテゴテさせないような気もしますし…。
以下そのメモなど。
Chocolatey
Windowsのパッケージマネージャ、chocolateyを使うと、かなりの手順を自動化できます。その一方で、自動化できないもの、あるいは単純にchocolateyを使わない方がよいものもありました。どれがどうとかは結構非自明なので、一応書き留めておきます。
自動化できないもの
TeXlive
そもそもパッケージが無いっぽいです。なぜ…。
インストーラをここから入れます。大学のネットワークからやったんですが、適切なミラーを選ばないと無限に時間がかかります。
Gimp
なんか単にchocolateyがコケた
使わないほうがよさそうなもの
MSYS2
入ることには入るのですが、スタートアップメニューからMSYSと打ち込んでも候補に出てこなかったり、あるいはConEmuがMSYSの存在を認識してくれないなどの問題があります。手動でここから持ってきて入れるのがいいです。
Google日本語入力
chocolateyで入るっぽいですがパッケージが古かったので手動で入れました
packages.config
私のpackages.configを晒しておきます。ご参考まで。
<?xml version="1.0"?>
<packages>
<package id="GoogleChrome" />
<package id="Firefox" />
<package id="texstudio" />
<package id="dropbox" />
<package id="msys2" />
<package id="xming" />
<package id="conemu" />
<package id="Thunderbird" />
<package id="skype" />
<package id="rapidee" />
<package id="winrar" />
<package id="vlc" />
<package id="notepadplusplus" />
<package id="tightvnc" />
<package id="jdk8" />
<package id="android-sdk" />
<package id="androidstudio" />
<package id="VisualStudio2015Community" />
<package id="xamarin-visualstudio" />
<package id="VisualStudioCode" />
<package id="apktool" />
<package id="javadecompiler-gui" />
<package id="ilspy" />
<package id="audacity" />
<package id="wireshark" />
<package id="procexp" />
<package id="paint.net" />
</packages>