So the title is self explanatory, whenever i tried to run home-manager switch i got this
installing
git submodule init
make: git: No such file or directory
make: *** [Makefile:43: install] Error 127
builder for '/nix/store/mx1q76ir4slh3smp01rhm313xpjka7ii-st-0.8.4.drv' failed with exit code 2
cannot build derivation '/nix/store/ci6fk6fwmji3xz594azngl8lzynygb9d-home-manager-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/3c2xf6wrm73mfp4nx1x4s3zbiibmcjql-home-manager-generation.drv': 1 dependencies couldn't be built
error: build of '/nix/store/3c2xf6wrm73mfp4nx1x4s3zbiibmcjql-home-manager-generation.drv' failed
doing more research i found using nix-shell that it fails in the installPhase here the output:
mkdir: cannot create directory ā/nix/store/p1ps31l923amv0ygqpj2jc2gjh5jz6zs-st-0.8.4ā: Read-only file system
install flags: SHELL=/nix/store/3xp6zj3gj0qwgz7nq2wcslwvak493srs-bash-interactive-4.4-p23/bin/bash PKG_CONFIG=pkg-config install
make: *** No rule to make target 'install'. Stop.
Which will update the reference, then update the channel checkout.
Note: this will be āupgradingā your system next time you do sudo nixos-rebuild. You may want to instead follow 21.11 where youāre less likely to get into further āsomething is broken in nixpkgsā situations.
The makefile of that fork tries to setup git submodules when installing:
So if you provide git as a nativeBuildInput it will fail with errors about network not being available.
To be able to build that certain fork you probably need to do more involved override that either patches the makefile and provides the modules by other means, or make it a FOD, which though might be problematic with following master.
Last but not least, you probably do not want to follow master that way, but instead provide a fixed commit.
The easiest thing is probably to use a different fork or patchset for st.
One that does not require network access for installation.
When Iām back at a computer I might take a closer look why it does the git submodule thing on installation only, but not for building. This feels weirdā¦
Oh, didnāt realize you were working from a fork. My bad.
adding fetchSubmodules = true; to the fetcher, and then adding git in nativeBuildInputs should have also worked; as the makeFile commands would have been a noop at that point.