How to disable nickname field
You might also need to use hook_civicrm_buildForm in an extension to override what's happening in CRM/Contact/Form/Edit/Individual.php, e.g. check the value of your setting something like this but less goofy, and then remove the nick_name field from the form.