/dotfiles

@petrovi4 does dotfiles

Primary LanguageShell

install

Установка:

Git уже идёт с MacOs, ничего дополнительно ставить не нужно.

git clone git@github.com:petrovi4/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./script/bootstrap

Для macOS нужно поставить XCode и запустить, чтобы согласиться с лицензией.

Или, в терминале выполнить

sudo xcodebuild -license

Для обновления периодически запускаем

cd ~/.dotfiles
./script/bootstrap

В конце в папку ~/.dotfiles_detached нужно распаковать то, что забэкапили перед обновлением. Эта папка с приватными данными, которая лежит вне репозитория и её содержимое следует бэкапить вручную

Описание

В зависимости от OS работа идет либо с папкой mac, либо с nix

  • Каждая папка - это настройка какого-то одного приложения/софта
  • При запуске script/bootstrap
    • zsh делается дефолтным шеллом
    • определяется OS и выбирается нужная папка для работы (mac/nix)
    • настраивается git
    • затем все symlink линкуются в домашнюю папку юзера
    • запускается скрипт system/set-defaults.sh
    • и в конце запускается скрипт system/install.sh

В Маке

  • Через системный апдейтер идет попытка обновить OS
  • Ставится Homebrew
  • Ставится бандл Brewfile со всеми приложениями
  • Запускаются все скрипты install.sh от всех топиков

В NIX'е

  • Обновляется apt-get
  • Ставятся базовые библиотеки
  • Запускаются все скрипты install.sh от всех топиков

Роль топика zsh

Через конфиги zsh подгружаются алиасы, загружаются скрипты при старте сессии

В zshenv.symlink (который будет прилинкован как ~/.zshenv)

  • Можно настроить переменные окружения

В zshrc.symlink (который будет прилинкован как ~/.zshrc)

  • Подгружаются все path.zsh
  • Подгружаются все остальные *.zsh файлы (за исключением completion.zsh)
  • Загружается autocomplete для zsh
  • Подгружаются все completion.zsh файлы из топиков