Subscribed unsubscribe Subscribe Subscribe

dotfilesをgithubで管理し始めた

Mac Git Zsh Emacs

つい勢いで新しいMacBookProを買ってしまいまして。せっかくなので新しい環境で一から色々と入れ直している。
この際だから、ということでずっとゴチャゴチャのまま放置していた設定ファイル集をgithubにあげて管理することにした。
GitHub - sugyan/dotfiles: my dotfiles configuration
今のところzsh, emacsの基本設定など。

#!/bin/sh
cd $(dirname $0)
for dotfile in .?*
do
    if [ $dotfile != '..' ] && [ $dotfile != '.git' ]
    then
        ln -Fis "$PWD/$dotfile" $HOME
    fi
done

というシェルスクリプトを作って、どんな環境でもgit cloneして持ってきたファイルたちが一発で$HOME以下にシンボリックリンクで設定される、ようにしたつもり。


emacsの設定は、GitHub - typester/emacs-configを参考に ".emacs.el"では

;; load-path
(add-to-list 'load-path "~/.emacs.d/elisp")
(add-to-list 'load-path "~/.emacs.d/auto-install")

;; init-loader
;; http://coderepos.org/share/browser/lang/elisp/init-loader/init-loader.el
;; デフォルトで"~/.emacs.d/inits"以下のファイルをロードする
(require 'init-loader)
(init-loader-load)

;; auto-install
;; http://www.emacswiki.org/emacs/auto-install.el
(require 'auto-install)
(setq auto-install-directory "~/.emacs.d/auto-install/")
(auto-install-update-emacswiki-package-name t)

だけ書いておいて、あとは役割ごとに".emacs.d/inits"以下に分けて管理。anythingなどメジャーなものは基本的にauto-install.elを使ってインストール。
auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール - http://rubikitch.com/に移転しました
かなりスッキリわかりやすくなったし今後の追加もやりやすい。気がする。


zshの設定はせっかく本を読んで勉強しているので色々やりたいけどまだvcs_infoを使ったPROMPT設定程度しか書いてない。でもやってることは前より理解できてると思う。
zshでgitのbranch名をPROMPTに表示させるようになるまで - すぎゃーんメモ

##################################################
# shell variables

# history
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000

# prompt
function precmd_vcs() {
    vcs_info
    RPROMPT=$'%{\e[32m%}%~'${vcs_info_msg_0_}$'%{\e[m%}'
}
PROMPT=$'%{\e[31m%}%n@%M %{\e[33m%}%* %# %{\e[m%}'

# special functions
precmd_functions=(precmd_vcs)


##################################################
# aliases

alias sl=ls
alias ls="LSCOLORS=gxfxxxxxcxxxxxxxxxxxxx ls -G"
alias ll="ls -l"
alias la="ll -a"


##################################################
# others

# completion
autoload -Uz compinit
compinit

# vcs
autoload -Uz vcs_info
zstyle ':vcs_info:*' enable git svn
zstyle ':vcs_info:*' formats $'%{\e[35m%} [%s %r %b]%{\e[m%}'

こんなカンジ。若干ケバい?