@@ -27,6 +27,4 @@
|
||||
TrackpadThreeFingerDrag = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./zellij.nix
|
||||
];
|
||||
|
||||
@@ -105,4 +105,3 @@ final: prev: {
|
||||
'';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user