mirror of
				https://github.com/nmasur/dotfiles
				synced 2025-11-04 12:53:15 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			873 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			873 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  pkgs,
 | 
						|
  lib,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
 | 
						|
let
 | 
						|
  inherit (config.nmasur.settings) username;
 | 
						|
  cfg = config.nmasur.presets.services.postgresql;
 | 
						|
in
 | 
						|
{
 | 
						|
 | 
						|
  options.nmasur.presets.services.postgresql.enable = lib.mkEnableOption "Postgresql database";
 | 
						|
  config = lib.mkIf cfg.enable {
 | 
						|
    services.postgresql = {
 | 
						|
      enable = true;
 | 
						|
      package = pkgs.postgresql_15;
 | 
						|
      settings = { };
 | 
						|
      authentication = ''
 | 
						|
        local all postgres peer map=root
 | 
						|
        local all admin peer map=admin
 | 
						|
      '';
 | 
						|
      identMap = ''
 | 
						|
        root      postgres          postgres
 | 
						|
        root      root              postgres
 | 
						|
        admin     ${username}    admin
 | 
						|
      '';
 | 
						|
      ensureUsers = [
 | 
						|
        {
 | 
						|
          name = "admin";
 | 
						|
          ensureClauses = {
 | 
						|
            createdb = true;
 | 
						|
            createrole = true;
 | 
						|
            login = true;
 | 
						|
          };
 | 
						|
        }
 | 
						|
      ];
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
}
 |