When I began using puppet, I quickly realised that configuration data was best kept separate from puppet manifests. Initially, I used extlookup and kept configuration data in CSV files. Then complex data structures came to puppet and I now use hirea/hiera-puppet with configuration data stored in hierarchical YAML files (other hiera backends are available). This article describes how to define in YAML the resources that should be applied to a node.
The default application for bittorrent files appears to be Transmission in Fedora 17. I prefer Azureus, but there is no obvious way to set Azureus as the default app.
I googled a little and came up with this:
# echo "application/x-bittorrent=fedora-Azureus.desktop" >> /usr/share/applications/defaults.list