в текстовом файле в ~/.config/progname или ~/.progname[rc] /etc/progname и доп конфиги (общесистемные преимущественно в readonly в /usr/share/progname/). В подходящем формате: если не требуется проверок, автопреобразований и т.п. то в ini,json,свой, если требуется и то xml, возможны случаи когда конфиг это программа на ЯП.
Иные приложения вообще не хранят настройки. Иные хранят в одном месте, но конфигурируются в другом. У некоторых приложений конфиг есть единственный способ настройки, а некоторые не настраиваются через конфиг, а настраиваются прямо по скрипту. А есть приложения, которые хранят конфиг сами в себе.
И ты правда думаешь, что все эти приложения кому-то что-то должны?
Я не пытаюсь ограничить топик. Просто если вы хотите привести пример, который меня убедит, то выбирать надо из десктопного софта, потому что о другом я ничего не знаю.
Вот и у современных GnomeOS писателей докучи с поттерингом такой-же подход.
Да что же вы сразу обобщать? Я же не GnomeOS писатель, и не писатель вообще. Я пользователь, и, как пользователь, отвечаю на вопрос о том, что мне удобно, а что нет. Если для 99.9% софта хватает плейнтекст-конфига, то почему бы его не использовать? А отдельные специализированные приложения, вроде веб-серверов, всё равно требуют специальных знаний для развёртывания, и формат нестандартного конфига вполне может быть их частью.
Как отрицательный пример, могу привести конфиги опенбокса. Там, если вы не в курсе, совершенно не к месту и без необходимости накручен xml. В итоге, работать с этим файлом неудобно, парсинг требует процессорных ресурсов и дополнительных библиотек, а никаких дополнительных возможностей усложнение формата не даёт.
В текстовом файле, можно в виде .sh, а лучше какой-нибудь руби, чтобы dsl можно было для конфигурирования на коленке написать, но не таскать же с собой везде интерпретатор.