.emacsを整理するための環境作成

たぶんもっと良いワークフローがあると思う。

経緯

最近、.emacsをメンテしてなかったので陳腐化が激しい。所々直したいところもある。
新しく書き直した方が綺麗になるだろうと思うけれど、書き直しが終わるか分からない。

なので以下の内容が可能な環境を作ろうとしてみた。

  • (書き直しが終わらない場合は)元の状態に戻したい
  • (書き直しが終わった場合にも)現在の環境に依存する設定は排除したい

ここでの環境は、emacsとその設定ファイルだけではなく、日常的な作業で使われるスクリプトなども含んでいる。($HOME以下全部+α)

今動作する環境を壊すことなく、emacsの設定を整理したい。なのでテスト用の環境を作ってそこで動作確認できるようにしてみる。

テスト用の環境を作成

こんな感じでやろうと思った

  • userを新しく作成する。
  • 設定が動作するか確認するスクリプトを書く。

$HOME以下を荒らしたくないので、現在のログインユーザとは別のユーザを作る。パスワードの設定などはてきとうに
ついでにリポジトリ経由で更新することにして、動作確認のテストもできるようにする。


手順のメモ

## repository: /home/podhmo/myproject/dot-emacs
mkdir dot-emacs
hg init 
touch init.el
hg add 
hg commit -m "first commit"

fooユーザを新しく作ってhgの設定をコピーしてくる

sudo adduser foo #てきとー
su foo && cd ~ ## 新しく作ったユーザになる

USER=<user>
CUR=/home/$USER

cp $CUR/.hgrc .
cp $CUR/.hgignore .
vim .hgrc # user

リポジトリをcloneする

vim Makefile
make clone

.. Makefileの内容

REPO=/home/pod/myproject/dot-emacs
MYDIR=~/.emacs.d

pull:
	cd $(MYDIR) && hg pull && hg update
clone:
	hg clone $(REPO) $(MYDIR)

test: pull
	echo hoge #ここにテスト書く

現在のユーザからテストを実行する

sudo -i -u foo 'make test'

つづく。