rosetta 2 – Does MacOS on M1 prio arm binaries later on path?

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                              

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                              

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.

Am I misunderstanding the executable resolution? There’s no alias at play at least, but is there something else going on?