My history: 1995: started using Linux as a hobby dev OS 2000: switched from Windows NT 4.0 to Linux at work (C) 2002: moved to .NET, used Windows at work and Linux at play 2006: mix of Linux and Windows at work 2011: abandoned .NET entirely; mix of Linux and OSX at work, Linux for play 2013: entirely Linux 2014: mix of FreeBSD and Linux for work and play So it's fair to say I've solid experience in both, plus a fair…
https://github.com/duncan-bayne/mint-setup
Nothing fancy (no Chef or similar, just a few shell scripts) but may give you some ideas. I most recently used them a few days ago to provision an old MacBook Pro as a spare dev machine at work.
I've a similar thing (more of a work in progress than the above Mint stuff) for FreeBSD: