Вопрос: Как я могу сделать свою конфигурацию доступной независимо от того, на какой машине я работаю?


Я создал пользовательский .vimrc а также .bashrc в моей локальной машине.
Также у меня есть пара vim которые я считаю полезными. Сейчас я ssh удаленные серверы работают очень часто. Но каждый раз, чтобы работать, мне нужно потратить / потерять некоторое время, копируя мою локальную среду, чтобы я мог работать (т. .vimrc и т.д).
Мне было интересно, есть ли у меня способ не делать этого, но каким-то образом моя конфигурация становится доступной / «видимой» на каждом удаленном сервере. I ssh?


2
2018-05-23 21:00


Источник




Ответы:


Вы можете создать git или mercurial репозиторий с помощью собственных скриптов, например. в ~/myscripts, Скопируйте его туда, где это необходимо. Кроме того, добавьте скрипт для создания символических ссылок в каталог myscripts в вашем домашнем каталоге ~/ и, возможно, скрипт, чтобы извлекать изменения извне и обновлять.

Ну, адаптируйте его к своим потребностям ...


5
2018-05-23 21:12



+ 1.Interesting.Require некоторые работы в областях, которые я не очень хорошо знаком, но кажется выполнимым. - user65971
если ssh уже на месте, git или mercurial возьмите только несколько команд, чтобы узнать, чтобы вы начали. hgbook.red-bean.com или git-scm.com/book, Хороший учебник для Mercurial также hginit.com, - pvoosten


Как и pvoosten, я предлагаю сохранить репозиторий git. Я поместил псевдоним в свой .bashrc, чтобы клонировать его, а затем запустить скрипт, который символизирует файлы ~ / homedir обратно в этот репо-чек.

Это супер быстро и грязно, но выглядит немного так (не стесняйтесь улучшаться - я предлагаю сделать что-то вроде ls ~/repo/home/ | grep -v setup-links.sh dir в setup-links.sh, чтобы избежать необходимости в crappy filePaths =):

Вы также можете сделать псевдоним .bashrc, используя ssh и scp, работать удаленно на машине и избегать двух шагов 2 и 3 ниже, но это работает для меня в любом случае.

Это означает, что вы можете сделать:

  1. ssh-copy-id (хост) настройка без пароля ssh
  2. scp .bashrc (host) скопируйте свой bashrc
  3. ssh (хост) -A Войти в хост и вперед ssh agent
  4. setuphome делает клон git-репо и настраивает ссылки

Очевидно, не ставьте свои ключи ssh в репозиторий git или gpg keyring

.bashrc (который сам в git и после шага 4 станет символической ссылкой):

alias setuphome = 'git clone (ваш git repo) ~ / repo / home && cd ~ / repo / home && ~ / repo / home / setup-links.sh 2> / dev / null remove; ~ / repo / home / setup-links.sh сделать 2> / dev / null; cd ~ '

setup-links.sh

= Пути к файлам». Bashrc
.tmux.conf
.vimrc
.bash_profile
.gitconfig
.ssh / конфигурации
.vim»
если ["$ 1" == 'make']; тогда
    echo 'Создание ссылок'
    для filePath в $ filePaths; делать
        grep '/' <<< $ filePath> / dev / null && mkdir -p $ (dirname $ filePath) 2> / dev / null
        ln -s $ (pwd) / $ filePath ~ / $ filePath
    сделанный
elif ["$ 1" == 'remove']; тогда
    echo 'Удаление ссылок'
    для filePath в $ filePaths; делать
        unlink ~ / $ filePath
    сделанный
еще
    echo 'Ошибка, $ 1 должна быть "make" или "remove"
    выход 1
фи


1
2018-05-23 21:58





Держите свои вещи в git repo, который включает скрипт для настройки вещей.

В качестве примера, вот мои dotfiles:

https://github.com/wincent/wincent

И это сценарий, который я запускаю, чтобы «установить» их:

https://github.com/wincent/wincent/blob/master/bootstrap.rb

Есть много других репозиций на GitHub, если вы просто ищете «github dot files».


0
2018-05-13 15:22