forked from aylac.top/nixcfg
this repo has no description
at main 692 B view raw
1{ 2 lib, 3 config, 4 pkgs, 5 ... 6}: let 7 name = "postgresql"; 8 cfg = config.myNixOS.services.${name}; 9in { 10 options.myNixOS.services.${name} = { 11 enable = lib.mkEnableOption "${name} server"; 12 databases = lib.mkOption { 13 type = lib.types.listOf lib.types.str; 14 default = []; 15 description = "PostgreSQL databases."; 16 }; 17 }; 18 19 config = lib.mkIf cfg.enable { 20 services.postgresql = { 21 enable = true; 22 enableTCPIP = true; 23 package = pkgs.postgresql_16; 24 25 ensureDatabases = cfg.databases; 26 ensureUsers = 27 lib.map (dbName: { 28 name = dbName; 29 ensureDBOwnership = true; 30 }) 31 cfg.databases; 32 }; 33 }; 34}