* Verzeichnisstruktur aendern modul/ os/ linux/ osx/ host/ hostname1/ hostname2/ any/ * Auswahl und Reihenfolge Dateien - 3 Kategorien mit Default Order - 1: any - 10: os - 50: host - hoechste Order kommt am Ende (== ueberschreibt im Zweifel Optionen von zuvor) - userconfig.cfg Config Datei in Verzeichnissen modul/, modul/os, modul/os/$foo, modul/host, modul/host/$foo, modul/any - Format ConfigParser, [section] mit key = value - [global] section gilt fuer alle Dateien ab diesem Verzeichnis - userconfig.cfg in tieferem Verzeichnis ueberschreibt im Zweifel darueberliegende Werte - Es koennen auch Optionen pro Datei/Verzeichnis unterhalb /modul/any oder /modul/{host,os}/$foo angegeben werden, Beispiel Tree: /bash/userconfig.cfg /bash/any/.bash_profile /bash/any/.bashrc /bash/os/Linux/.bashrc /bash/os/osx/.bashrc /bash/host/glitters/.bash_profile /bash/host/glitters/.bashrc /bash/host/ra/.bash_logout /bash/host/ra/.foobar/baz userconfig.cfg kann Referenzen auf Dateinamen als Section enthalten: [global] dest = $HOME commentstring = # [.foobar/baz] dest = $HOME/.tmp Damit wird .foobar/baz nach $HOME/.tmp kopiert, alles andere direkt nach $HOME - Optionen fuer Config: - dest = string : Zielverzeichnis - commentstring = string : Kommentar der Config-Datei (fuer SVN-Header usw) - order = int : Manuell order setzen - first = bool : diesen Teil ganz oben setzen (hilft nicht bei mehreren config-dateien, dann order) - last = bool : diesen Teil ganz unten setzen (hilft nicht bei mehreren config-dateien, dann oder)