Lingon Created plists for the User Template

Question for the Lingon Expert: Once I've completed creating a plist under Lingon, can the plist be directly applied to the user template in order for the changes to force the desired results, no matter who logs into the machine? (Side note: I understand Casper 7.2 has provisions for uploading plists now, and can the same in terms of changes made to a plist take place in the User Template under any user login?) It will allow me to create a launchd config under Lingon by directing the agent to 'launch only at login,' 'when the computer starts,' or 'as a Daemon' running in root.

I am not sure of your question exactly....

Launchd can launch items and daemons by triggers and settings you set it to do. So, for example, you want a global start up script to run at start up, regardless if a user is logged in or not at the login window, you would want to create your plist (launchd item) and place it in /Library/LaunchDaemons, as those are system wide and execute at start up. If you want it to run whenever any user logs in, place it in /Library/LaunchAgents.

Now, lets you have a scenario that you want a script to run globally, to say execute a series of commands whenever a Mac client boots up, regardless if a user logs in or not, or if no user is logged in at all. The script containing your commands is in /Library/Scripts/startup.sh (for example).

This is what your plist would look like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>com.mycompany.startup</string>
	<key>ProgramArguments</key>
	<array>
		<string>/Library/Scripts/startup.sh</string>
	</array>
</dict>
</plist>

You would save this as com.mycompany.startup.plist for example. After you save the file to /Library/LaunchDaemons, you need to tell launchctl (launch control) to load it, permanently.

launchctl -w load /Library/LaunchDaemons/com.mycompany.startup.plist

Now, every time you start the Mac, it will execute that script as root via launchd. See the launchd manual for more information along with launchctl.