           parameters.push('--hang-closing')
         if (selectErrors = atom.config.get('linter-flake8.selectErrors')).length
           parameters.push('--select', selectErrors.join(','))
+        if (projectConfigFile = atom.config.get('linter-flake8.projectConfigFile'))
+          parameters.push('--config', path.join(atom.project.getPaths()[0], projectConfigFile))
         parameters.push('-')
 
         return helpers.exec(atom.config.get('linter-flake8.executablePath'), parameters, stdin: fileText).then (result) ->

    executablePath:
      type: 'string'
      default: 'flake8'
      description: 'You might need a different binary name for python2 ' +
        '(e.g. flake8-python2)'
    configFileNames:
      type: 'array'
      default: []
      items:
        type: 'string'
      description: 'Use configuration for flake8 in this file (search is ' +
        'from CWD up until the file is found or the root is ' +
        'reached). If this is empty, or the file is not found, ' +
        'the configuration options from this settings panel will ' +
        'be used. Can be a comma-separated list, in which case ' +
        'filenames are searched left to right and the first one ' +
        'found is used.'
    maxLineLength:
      type: 'integer'
      default: 0


  provideLinter: ->
    helpers = require('atom-linter')
    path = require('path')

    provider =
      grammarScopes: ['source.python', 'source.python.django']
