From c0c3fa6a7883e53d80e257e300116c0a5d478ef5 Mon Sep 17 00:00:00 2001 From: Kamillaova Date: Wed, 11 Dec 2024 00:04:40 +0300 Subject: [PATCH] nixos/postfixadmin: format with nixfmt-rfc-style --- nixos/modules/services/mail/postfixadmin.nix | 87 +++++++++++--------- 1 file changed, 50 insertions(+), 37 deletions(-) diff --git a/nixos/modules/services/mail/postfixadmin.nix b/nixos/modules/services/mail/postfixadmin.nix index 7523fa4930ab..34c22b4f7b71 100644 --- a/nixos/modules/services/mail/postfixadmin.nix +++ b/nixos/modules/services/mail/postfixadmin.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.services.postfixadmin; fpm = config.services.phpfpm.pools.postfixadmin; @@ -89,7 +94,9 @@ in $CONF['database_type'] = 'pgsql'; $CONF['database_host'] = ${if localDB then "null" else "'${cfg.database.host}'"}; ${lib.optionalString localDB "$CONF['database_user'] = '${cfg.database.username}';"} - $CONF['database_password'] = ${if localDB then "'dummy'" else "file_get_contents('${cfg.database.passwordFile}')"}; + $CONF['database_password'] = ${ + if localDB then "'dummy'" else "file_get_contents('${cfg.database.passwordFile}')" + }; $CONF['database_name'] = '${cfg.database.dbname}'; $CONF['configured'] = true; @@ -126,55 +133,61 @@ in services.postgresql = lib.mkIf localDB { enable = true; - ensureUsers = [ { - name = cfg.database.username; - } ]; + ensureUsers = [ + { + name = cfg.database.username; + } + ]; }; # The postgresql module doesn't currently support concepts like # objects owners and extensions; for now we tack on what's needed # here. - systemd.services.postfixadmin-postgres = let pgsql = config.services.postgresql; in lib.mkIf localDB { - after = [ "postgresql.service" ]; - bindsTo = [ "postgresql.service" ]; - wantedBy = [ "multi-user.target" ]; - path = [ - pgsql.package - pkgs.util-linux - ]; - script = '' - set -eu + systemd.services.postfixadmin-postgres = + let + pgsql = config.services.postgresql; + in + lib.mkIf localDB { + after = [ "postgresql.service" ]; + bindsTo = [ "postgresql.service" ]; + wantedBy = [ "multi-user.target" ]; + path = [ + pgsql.package + pkgs.util-linux + ]; + script = '' + set -eu - PSQL() { - psql --port=${toString pgsql.port} "$@" - } + PSQL() { + psql --port=${toString pgsql.port} "$@" + } - PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.database.dbname}'" | grep -q 1 || PSQL -tAc 'CREATE DATABASE "${cfg.database.dbname}" OWNER "${cfg.database.username}"' - current_owner=$(PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.database.dbname}'") - if [[ "$current_owner" != "${cfg.database.username}" ]]; then - PSQL -tAc 'ALTER DATABASE "${cfg.database.dbname}" OWNER TO "${cfg.database.username}"' - if [[ -e "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}" ]]; then - echo "Reassigning ownership of database ${cfg.database.dbname} to user ${cfg.database.username} failed on last boot. Failing..." - exit 1 - fi - touch "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}" - PSQL "${cfg.database.dbname}" -tAc "REASSIGN OWNED BY \"$current_owner\" TO \"${cfg.database.username}\"" - rm "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}" - fi - ''; + PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.database.dbname}'" | grep -q 1 || PSQL -tAc 'CREATE DATABASE "${cfg.database.dbname}" OWNER "${cfg.database.username}"' + current_owner=$(PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.database.dbname}'") + if [[ "$current_owner" != "${cfg.database.username}" ]]; then + PSQL -tAc 'ALTER DATABASE "${cfg.database.dbname}" OWNER TO "${cfg.database.username}"' + if [[ -e "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}" ]]; then + echo "Reassigning ownership of database ${cfg.database.dbname} to user ${cfg.database.username} failed on last boot. Failing..." + exit 1 + fi + touch "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}" + PSQL "${cfg.database.dbname}" -tAc "REASSIGN OWNED BY \"$current_owner\" TO \"${cfg.database.username}\"" + rm "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}" + fi + ''; - serviceConfig = { - User = pgsql.superUser; - Type = "oneshot"; - RemainAfterExit = true; + serviceConfig = { + User = pgsql.superUser; + Type = "oneshot"; + RemainAfterExit = true; + }; }; - }; users.users.${user} = lib.mkIf localDB { group = user; isSystemUser = true; createHome = false; }; - users.groups.${user} = lib.mkIf localDB {}; + users.groups.${user} = lib.mkIf localDB { }; services.phpfpm.pools.postfixadmin = { user = user;