NixOS-like services for Nix flakes
Go to file
Shivaraj B H 72a3eaacc8
Process as test (VM -> Native test) (#38)
Co-authored-by: Sridhar Ratnakumar <3998+srid@users.noreply.github.com>
2023-08-23 22:47:20 +05:30
.github/workflows Process as test (VM -> Native test) (#38) 2023-08-23 22:47:20 +05:30
dev dev: Switch from mission-control to just 2023-07-20 07:59:17 -04:00
doc doc: edit; add wip status 2023-07-21 14:08:44 -04:00
example Process as test (VM -> Native test) (#38) 2023-08-23 22:47:20 +05:30
nix Process as test (VM -> Native test) (#38) 2023-08-23 22:47:20 +05:30
test Process as test (VM -> Native test) (#38) 2023-08-23 22:47:20 +05:30
.envrc Revert "dev flake: check example and tests" 2023-07-10 19:36:14 -04:00
.gitignore Add dev flake 2023-06-21 16:07:19 -04:00
flake.nix Add nixci config to flake (#19) 2023-07-10 21:25:49 -04:00
justfile Process as test (VM -> Native test) (#38) 2023-08-23 22:47:20 +05:30
LICENSE Initial commit 2023-06-19 17:44:27 -04:00
README.md readme: nixci is now on nixpkgs 2023-08-03 11:46:31 -04:00

services-flake

Note

🚧 Work in Progress

NixOS-like services for Nix flakes, as a process-compose-flake module (based on flake-parts).

Getting Started

TODO

(But see ./test/flake.nix)

Services available

  • PostgreSQL
  • MySQL
  • Redis
  • Redis Cluster
  • ...

A note on process working directory

The dataDir of these services tend to take relative paths, which are usually relative to the project root. As such, when you run these services using nix run, their data files are created relative to whichever directory you are in. If you want these data files to always reside relative to the project directory, instead of using nix run consider wrapping the process-compose packages in script, via either mission-control module or a justfile. The example uses the latter.

Contributing

Credits

Thanks to the devenv project on which much of our services implementation is based on.

FAQ

Why not re-use devenv service modules?

This is currently not possible (nor prioritized by the devenv project), which is why we must create our own services. See https://github.com/cachix/devenv/issues/75