{ lib, pkgs, config, namespace, ... }: let cfg = config.${namespace}.cs-tools; in { options.${namespace}.cs-tools = { enable = lib.mkEnableOption "CS tools including CS Demo Manager and PostgreSQL"; }; config = lib.mkIf cfg.enable { services.postgresql = { enable = true; ensureDatabases = [ "csdm" ]; ensureUsers = [{ name = "csdm"; }]; }; environment.systemPackages = with pkgs; [ my-namespace.cs-demo-manager postgresql ]; }; }