code: def optional_install():
      
      # reduce
      print('{BOLD}Setting up Reduce (optional){END_C}'.format(**text_colours))
      reduce = {}
      reduce_path = get_user_path('Please provide a path to your reduce executable.', required=False)
      reduce['path'] = str(reduce_path)
      reduce['folder'] = str(reduce_path.parent) if reduce_path else ''
      settings['reduce'] = reduce
  
      # naccess
      print('{BOLD}Setting up naccess (optional){END_C}'.format(**text_colours))
      naccess = {}
      naccess_path = get_user_path('Please provide a path to your naccess executable.', required=False)
      naccess['path'] = str(naccess_path)
      settings['naccess'] = naccess
  
      # profit
      print('{BOLD}Setting up ProFit (optional){END_C}'.format(**text_colours))
      profit = {}
      profit_path = get_user_path('Please provide a path to your ProFit executable.', required=False)
      profit['path'] = str(profit_path)
      settings['profit'] = profit
      return
docs: Generates configuration settings for optional functionality of ISAMBARD.