Haskellでscriptを書く
code:hoge.hs
#! /usr/bin/env nix-shell
#! nix-shell -p "pkgs.haskell.packages.ghc921.ghcWithPackages (p: p.ansi-terminal)"
#! nix-shell -i "runhaskell"
import qualified Data.Text.IO as T
import System.Console.ANSI
main :: IO ()
main = do
line <- T.getLine
setSGR SetColor Foreground Vivid Green
setSGR SetColor Background Dull Blue
T.putStrLn line
setSGR Reset
shebangにnixを指定することで、nix環境で実行できる
Nixでスクリプトを書く
ghcWithPackagesの部分でpackageを追加する
$ echo "hoge" | ./hoge.hs
参考
NixによるHaskell開発環境の構築 - syocy’s diary
https://zenn.dev/mod_poppo/scraps/e2891dbebb235d
https://zenn.dev/mod_poppo/articles/haskell-script