発生した問題
coc.nvim
をインストールし、:CocInstall coc-json
コマンドを実行する段階で、IPv6で接続できないというエラーが発生しました。
host
コマンドでIPアドレスを調べ、/etc/hosts
ファイルを編集しようとしました。
sudo vim /etc/hosts
E166: リンクされたファイルに書込めません
ls -l
コマンドで確認してみると、/etc/static/hosts
ファイルからのシンボリックリンクが張られていました。
こちらに書き込むのが正しいのかなと考え、/etc/static/hosts
ファイルを編集しようとしました。
sudo vim /etc/static/hosts
E166: リンクされたファイルに書込めません
こちらのファイルもls -l
コマンドで確認してみると、/nix/store/<ハッシュ値>-hosts
ファイルからのシンボリックリンクが張られていました。
問題の原因
今までconfiguration.nix
ファイルなどを編集して設定を変更していたにも関わらず、今回の例ではhostsファイルを直接弄っていたことが問題の原因でした。
解決策
networking.extraHosts
に対してホスト名とIPアドレスの対応を記述することでhostsファイルに追記されます。
# 省略
{
# ...
networking.extraHosts =
''
IPアドレス ホスト名
''
# ...
}
ビルド後、/etc/hosts
ファイルや/etc/static/hosts
ファイルを確認してみると、ファイルの末尾に今回追記した内容が追加されています。
# ...
IPアドレス ホスト名
まとめ
水曜日からNixOSを触り始めたということもあり、わたしの理解が浅いせいで発生したエラーだと思います。
戒めとしてこの記事は残しておきたいと思います。