add cabal config and update gitignore