2023-07-09 - nix で flake.nix だけコピーして新しく使おうとしたら `error: 'getting status of /nix/store/...-source/flake.nix: No such file or directory` と怒られた時は大抵 `git add flake.nix` が漏れてそう #228
そこではうまく行ってたので他のリポジトリに flake.nix をコピーしたら、error: getting status of '/nix/store/5g9af846xrx3zfbqnmz119849b5h7ldv-source/flake.nix': No such file or directory というエラーが出てうまく行かない
ということで上のスレッドに行き当たった。原因はまさに git add してないからだったらしい。 確かに、エラーログの直前に warning: Git tree '/home/kachick/repos/the_ruby_repo' is dirty とか出てたけど、それが原因とは思い至らなかった
TL;DR
git add flake.nix
git add flake.lock
git add .
orgit stash
段階踏んで直っていくのを眺めたくなければ、単に最初から
git add .
しちゃえば良い何についてか / About
ref: https://discourse.nixos.org/t/nix-flakes-nix-store-source-no-such-file-or-directory/17836/12
経緯 / History
nix flake init
で flake.nix を作ったリポジトリがあるerror: getting status of '/nix/store/5g9af846xrx3zfbqnmz119849b5h7ldv-source/flake.nix': No such file or directory
というエラーが出てうまく行かないwarning: Git tree '/home/kachick/repos/the_ruby_repo' is dirty
とか出てたけど、それが原因とは思い至らなかったgit add flake.lock
が必要だった。 lock ファイルを入れたくないときもあるけど、nix の思想的に仕方ないんか? https://github.com/NixOS/nix/issues/5810nix develop
やらdirenv allow
による shell 起動ができない。git add .
だとかgit stash
なりで一層してやればとりあえず先に進める