code: def get_user_config():
      
      # initial config (with all options explained)
      initialconf = normpath(os.path.join(get_share_dir(), "linkcheckerrc"))
      # per user config settings
      userconf = normpath("~/.linkchecker/linkcheckerrc")
      if os.path.isfile(initialconf) and not os.path.exists(userconf) and \
         not Portable:
          # copy the initial configuration to the user configuration
          try:
              make_userdir(userconf)
              shutil.copy(initialconf, userconf)
          except Exception as errmsg:
              msg = _("could not copy initial configuration file %(src)r to %(dst)r: %(errmsg)r")
              args = dict(src=initialconf, dst=userconf, errmsg=errmsg)
              log.warn(LOG_CHECK, msg % args)
      return userconf
docs: Get the user configuration filename.
      If the user configuration file does not exist, copy it from the initial
      configuration file, but only if this is not a portable installation.
      Returns path to user config file (which might not exist due to copy
      failures or on portable systems).
      @return configuration filename
      @rtype string