LINUX.ORG.RU

emacs + githab

 ,


0

2


Как сделать, надо чтоб Emacs подгружал свой ~/.emacs из репозитория GitHub.
* более развернуто: посоветуйте готовый рецепт для прикручивания репозитория GitHub к Emacs'у в качестве облачного хранилища для хранения (синхронизации) конфигов Emacs'а и автоматического тиражирования их актуальной версии на несколько компов (OS на всех разная).


Ну так сделай свой ~/.emacs симлинком на файл из репозитория, делов-то.

~ $ ls -l ~/.emacs
lrwxrwxrwx   1 dmatveev       dmatveev       31 2013-09-16  2013 /home/dmatveev/.emacs -> /home/dmatveev/.dotfiles/.emacs
~ $ 
yoghurt ★★★★★
()

в качестве костыля: Скрипт для запуска емакса, который сначала скачивает конфигурационные файлы и следом запускает емакс.

hope13 ★★★
()
Ответ на: комментарий от yoghurt

yoghurt

Ну так сделай свой ~/.emacs симлинком на файл из репозитория, делов-то.

ну сейчас так примерно делаю, только через Dropbox. Думал существует более изящное решение в виде модуля emacs'а...

ufayan
() автор топика
Ответ на: комментарий от hope13

hope13

в качестве костыля: Скрипт для запуска емакса, который сначала скачивает конфигурационные файлы и следом запускает емакс.

так в винде у меня происходит, а в линукс симлинк

ufayan
() автор топика
Ответ на: комментарий от ufayan

Чтобы правки в .emacs автоматом отправлялись на гитхаб?

Ну, можно припилить хук, который именно для случая ~/.emacs будет делать git add && git commit && git push на каждое сохранение.

А на старт повесить хук c git pull.

А ещё можно сделать из буханки хлеба троллейбус, но зачем? :) Не думаю, что конфиг емакса - это то, что должно вот так вот постоянно автоматически синхронизироваться. Руками пару раз сделать проще. И надо ли это вообще - опять же, у меня на каждой машине базовый конфиг чуть-чуть да изменен под нужды и особенности окружения

yoghurt ★★★★★
()

просто положи все в гит, повозившись с .gitignore

anonymous
()

Изврат, но может сработать

Попробуй GitFS.

PS: GNU/Linux — сила! В том числе потому что есть FUSE.

Camel ★★★★★
()
Ответ на: комментарий от yoghurt

yoghurt

Чтобы правки в .emacs автоматом отправлялись на гитхаб?

Ну, можно припилить хук, который именно для случая ~/.emacs будет делать git add && git commit && git push на каждое сохранение.

А на старт повесить хук c git pull.

А ещё можно сделать из буханки хлеба троллейбус, но зачем? :) Не думаю, что конфиг емакса - это то, что должно вот так вот постоянно автоматически синхронизироваться. Руками пару раз сделать проще. И надо ли это вообще - опять же, у меня на каждой машине базовый конфиг чуть-чуть да изменен под нужды и особенности окружения

хотелось бы для начала просто вот как-то так делать:
(require 'https://github.com/projectname/emacs.d/blob/master/init.el)
отправлять правки автоматом на гитхаб это уж во вторую очередь..

ufayan
() автор топика
Ответ на: комментарий от ufayan

хотелось бы для начала просто вот как-то так делать:

(require 'https://github.com/projectname/emacs.d/blob/master/init.el)

Это можно накодить на Emacs Lisp. Вызывать внешние команды он умеет, работать с файлами тоже, вся суть будет сводиться к загрузке содержимого репозитория, открытия .emacs оттуда во временный буфер, и вызову eval-buffer. Ну может пути ещё настроить какие

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

yoghurt

Это можно накодить на Emacs Lisp. Вызывать внешние команды он умеет, работать с файлами тоже, вся суть будет сводиться к загрузке содержимого репозитория, открытия .emacs оттуда во временный буфер, и вызову eval-buffer. Ну может пути ещё настроить какие

ну вот я и думал, что может уже готовый можуль для всего этого существует)))
иначе и смысла нет особо возиться с этим, dropbox тоже неплохо справляется..

ufayan
() автор топика
Ответ на: Изврат, но может сработать от Camel

Camel

PS: GNU/Linux — сила! В том числе потому что есть FUSE

мысль конечно интересная, но далеко не простая для такой тривиальной задачи. и потом, мне ведь кроссплатформенное решение нужно..

ufayan
() автор топика
Ответ на: комментарий от anonymous

А чего там делиться - git init в хомяке делаешь, добавляешь туда нужные конфиги, пушишь в репозиторий. На остальных машинах делаешь clone. Ну а дальше для синхронизации делаешь git push/pull.

Vovka-Korovka ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.