Skip to content

dapi/dotfiles

Repository files navigation

Подтягиваемые настройки для консольной веб-разработки и администрирования под MacOS/Linux

Меня зовут Данил, я занимаюсь разработкой и администрированием веб-приложений.

В работе я использую несколько компьютеров с операционной системой MacOS/Linux между которыми постоянно перемещаюсь. Это могут быть как сервера под управлением Linux Ubuntu 24.02 LTS по SSH/TMUX без GUI, так и MacOS на ноутбуке или десктопе.

Предпочитаю работать из консоли, с минимальным привлечением мыши, поэтому cтараюсь на всех компьютерах держать идентичный набор настроек, плагинов и цветовые темы для утилит которым я часто пользуюсь, а именно:

  • neovim, vim с набором плагинов
  • fish, zsh, tmux
  • direnv
  • git, ag, ctags
  • ghostty
  • Моноширинные шрифты поддерживающие statusline в fish, tmux, neovim для MacOS.

Как это выглядит?

Screenshot 2025-02-04 at 11 28 00 Screenshot 2025-02-04 at 11 28 13 Screenshot 2025-02-04 at 12 30 29

Как это работает?

  1. Клонирую репоизторий на новый компьютер в каталог ~/dotfiles
  2. Запускаю в нем make. Конфигурационные файлы автоматически разбегаются по своим местам, утилиты устанавливаются.
  3. Когда необходимо изменить настройки, я меняю на том компьютере на котормо нахожусь в данный момент, комичу и пушаю в этот репозиторий, затем на остальных компах делаю make чтобы подтянуть изменения. Это приводит к обновлению всех настроек, сохраняя бакапы неучтенных изменний.

Данный механизм подоходит как для того чтобы синхронизировать настройки между компьютерами, так и для того чтобы установить в один клик на свежую OS необходимые программы с привычными настройками.

Как начать работать с этим?

Скопируйте этот репозиторий к себе в ~/dotfiles, перейдите в него и запустите make. Небойтесь, ваши текущие настройки будут сохранены рядом.

Например так:

cd ~; git clone git@github.com:dapi/dotfiles.git; cd ~/dotfiles; make

или так:

curl -o- https://raw.githubusercontent.com/dapi/dotfiles/refs/heads/master/scripts/install.sh | bash

TODO

Добавить управление фоном терминала в зависимости от ssh-сессии