I guess you misunderstood my question, because that won’t work. nix-shell -p git doesn’t provide an isolated operating system. They only isolate programs and libraries. If your native git installation modified something in your home folder, those changes will still be visible inside a nix shell.
I’m not sure what you’re trying to accomplish in those other commands, as they just seem to print out git’s dependencies?
Also, I see you’re actively editing your comment as I’m typing so sorry if you actually post the answer after I hit Reply.
nix-store -qR $(nix-build '<nixpkgs>' -A git --no-out-link)or
nix path-info -rSh $(nix-build '<nixpkgs>' -A git --no-out-link)or this command (which nix people avoid generally because it creates files outside of the store):
nix-env -p /tmp/clean-profile -iA nixpkgs.git && nix-store -qR /tmp/clean-profile # then rm /tmp/clean-profile* # to get rid of the temp filesand here’s how I personally implemented a global gitignore on my system. This is a snippet of my git config with home-manager:
{lib, pkgs, ... }: programs.git = { enable = true; ignores = [ "*.bloop" "*.bsp" "*.metals" "*.metals.sbt" "*metals.sbt" "*.direnv" "*.envrc" "*hie.yaml" "*.mill-version" "*.jvmopts" "build/" ]; }I guess you misunderstood my question, because that won’t work.
nix-shell -p gitdoesn’t provide an isolated operating system. They only isolate programs and libraries. If your native git installation modified something in your home folder, those changes will still be visible inside a nix shell.I’m not sure what you’re trying to accomplish in those other commands, as they just seem to print out git’s dependencies?
Also, I see you’re actively editing your comment as I’m typing so sorry if you actually post the answer after I hit Reply.
I massively updated my comment.