Попытался вспомнить, когда я вообще какие-то конфиги редактировал руками. Шоб не скрипты, а именно конфиги. Кажется, это были /etc/openvpn/client.conf и /etc/ssh/sshd_config.
В общем, софт, которым я пользуюсь, не требует каждодневного красноглазия с конфигами. Поэтому абсолютно всё равно, в каком они формате. Хоть в xml-е.
Потому что в момент когда те, кто пихают, учились в школе, был мощный вброс на тему, что XML — это серебряная пуля. По сути это действительно так, но ровно в одном случае: когда требуется заменить закрытый бинарный формат данных на хоть что-то читаемое и местами самодокументируемое с приложением минимальных мозговых усилий.
IMHO вообще нельзя использовать одну и туже технологию для разных целей, так как она будет плоха везде. XML позиционировался как палочка-выручалочка _везде_: в качестве конфигурационных файлов, в качестве представления текста редактируемого человеком, в качестве замены бинарных форматов, в качестве состояния системы на текущий момент и т.д. и т.п.
icewm - документирована в самом файле каждая опция. Самая неудобная, оставляя всякие сквиды, это E16, где недокументировано вообще ничего, ни в самом файле ни в каких либо доках.
Удобство не только в формате, но и в документированности, желательно прямо в файле. Как не надо делат это конфиги E16, тоже «формат-значение» но надо нюхом угадывать что именно параметры означают, доков нет никаких
Никаких, так как конфиги в отличие от настроек через GUI обладают большой проблемой - в большом конфиге можно несколько раз прописать одну и ту же опцию, а потом тратить недели на то чтобы понять посчему не работает. Не каждая программа проверяет наличие дубля. И какое конкретно значение будет применяться тоже неизвестно.
Мне без разницы, какой формат. Главное, чтобы прикладывали официальные рекомендации по оформлению конфигурационных файлов. У меня бзик, чтобы все было идеально by-design, «как задумал автор». :)
Вообще, я сам, делаю конфиги сразу на том языке, на котором что-либо разрабатываю, т.е. не нужно ничего лишний раз парсить, а только подключать конфиг к программе ее обычными средставми source, include и т.д.
А так... ну, нравится формат sysctl.conf, илиб как привел пример ТС, - fluxbox, где настройки вида:
По сути это действительно так, но ровно в одном случае: когда требуется заменить закрытый бинарный формат данных на хоть что-то читаемое и местами самодокументируемое с приложением минимальных мозговых усилий.
На самом деле у него серебрянная пульность есть в еще одном аспекте - программисты на яве туда сеарилизуются. Получая нечто «хоть как то читаемое и местами самодокументируемое с приложением минимальных мозговых усилий». Что характерно заказчики их приложений данный аспект жестоко ненавидят, но даже волшебная сила бабла тут мало чем смогла помочь ;D
Если говорить о формате, то в JSON и Perl (да, у меня перловые конфиги). Из распространенных программ - vim.
Самым блевотным считаю систему конфигурирования freeradius (формат конфигов, документация и прочее), и желаю его разработчикам, и всему коммьюнити, всего наихудшего, что может случиться с человеком.