Generating wordpress menu – cant understand the config

If you set option ‘theme_location’ => ‘primary’ you need to be sure that you have registered this menu by the code in functions.php :

register_nav_menu( 'primary', 'Primary Menu' );

And then you need to be sure that you set Primary Menu in Theme Locations here: /wp-admin/nav-menus.php

Otherwise, wordpress will call fallback function which is wp_page_menu with default options.

And if you remove ‘theme_location’ option you will get menu which you set in “menu” оption (in your case, menu with name “nav-menu”). If this menu does not exists, wordpress will show first created menu.
If you didn’t create any custom menu – wordpress will call fallback.