dotfiles/nixos/postgres.nix

33 lines
1.0 KiB
Nix

{ pkgs, config, makeEnable, realUsers, ... }:
makeEnable config "modules.postgres" false {
services.postgresql = {
enable = true;
package = pkgs.postgresql_15;
ensureDatabases = [ "railbird" "public" ];
authentication = pkgs.lib.mkOverride 10 ''
#type database DBuser CIDR-ADDRESS auth-method
local all all trust
host all all 0.0.0.0/0 trust
host all all ::1/128 trust
'';
ensureUsers = map (username: {
name = username;
ensureClauses = {
superuser = true;
createrole = true;
createdb = true;
};
}) realUsers;
initialScript = pkgs.writeText "init-sql-script" ''
CREATE DATABASE IF NOT EXISTS railbird;
\c railbird
CREATE SCHEMA IF NOT EXISTS railbird;
'';
};
services.pgadmin = {
enable = true;
initialEmail = "IvanMalison@gmail.com";
initialPasswordFile = (builtins.toFile "password" "This is the content of the file.");
};
}