Nixのhome-managerでnvimのsymlinkを貼る
はじめに
最近、macbookを新調した輪ごむです。
新しいPCを手に入れて最初にやる作業といえば、環境構築です。
macbookの開発環境を復元するために必要なステップは、ざっくりと以下のとおりです。
nix
をインストール- vimの設定をまとめた
dotvim
と、それ以外の設定をまとめたdotfiles
レポジトリをclone - 主にguiツール目的で
brew
をインストール - nvimのプラグインを動かすために
deno
をインストール dotfiles
でhome-manager switch --flake .#MacBookPro
を実行dotfiles
でbrew bundle
を実行dotvim
の設定を~/.config
にsymlinkするために、sh mklink.sh
を実行
列挙してみると、以外とステップがありますね。
今回、環境構築をしていると、7. のdotvimに移動してmklink.shを実行するのは面倒だなということに気が付きました。せっかくNixとhome-managerを導入してるなら、mklinkも自動でしてほしいよなぁ。。と思いました。
当初、dotfiles
内じゃなくてとは別のgitレポジトリのdotvim
で管理しているので、symlinkを貼るのは難しいだろうと勝手に考えていました。しかし、調べたところ可能そうだったので、試したところうまくいきました!!
やったこと
home-managerに以下を追記するといけます。
1234567891011
xdg.configFile."nvim" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dotvim/nvim";
};
xdg.configFile."nvim-sub" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dotvim/nvim-sub";
};
xdg.configFile."vim" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dotvim/vim";
};
おわりに
これでdotvimからひとつ、shファイルを削除できましたとさ。
めでたし。めでたし。
つぎは、nix bundle
を消す番かもしれない。