I recently live-coded and deployed a web-service to AWS in front of some coworkers. This was the result of a weekend's work trying to resolve how to painlessly deploy a Haskell app inside of existing AWS infrastructure.
I had not used Packer before this project, but now I consider it a bit indispensable.
Basically my approach was to use Nix to provision a base AMI; then use Nix to build new versions of the app. This is an alternative to fully NixOS based deployments.