Skip to content

Instantly share code, notes, and snippets.

@steshaw
Created April 14, 2010 05:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save steshaw/365474 to your computer and use it in GitHub Desktop.
Save steshaw/365474 to your computer and use it in GitHub Desktop.
$ cat /etc/launchd.conf
setenv JAVA_HOME /Library/Java/Home
setenv SCALA_HOME /Users/steven/local/scala
setenv M2_HOME /Users/steven/local/maven
setenv MAVEN_OPTS -Xmx256m
$ echo launchd is the root of all user processes on the Mac... but that was the old way. Now with the new:
echo launchd is the root of all user processes on the Mac... but that was the old way. Now with the new:
$ cat ~/bin/Sync<tab>
SyncAllToEnvPlist SyncToEnvPlist
$ cat ~/bin/SyncToEnvPlist
#!/bin/bash
scriptName=$(basename $0)
if [[ $# -ne 1 ]]; then
cat <<! >&2
Usage: $scriptName environment-variable-name
environment-variable-name Must be an export environment variable name such as PATH or MANPATH
!
exit 2
fi
var=$1
domain=~/.MacOSX/environment
echo "$scriptName: synchronising $var with $domain"
cmd="defaults write $domain ${var} \"\$${var}\""
bash -c "$cmd"
$ cat ~/bin/SyncAllToEnvPlist
#!/bin/bash
# Sync all environment variables with ~/.MacOSX/environment.plist
env | cut -d= -f1 | sort | while read var; do
SyncToEnvPlist $var
done
$ SyncAllToEnvPlist
SyncToEnvPlist: synchronising AKKA_HOME with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising Apple_PubSub_Socket_Render with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising COMMAND_MODE with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising DISPLAY with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising DYLD_LIBRARY_PATH with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising EDITOR with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising GLASSFISH_HOME with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising GOARCH with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising GOBIN with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising GOOS with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising GOROOT with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising HOME with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising JAVA with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising JAVA_HOME with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising LANG with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising LOGNAME with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising M2_HOME with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising MANPATH with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising MAVEN_OPTS with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising MYSQL_CONNECTOR_JAR with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising ORIGINAL_PATH with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising PATH with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising PWD with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising SCALA with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising SCALA_HOME with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising SHELL with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising SHLVL with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising SSH_AUTH_SOCK with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising TERM with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising TERM_PROGRAM with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising TERM_PROGRAM_VERSION with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising TMPDIR with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising USER with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising _ with /Users/steven/.MacOSX/environment
SyncToEnvPlist: synchronising __CF_USER_TEXT_ENCODING with /Users/steven/.MacOSX/environment
$ echo Thanks Ola :\)
Thanks Ola :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment