For anyone else having this error its a bug with there filesystem checks.
You can fix this by commenting out
/usr/share/webapps/nextcloud/lib/private/legacy/util.php
# } else if (!is_writable($CONFIG_DATADIRECTORY) or !is_readable($CONFIG_DATADIRECTORY)) {
# //common hint for all file permissions error messages
# $permissionsHint = $l->t('Permissions can usually be fixed by giving the webserver write access to the root directory. See %s.',
# [$urlGenerator->linkToDocs('admin-dir_permissions')]);
# $errors[] = [
# 'error' => 'Your data directory is not writable',
# 'hint' => $permissionsHint
# ];
/usr/share/webapps/nextcloud/lib/private/Console/Application.php
# if ($input->getFirstArgument() !== 'check') {
# $errors = \OC_Util::checkServer(\OC::$server->getSystemConfig());
# if (!empty($errors)) {
# foreach ($errors as $error) {
# $output->writeln((string)$error['error']);
# $output->writeln((string)$error['hint']);
# $output->writeln('');
# }
# throw new \Exception("Environment not properly prepared.");
# }
# }
Nextcloud is running on an arch lamp stack php version 7