public static function get() {
		Log::instance()->write( 'Reading configuration from file.', 1 );

		$file_path = Utils\get_snapshot_directory() . 'config.json';

		if ( ! file_exists( $file_path ) ) {
			/**
			 * Backwards compat for old config file path
			 */
			$file_path = $_SERVER['HOME'] . '/.wpsnapshots.json';

			if ( ! file_exists( $file_path ) ) {
				Log::instance()->write( 'No config found.', 1 );

				$config = new self();
				$config->write();

				return $config;
			} else {
				rename( $file_path, Utils\get_snapshot_directory() . 'config.json' );

				$file_path = Utils\get_snapshot_directory() . 'config.json';
			}
		}

		$config = json_decode( file_get_contents( $file_path ), true );

		return new self( $config );
	}