* mysql service would assume that all the `*.sql` files in the directory, provided by `initialDatabases [{ schema = <directory>; … }]`, exists in a folder named [mysql-databases](291e7be83a/nix/mysql.nix (L239-L241)), after this change it would just look for all the `*.sql` files in the top-level schema directory.
* add tests
We don't need per-file package overlays, since we don't envision having too many of them. Whenever possible, get them from nixpkgs, to keep our tests nimble.
* explicitly define project root in treefmt
* define `projectRootFile` in `treefmt`
* make `treefmt.projectRoot` as `inputs.services-flake`
* use github flake url
* flake.nix as projectRootFile
* add comment
* force override-input in test flake
---------
Co-authored-by: shivaraj-bh <sbh69840@gmail.com>
* clickhouse init script
* clickhouse schema test
* clickhouse folder
* docs: add initialDatabases to tips & tricks
* docs: use heading anchor
* add TODO to find an alternative to start clickhouse-server during init
---------
Co-authored-by: shivaraj-bh <sbh69840@gmail.com>
* Use psql instead of postgres, as a result, use `pg_ctl` to temporarily start the postgres server in `${name}-init` process.
* Avoid creating a custom `postgresPkg` with extensions by using `apply` attribute provided by `mkOption`
* Refactor setup script, use `writeShellApplication` and resolve shell-check errors
---------
Co-authored-by: shivaraj-bh <sbh69840@gmail.com>