I'm trying to nix my new M1 Mac with home-manager and I'm thinking I might wanna skip xcode devtools altogether.
I've installed nix and home-manager and built a generation with git, but:
viktor@Viktors-MacBook-Air result % which git
/usr/bin/git
So this is the fake Mac binary that prompts to install devtools.
However, my real git from nix is before on PATH:
viktor@Viktors-MacBook-Air result % echo $PATH
/Users/viktor/.nix-profile/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Only thing I can think of is that MacOS somehow continues traversing PATH until it finds a arm64 executable?
viktor@Viktors-MacBook-Air result % file /Users/viktor/.nix-profile/bin/git
/Users/viktor/.nix-profile/bin/git: Mach-O 64-bit executable x86_64
viktor@Viktors-MacBook-Air result % file /usr/bin/git
/usr/bin/git: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/usr/bin/git (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/git (for architecture arm64e): Mach-O 64-bit executable arm64e
I have rosetta installed and the real git works fine from full path.
I am using zsh as the shell
Am I misunderstanding the executable resolution? There's no alias at play at least, but is there something else going on?
which
in zsh is reliable. It's only problematic in other shells such as bash.