使用 makeup 同步 macos 设置
Sync macos settings using mackup
我用了两个 Mac,一个用于工作,另一个是我个人的 Mac。
我想在两台机器之间同步设置。
我发现这个应用程序似乎可以满足我的要求:https://github.com/lra/mackup/。
我想在 GitHub 上保存我的设置,所以我这样设置我的 .mackup.cfg
文件:
[storage]
engine = file_system
path = dotfiles
directory = backup
# List of applications you want to explicitly sync (one application name per line).
# To see a list of supported application names, launch `mackup list`.
# If this list is empty, Mackup will try to sync all the supported applications.
[applications_to_sync]
bash
bash-it
docker
eslint
gimp
git
iterm2
libreoffice
mackup
matlab
npm
oh-my-zsh
spotify
sublime-text-3
ssh
vscode
zsh
# List of applications you want to ignore (one application name per line).
# If an application is ignored, it will be ignored even if it's been explicitly allowed in the [Allowed Applications].
[applications_to_ignore]
所以在我的主文件夹中有一个 dotfiles
结构如下的文件夹:
dotfiles
|_ backup
|_ .docker
|_ .oh-my-zsh
|_ ...
然后我将此文件夹保存在我的 GitHub 帐户中并添加一个自述文件。所以最终的结构是这样的:
dotfiles
|_ backup
|_ .docker
|_ .oh-my-zsh
|_ ...
|_ README.md
|_ .git
现在,如何在我的新机器上设置这些首选项?我安装 mackup
然后我应该做 mackup restore
但我得到这个错误:
Error: Unable to find you Dropbox install =(
我没有在文档中找到任何可以帮助我的东西。
非常感谢
Dropbox 是 default engine:
if self._parser.has_option("storage", "engine"):
engine = str(self._parser.get("storage", "engine"))
else:
engine = ENGINE_DROPBOX
这真的很难说,但看起来,你的目标机器不能find/parse配置文件。因此在这个阶段我会说你是否已经在目标机器上检出你的 git 存储库甚至都没有关系(我假设你已经这样做了)
- 我建议检查您的配置是否在您的用户文件夹中:
~/.mackup.cfg
,
- 并重试
mackup -v restore
- 这可能暗示您的特定环境存在问题
我希望这能为您指明正确的方向
正如@timur 所说,Dropbox 是 mackup 的默认存储。
您需要做的是在您的 ~/.mackup.cfg
中配置自定义 file_system
引擎(这是在您的主目录中)
根据 mackup Readme,您需要将以下内容添加到 ~/.mackup.cfg
[storage]
engine = file_system
path = some/folder/in/your/home
这是我看到你在第一台机器上所做的。
我认为仍然缺少的是第二台机器中的相同配置。
我会做以下事情:
在你的第一台机器上
1. 在 ~/dotfiles
中创建一个 git 存储库
2. 添加您的 ~/.mackup.cfg
3.运行mackup backup
4. 添加、提交和推送新文件和更改
第二台机器
5.在第二台机器添加同样的~/.mackup.cfg
6. 在 ~/dotfiles
的第二台机器上克隆你的 dotfiles 存储库
7. 运行 mackup restore
每次您在任何一台机器上进行更改时,只需提交更改并在另一台机器上拉取更新。
如果需要,您还可以为每台机器创建一个分支,并将最终更改合并到 master
或 develop
分支中。
这应该可以完成工作:)
我用了两个 Mac,一个用于工作,另一个是我个人的 Mac。
我想在两台机器之间同步设置。
我发现这个应用程序似乎可以满足我的要求:https://github.com/lra/mackup/。
我想在 GitHub 上保存我的设置,所以我这样设置我的 .mackup.cfg
文件:
[storage]
engine = file_system
path = dotfiles
directory = backup
# List of applications you want to explicitly sync (one application name per line).
# To see a list of supported application names, launch `mackup list`.
# If this list is empty, Mackup will try to sync all the supported applications.
[applications_to_sync]
bash
bash-it
docker
eslint
gimp
git
iterm2
libreoffice
mackup
matlab
npm
oh-my-zsh
spotify
sublime-text-3
ssh
vscode
zsh
# List of applications you want to ignore (one application name per line).
# If an application is ignored, it will be ignored even if it's been explicitly allowed in the [Allowed Applications].
[applications_to_ignore]
所以在我的主文件夹中有一个 dotfiles
结构如下的文件夹:
dotfiles
|_ backup
|_ .docker
|_ .oh-my-zsh
|_ ...
然后我将此文件夹保存在我的 GitHub 帐户中并添加一个自述文件。所以最终的结构是这样的:
dotfiles
|_ backup
|_ .docker
|_ .oh-my-zsh
|_ ...
|_ README.md
|_ .git
现在,如何在我的新机器上设置这些首选项?我安装 mackup
然后我应该做 mackup restore
但我得到这个错误:
Error: Unable to find you Dropbox install =(
我没有在文档中找到任何可以帮助我的东西。
非常感谢
Dropbox 是 default engine:
if self._parser.has_option("storage", "engine"):
engine = str(self._parser.get("storage", "engine"))
else:
engine = ENGINE_DROPBOX
这真的很难说,但看起来,你的目标机器不能find/parse配置文件。因此在这个阶段我会说你是否已经在目标机器上检出你的 git 存储库甚至都没有关系(我假设你已经这样做了)
- 我建议检查您的配置是否在您的用户文件夹中:
~/.mackup.cfg
, - 并重试
mackup -v restore
- 这可能暗示您的特定环境存在问题
我希望这能为您指明正确的方向
正如@timur 所说,Dropbox 是 mackup 的默认存储。
您需要做的是在您的 ~/.mackup.cfg
中配置自定义 file_system
引擎(这是在您的主目录中)
根据 mackup Readme,您需要将以下内容添加到 ~/.mackup.cfg
[storage]
engine = file_system
path = some/folder/in/your/home
这是我看到你在第一台机器上所做的。
我认为仍然缺少的是第二台机器中的相同配置。
我会做以下事情:
在你的第一台机器上
1. 在 ~/dotfiles
中创建一个 git 存储库
2. 添加您的 ~/.mackup.cfg
3.运行mackup backup
4. 添加、提交和推送新文件和更改
第二台机器
5.在第二台机器添加同样的~/.mackup.cfg
6. 在 ~/dotfiles
的第二台机器上克隆你的 dotfiles 存储库
7. 运行 mackup restore
每次您在任何一台机器上进行更改时,只需提交更改并在另一台机器上拉取更新。
如果需要,您还可以为每台机器创建一个分支,并将最终更改合并到 master
或 develop
分支中。
这应该可以完成工作:)