Help us understand the problem. What is going on with this article?

dotfiles, アプリケーションの設定をMackupで管理する

More than 1 year has passed since last update.

Macでdotfilesやアプリケーションの設定のバックアップをどうやって管理してますか

dotfilesとは

.zprofile, .gitconfig, .bashrc など先頭に.がつく設定ファイル。

今までほかの人はどうやって管理してたか

qiitaでdotfiles タグを検索すると幾つか出てきます。

その多くは

  • githubで管理する
  • gitのrepositoryの中にdotfilesを配置する
  • シンボリックリンクを貼るscriptを作成する

という流れです。

このやり方でももちろん出来ますが、

  • dotfileが増えるたびに自分でコミットする必要がある
  • 初心者に教えるにはある程度説明が必要になる

などの問題があります。

Mackupで管理する

Mackupでは

  • Dropboxを使う(保存場所は変更可能)
  • dotfilesをDropboxなどのフォルダに配置する
  • シンボリックリンクを貼る

とほぼおなじ事を行っています。それを

mackup backup

のコマンドを1発叩くだけでやってくれます。便利!

インストール

brew install mackup

使い方

mackup backup

設定をバックアップします。裏ではこんな感じでうごいてます。

cp ~/.gitconfig ~/Dropbox/Mackup/.gitconfig
rm ~/.gitconfig
ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig

mackup restore

設定をリストアします。リストアといってもシンボリックリンクを貼るだけ。

Mackupが対応しているツール

mackup list

で確認することが出来ます。
Atom, SublimeText, Vim, Emacsなど多くのEditorの設定ファイルにも対応してます。

またはMackupのリポジトリのapplicationsフォルダを直接見るとどのファイルが対象かも確認できるので参考になると思います。
https://github.com/lra/mackup/tree/master/mackup/applications

Mackupの設定

公式のドキュメントに書いてますが抜粋。

Storage

Mackupで管理するファイルを置く場所を設定できます

~/.mackup.cfg
[storage]
engine = iCloud

特定のアプリケーションだけ管理する

~/.mackup.cfg
[applications_to_sync]
zsh

特定のアプリケーションを管理しないようにする

~/.mackup.cfg
[applications_to_ignore]
emacs

独自の管理パターンを追加する

~/.mackup に xxx.cfg を追加することで可能。

!!! ~/.mackup.cfgとは別のファイルなので注意!

~/.mackup/sshrc.cfg
[application]
name = sshrc

[configuration_files]
.sshrc
.sshrc.d

まとめ

特別な知識がなくてもとりあえずMackup入れておけば管理できるので新人プログラマーとしてデビューした方、あまりMacになじみにのない方から、管理を簡略したい方まで多くの人にとって便利なのではと思います。

Dropboxではファイルの過去の状態に戻ったり、消したファイルを復元することは出来ますが、Editorの設定や.zshrcの設定の変更履歴がほしい人はGitのリポジトリを中で作成し、保持することでgit logで変更履歴を見れるようにするといいと思います。

注意

Mackupはアプリケーションが独自の設定ファイルバックアップ機能があるアプリケーションには対応していないことがあります。例えば、Alfred、iTerm2はそれぞれ独自の設定ファイルバックアップを行ってください。

saboyutaka
株式会社EBILAB Tech Lead・Architect/ギークハウス沖縄オーナー/CODEBASEプログラミング教室オーガナイザー Azure/Serverless/Ruby/Rails/PHP/Laravel/Python/Go/JavaScript/Vue.js/Nuxt.js/Performance/
ebilab
飲食業・サービス業の経営支援サービスを提供しています。
https://ebilab.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした