Краткое руководство по управлению dotfiles для ленивых
Существует огромное количество руководств и ресурсов о том, как управлять точечными файлами. Если вы не слышали о «точечных файлах», это файлы конфигурации в Unix-подобных системах, которые начинаются с точки, например. .bashrc
, .zshrc
, .vimrc
, .gitconfig
и это лишь некоторые из них.
По умолчанию dotfiles скрыты и обычно используются для настройки вашей системы.
Зачем беспокоиться? Что ж, наличие ваших точечных файлов в облаке позволяет невероятно легко настроить любую новую среду, например, в случае приобретения нового ноутбука и т. д.
Предпосылки
- Учетная запись службы хостинга Git, например. Гитхаб
- Git и базовые знания о том, как им пользоваться
- Основные команды Linux
Болевые точки
Сообщество dotfiles огромно.
Как обычный пользователь Linux, моя настройка инструментов разработчика вне VSCode — это полный беспорядок. Я вижу великолепные dotfiles, распространяемые по всему Интернету. Они такие завораживающие, интригующие, но временами пугающие.
После нескольких часов чтения и осмотра элегантных репозиториев dotfiles эта статья призвана помочь вам начать управлять своими dotfiles как можно безболезненнее.
Традиция
Как правило, dotfiles хранятся в отдельном каталоге Git, который обычно называется ~/.dotfiles
. Затем вам нужно будет создать символические ссылки оттуда на исходное местоположение соответствующего точечного файла (обычно это ваш домашний каталог).
Наконец, точечные файлы затем фиксируются и отправляются в службу хостинга Git по вашему выбору, например. общедоступный репозиторий GitHub, просто так.
Чтобы получить больше информации, я настоятельно рекомендую вам прочитать эту статью, чтобы понять, как обычно управляются dotfiles.
Начало работы с Chezmoi
Сегодня мы рассмотрим абстрагирование большей части хлопот по управлению вашими файлами точек.
В своем стремлении найти простое решение для управления моими точками я нашел chezmoi. С chezmoi вы можете игнорировать часть, где вы вручную создаете символические ссылки. Если вам нужно больше убедительности, посмотрите зачем использовать chezmoi.
Далее следует пошаговое руководство о том, как начать использовать chezmoi для управления вашими dotfiles.
1. Создание репозитория GitHub
Прежде чем мы начнем, вам нужно создать новый репозиторий GitHub.
По соглашению имя репозитория для управления dotfiles часто называется .dotfiles
или просто dotfiles
. Здесь я предполагаю, что вы называете свой репозиторий dotfile как dotfiles
.
Не поймите меня неправильно, chezmoi также можно использовать с другими службами хостинга Git, такими как GitLab или BitBucket.
2. Установка
Установить chezmoi легко, просто следуйте инструкциям по установке здесь в зависимости от выбранного вами менеджера пакетов. Быстрая однострочная установка будет такой:
sh -c "$(curl -fsLS chezmoi.io/get)"
3. Инициализировать
Помните, как dotfiles управляются в каталоге Git? Просто запустите chezmoi init
, чтобы создать новый каталог Git в ~/.local/share/chezmoi
(исходный каталог далее), где chezmoi хранит исходное состояние.
Позже вам нужно будет выполнить фиксацию Git и отправить любые новые изменения, которые вы вносите в исходное состояние, как обычный проект в любом репозитории Git.
4. Добавление вашего первого файла точек
Прежде чем мы начнем, всегда помните, что первое правило управления вашим точечным файлом — никогда не передавать какие-либо секреты (например, ключи API, учетные данные AWS) в любой общедоступный репозиторий (даже в частные репозитории!) в виде простого текста.
В этой статье я буду использовать .zshrc
в качестве примера файла точек. На практике не стесняйтесь добавлять сразу несколько точечных файлов. Итак, давайте начнем управлять вашим первым точечным файлом, «добавив» его!
Чтобы добавить файл .zshrc
, который обычно находится в нашем домашнем каталоге, запустите:
# This will copy ~/.zshrc to our source directory at ~/.local/share/chezmoi/dot_zshrc
chezmoi add ~/.zshrc
Помните об этом — chezmoi модифицирует только файлы в рабочей копии, вам придется зафиксировать и отправить любые изменения самостоятельно (хотя chezmoi может это автоматизировать).
Чтобы перейти в исходный каталог, просто запустите:
chezmoi cd # Same as running cd ~/.local/share/chezmoi/dot_zshrc
Здесь вы увидите свой файл .zshrc
как dot_zshrc
.
5. Коммит и отправка на GitHub
Звучит как заезженная пластинка — пожалуйста, убедитесь, что вы не передаете какие-либо секреты или учетные данные в виде простого текста.
С этого момента это похоже на коммит и отправку любых обычных проектов Git, которые у вас есть:
git remote add origin [email protected]:your-awesome-username/dotfiles.git git branch -M main
git add . git commit -m "<Initial commit message>" git push -u origin main
Ура! Теперь у вас есть dotfile в вашем репозитории GitHub!
Ведение точечных файлов
Мы никогда не будем довольны тем, что имеем. Всегда будут дополнительные настройки. Новые файлы. Обновления. Изменения.
Одна важная концепция — чтобы внести какие-либо изменения в ваш точечный файл, всегда изменяйте его в исходном каталоге (например, ~/.local/share/chezmoi/dot_zshrc
); НЕ оригинальный точечный файл (например, ~/.zshrc
).
Вы можете представить, что изменение чего-либо внутри исходного каталога эквивалентно обновлению состояния, которое вы хотите сохранить в общедоступном репозитории.
1. Где внести изменения
Чтобы изменить исходное состояние, вы можете:
- Обновите точечный файл исходного состояния непосредственно в
~/.local/share/chezmoi/dot_zshrc
ИЛИ - Быстрый способ сделать это — использовать команду
chezmoi edit ~/.zshrc
.
2. Как редактировать ваши dotfiles
Как только вы будете удовлетворены своими изменениями, сохраните ваш dotfile и запустите:
# To view the diff between ~/.local/share/chezmoi/dot_zshrc & ~/.zshrc chezmoi diff
# To apply the changes to your original ~/.zshrc chezmoi -v apply
Приведенная выше команда apply
внесет изменения в исходный точечный файл в вашем домашнем каталоге, т. е. в данном случае ~/.zshrc
.
3. Коммит и отправка на GitHub (снова)
Наконец, чтобы обновить изменения в репозитории dotfile, просто запустите:
git add .
git commit -m "<Your update commit message>"
git push -u origin main
Большой! Вы только что успешно обновили свой dotfile в репозитории GitHub!
Добавление новых точечных файлов
Добавить новые dotfiles легко. В отличие от «Поддержки Dotfiles», где вам нужно выполнить chezmoi diff
и apply
, вы просто выполняете следующие шаги:
chezmoi add ~/.newdotfile
chezmoi cd
git add .
git commit -m "<New dotfile commit message>"
git push -u origin main
- Сделанный!
Использование ваших точечных файлов
Теперь, когда у нас есть dotfiles, размещенные в нашем репозитории GitHub, мы рассмотрим, как использовать их на другом компьютере.
На отдельной машине инициализируйте chezmoi с вашим репозиторием dotfiles, просто запустив:
sh -c "$(curl -fsLS chezmoi.io/get)" -- init --apply your-awesome-username
Помните: прежде чем вносить какие-либо изменения в локальные точечные файлы на этом компьютере, запустите chezmoi diff
, чтобы просмотреть различия между точечными файлами в ~/.local/share/chezmoi/
и их исходным местоположением.
Если разница — это то, что вы ожидаете увидеть, запустите chezmoi apply -v
, чтобы переопределить ваши локальные файлы точек.
В любое время — чтобы получить и применить последние изменения из вашего репозитория dotfiles, запустите:
chezmoi update -v
Заключительные мысли
Прежде чем мы закончим, вы можете найти мои точечные файлы здесь.
Короче говоря, есть всего несколько команд, к которым вам нужно привыкнуть (вы их запомните естественным образом):
chezmoi diff
chezmoi add
chezmoi update
orchezmoi apply
Управление вашим точечным файлом помогает носить ваши настройки с собой везде, куда бы вы ни пошли. Лично я считаю чрезвычайно полезным работать на 3 разных машинах с разными ОС.
Вдобавок ко всему, установка для разработки новых машин просто невероятна.
Следующие шаги
Честно говоря, я едва касаюсь поверхности того, на что способен chezmoi. Если вы хотите погрузиться глубже, я настоятельно рекомендую вам ознакомиться с руководством пользователя chezmoi, в котором оно может работать с более сложными вариантами использования, такими как:
- Запуск пользовательских скриптов, например. сценарий установки для новой установки машины
- Управление различиями между машинами (Linux, macOS, Windows)
- Шаблоны, в которых содержимое определенных файлов (например,
.gitconfig
) может различаться в зависимости от среды компьютера.
Откровенно говоря, не существует «лучшего способа» управлять вашими точечными файлами. Использование chezmoi оказалось самым простым решением для моей лени, и оно просто работает.
Это все, что у меня есть на сегодня, и спасибо за чтение!
Want to Connect With the Author? This article was originally published at jerrynsh.com