You can make the .nav file yourself but it's very complicated and time-taking (I'm not sure you can do it without the analyzing but maybe you can).
These are some of the commands you need (I don't know whether these are all of them though):
NAVIGATION MESH EDITING
Each of the following bot_nav_ commands operate on the navigation mesh, allowing hand-tuning of the automatically learned data. It is recommended that these commands be bound to keys for ease of use while editing.
CAUTION: There is no "undo" operation. Save your navigation mesh often.
Marks the currently selected nav area for later operations.
Causes one bot in the map to move to the center of the currently marked area. This is useful for testing the walkability of specific portions of the navigation mesh.
Deletes the currently selected nav area.
Splits the currently selected nav area into two new nav areas, along the white split line.
Merges the currently selected nav area and a previously marked nav area into a new, single nav area. The merge will only occur if the two areas are the same size along the merge line.
Creates a ONE WAY link from the currently marked area to the currently selected area, telling the bots they can walk FROM the marked area TO the selected area. For most areas, you will want to connect the areas in both directions. However, for some "jump down" areas, the bots can move one way, but cannot get back the other.
Disconnects ALL connections from the currently marked area to the currently selected area.
These two commands allow the creation of new nav areas. "bot_nav_begin_area" marks one corner of the area. "bot_nav_end_area" marks the opposite corner of the area and creates it. To cancel the operation, issue a "bot_nav_begin_area" command again.
Creates a new nav area between the currently marked area and the currently selected area, and bidirectionally connects the new area. This command is especially useful for creating sloped nav areas.
Flags the currently selected area as "crouch", requiring bots to crouch (duck) to move through it.
Flags the currently selected area as "jump". This is a hint to the bots that they should jump to traverse this area.
Setting this cvar to 1 allows hand-tuning of the bot's navigation mesh. Once edit mode has been activated, the bot_nav_* commands can be used.
bot_nav_zdraw <height value>
This value determines how high above the ground to draw the "nav mesh" when in nav edit mode. If the terrain is very irregular or highly sloped, it can be useful to increase this value to 10 or 15. The default value is 4.
If nonzero, the analysis phase of map learning will be skipped. This is useful when iteratively hand-tuning nav files. Note that withough this analysis, the bots will not look around the world properly.
NAVIGATION MESH PROCESSING
Analyze the navigation mesh to determine Approach Points and Encounter Spots. This may take several minutes based on the size and complexity of the map.
NOTE: This command requires one bot to be in the game. The recommended procedure is to save the mesh, add a bot, and quickly enter bot_analyze.
Saves the current navigation mesh to disk. The navigation mesh ("nav" file) is automatically named to correspond to the current map file. For instance, if the map is de_dust.bsp, the nav file will be de_dust.nav.
Clears the current navigation mesh, and loads it from disk.
Force all bots to walk (disallow running).
If nonzero, all bots will stop moving and responding.
If nonzero, the nav mesh near each bot is drawn.
If nonzero, the "danger" in each nav area is draw as a vertical line. Blue lines represent danger for CTs, and red lines are danger for Ts.
Used for internal debugging of bot navigation.
Used for internal debugging of bot behavior.
Displays the bot version number, and information about the bot's author.
...and that's the bottom line because Mate de Vita said so.