前回の記事では、
stack newしてとりあえず簡単なHaskell製のプログラムを書き始める方法をお伝えしました。
今回は、前回の記事でTODOになっていた、stack newして作られるファイルのテンプレートの設定を変えて、もうちょっと始めやすくしたいと思います。
ちょうど僕が新しいプロジェクトを作りたくなったので、その作業記録です。
ハマりどころ: stackのバージョンが古かったorz
いきなりですがハマりました... 
下記の通りに動かすには、stackを0.1.4.0以降に上げる必要があります。
更新する場合は、やはりOSによって方法が異なってしまいますが、
stack upgradeと実行すると、よしなにやってくれるかもしれません。
(EXPERIMENTALな機能だそうなのでご利用は計画的に。)
私の場合は、Arch Linuxなので普通にyaourt -S haskell-stackしました 
テンプレートの正体を追え!
 それでは気を取り直して。
 それでは気を取り直して。
そもそも、前回stack newしてできたテンプレートの内容はどこから来ているのでしょう?
ググったらすぐ見つかりました。commercialhaskell/stack-templatesです。
で、こちらのREADME曰く、~/.stack/stack.yaml( 重要な変更あり1)をいじれ、とのこと。
 重要な変更あり1)をいじれ、とのこと。
私の場合は以下の通り。
templates:
  params:
    author-name: Yuji Yamamoto
    author-email: whosekiteneverfly@gmail.com
    copyright: 2015 Yuji Yamamoto
    github-username: igrep
    category: Development
で、保存したら後はこの間と同様、
$ stack new foobar
するだけです。
LICENSEファイルなどを確認してみましょう。
もっと違うテンプレートも使いたい!
私が調べた限り、今のところcommercialhaskell/stack-templatesにあるテンプレートのみが使えるみたいです。
*.hsfilesとなっているファイルがそれです。デフォルトではsimple.hsfilesというのが使われます。
他のテンプレートを使いたいときは、
$ stack new foobar hakyll-template
などと実行しましょう。これですぐに新しいブログを始められますね!
git initも自動化したい!!!!!!!1
ちなみに、上述ハマった件でstackのソースを調べていたところ、下記のようなオプションを見つけました。
templates:
  scm-init: git # <- コレ!
  params:
    ...
文字通りです。
stack new foobarすれば、foobar/以下にテンプレートの内容だけでなく、.gitも作られます。
便利! 
- 
stack v0.1.6.0以降、 ~/.stack/stack.yamlは~/.stack/config.yamlとなったそうです。ご利用の方はご注意ください。 ↩