Personally, I have used one of the following approaches which I think are simpler and more practical, compared to the recommendations discussed in the ivy documentation.
Project settings file
If ivy detects an ivysettings.xml file in the root directory of my project it will automatically used (no special configuration required)
├── build.xml
├── ivysettings.xml <-- Custom settings here
├── ivy.xml
└── src
└── files
Host a central settings file
My standard resolve target references a common settings file located on a central server:
<target name="resolve" description="Use ivy to resolve classpaths">
<ivy:settings url="http://mysite.com/ivysettings.xml" />
<ivy:resolve/>
<ivy:report todir='${ivy.reports.dir}' graph='false' xml='false'/>
<ivy:cachepath pathid="compile.path" conf="compile"/>
<ivy:cachepath pathid="test.path" conf="test"/>
</target>