Comments 15
Я, например, ни c, ни с++ не знаю, да и пёрловку не очень умею готовить, но мейкфайл для сборки, например, своей первой версии статического сайта с помощью mandoc, написал неспешно под полтора литра пива и двухчасовой концерт Скорпионс.
Так что не надо тут обижать никого
Я недавно тоже озаботился синхронизацией и автоматизацией установки дотфайлов и остановился на таком решении https://github.com/anishathalye/dotbot
Пока нравится
Присматривался ко многим коллекциям dotfiles. В настоящее время остановился на .bashrc следующего содержания:
if [ -d "${HOME}/.bash" ]
then
# Environment, functions, some setings and aliases: in this order
for f in \
"${HOME}/.bash/environ" \
$( ls ${HOME}/.bash/functions-* 2>/dev/null ) \
$( ls ${HOME}/.bash/settings-* 2>/dev/null ) \
"${HOME}/.bash/aliases"
do
[ -f "$f" ] \
&& . "$f"
done
fi
Работает под cygwin/linux. Поддерживаю только bash — другие не держим.
зачем? этот "велосипед" выполняется ровно один раз — при создании профиля пользователя в системе. Тоже использую подобный "велосипед" из первой ссылки, в котором есть "ln -s ~/Dropbox/.bash_aliases ~/" — этого вполне достаточно, чтобы настроить окружение, т.к. этот файл (~/.bash_aliases) ищется по-умолчанию в debian-based ОС.
Быстрый поиск не дал результатов и я написал свою поделку.
http://dotfiles.github.io/
Ну серьезно. Тонны всего уже написано, менеджеры конфигураций, плагинов для bash,zsh,vim и прочего.
Все в олпенсорсе и многое в репах дистрибутивов.
Как вы можете помочь проекту
Лопату принести? Просто после 37 строчек постить Patreon это уже ни в какие ворота.
Нет, нет и еще раз нет! Это извращение! Это не unix-way. Это просто кошмар.
(Простите за эмоциональность, но это правда отвратительно и оскорбительно для меня как адепта unix)
Вот как делать это по канону:
- Создайте в
$HOME
директориюprofile.d
и складывайте туда ваши скрипты. - Добавьте всего одну строку в файл
$HOME/.profile
:
[ -f ~/.profile.d/*.sh ] && source ./profile.d/*.sh
- Забудьте про патчинг profile-файла навсегда.
Если нужно что-то отключить используете mv
. Если нужно посмотреть, что сейчас подключается используете ls
. Удалить – rm
.
Чтобы не делать это для всех пользователей, сделайте это один раз для пользовательского шаблона (для убунту /etc/skel
).
Все.
“Nano-Framework” для автоматизации добавления скриптов в .{bash/zsh}rc