Signed-off-by: Christoph Schmatzler <christoph@schmatzler.com>
This commit is contained in:
2025-08-23 16:05:11 +00:00
parent 14924e7b7b
commit acd58a2f53
5 changed files with 39 additions and 41 deletions

View File

@@ -27,6 +27,4 @@
TrackpadThreeFingerDrag = true;
};
};
}

View File

@@ -4,4 +4,3 @@
nix-direnv.enable = true;
};
}

View File

@@ -1,7 +1,4 @@
{
pkgs,
...
}: {
{pkgs, ...}: {
imports = [
./zellij.nix
];

View File

@@ -105,4 +105,3 @@ final: prev: {
'';
});
}

View File

@@ -1,5 +1,9 @@
final: prev: {
postgresql = { config, lib, ... }: let
postgresql = {
config,
lib,
...
}: let
cfg = config.services.postgresql;
postStartScript = prev.writeScript "postgresql-post-start" ''
@@ -17,7 +21,8 @@ final: prev: {
echo "Creating database: ${prev.lib.escapeShellArg db}"
${cfg.package}/bin/createdb -h localhost -p ${toString cfg.port} -U ${cfg.superUser} ${prev.lib.escapeShellArg db}
fi
'') cfg.ensureDatabases}
'')
cfg.ensureDatabases}
# Create users and set permissions
${prev.lib.concatMapStringsSep "\n" (user: ''
@@ -49,7 +54,8 @@ final: prev: {
echo "Granting ${prev.lib.escapeShellArg perm} to ${prev.lib.escapeShellArg user.name}"
${cfg.package}/bin/psql -h localhost -p ${toString cfg.port} -U ${cfg.superUser} -c "GRANT ${prev.lib.escapeShellArg perm} TO \"${prev.lib.escapeShellArg user.name}\""
'') (prev.lib.optionals (user ? ensurePermissions) (prev.lib.mapAttrsToList (target: perm: "${perm} ON ${target}") user.ensurePermissions))}
'') cfg.ensureUsers}
'')
cfg.ensureUsers}
# Run initial script if provided
${prev.lib.optionalString (cfg.initialScript != null) ''
@@ -57,7 +63,6 @@ final: prev: {
${cfg.package}/bin/psql -h localhost -p ${toString cfg.port} -U ${cfg.superUser} -f ${cfg.initialScript}
''}
'';
in {
config = prev.lib.mkIf cfg.enable {
launchd.user.agents.postgresql = prev.lib.mkIf (cfg.ensureDatabases != [] || cfg.ensureUsers != [] || cfg.initialScript != null) {