juspay / omnix

🚧 A Nix wrapper to improve developer experience
https://omnix.page
GNU Affero General Public License v3.0
67 stars 5 forks source link

`omnix-cli` MVP roadmap #140

Closed srid closed 3 weeks ago

srid commented 1 month ago

omnix-cli will be a "super CLI" for Nix of some sort. Where possible, we will expose the functionality as Rust libraries (which can be used by other clients, like omnix-gui).

To begin with, we will have omnix-cli to do two things:

Initialize flakes

om init

This should support a registry of flake templates (use our various flake-parts modules), initialize them using nix flake init as well as fill in any user-specific content using the templateGenerators idea in https://github.com/flake-parts/templates/issues/7#issuecomment-2160581489

The goal is to have om init create flakes for any kind of stack, eventually.

See #152

Inspect flakes

[!WARNING] To be fleshed out.

om show

On a flakified project, display a "dynamic README" of some sort that tells any product-oriented person as to how to interact with it. Eg. build the project or run it. If there are services, tell how to run these services. The 'metadata' for this should be standardized somehow. At a basic level, meta.description can be used to describe derivations (including devShells); how do we want to describe, for example, services?

[!NOTE] om show should also show a status indicator for om health (which runs https://github.com/juspay/nix-health)


Progress

srid commented 1 month ago

Due to #154, it should be fairly straightforward to do #150, so I've added it to the MVP.

srid commented 1 month ago

We are fairly close to making a release. Needs polish, docs, and other niceties (esp. #166).

srid commented 3 weeks ago

0.1.0 was released; so will close this.

https://github.com/juspay/omnix/releases/tag/0.1.0

https://omnix.page/