Я хотел бы управлять своими dotfiles с помощью репозитория Git и stow
.Вот мой текущий репозиторийкоторый включает файлы/каталоги, которые я хотел бы сохранить, и Makefile
команду, которую я использую make stow
.
К сожалению, я столкнулся с проблемой, когда stow обнаруживает несуществующие каталоги. Например, если я удалю свой ~/.config/yabai/
каталог (чтобы сымитировать его отсутствие в новой установке) и запущу, make stow
он создаст символическую ссылку на весь каталог:
$ ls -l
[...]
lrwxr-xr-x 1 adam staff 26 Mar 12 19:28 yabai -> ../.dotfiles/.config/yabai
[...]
Это вызывает проблему, поскольку если я или программа создадим дополнительные файлы в этом каталоге, они ~/.dotfiles/
также появятся в моем каталоге.
Эта проблема не возникает, если каталог уже существует, поскольку в этом случае ссылки на файлы внутри него, а не на сам каталог:
$ ls -l
drwxr-xr-x 3 adam staff 96 Mar 12 19:43 yabai
$ ls -l
lrwxr-xr-x 1 adam staff 37 Mar 12 19:43 yabairc -> ../../.dotfiles/.config/yabai/yabairc
Исходя из количества людей, использующих stow
для управления dotfiles, я полагаю, что есть способ обойти это поведение. Возможно, когда сначала пересоздается структура каталогов, а затем создаются ссылки.