使用 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 存储库甚至都没有关系(我假设你已经这样做了)

  1. 我建议检查您的配置是否在您的用户文件夹中:~/.mackup.cfg,
  2. 并重试 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

每次您在任何一台机器上进行更改时,只需提交更改并在另一台机器上拉取更新。

如果需要,您还可以为每台机器创建一个分支,并将最终更改合并到 masterdevelop 分支中。

这应该可以完成工作:)