Home

Awesome

project chat

omnix

<img width="10%" src="./doc/src/favicon.svg">

Pronounced /ɒmˈnɪks/

[!NOTE] 🚧 omnix is in active development. It aims to supplement the Nix CLI to improve developer experience.

Usage

See https://omnix.page/

Developing

  1. Install Nix
  2. Setup direnv
  3. Clone this repo, cd to it, and run direnv allow.

This will automatically activate the nix develop shell. Open VSCode and install recommended extensions, ensuring that direnv activates in VSCode as well.

Running locally

To run omnix-cli,

just watch # Or `just w`; you can also pass args, e.g.: `just w show`

Nix workflows

Inside the nix develop shell (activated by direnv) you can use any of the cargo or rustc commands, as well as just workflows. Nix specific commands can also be used to work with the project:

# Full nix build of CLI
nix build .#default

# Build and run the CLI
nix run

Contributing

[!TIP] Run just fmt to autoformat the source tree.

<!-- ### Tech #### GUI app (`omnix-gui`) We use [Dioxus](https://dioxuslabs.com/) to build the GUI using web technologies, as well as [dioxus-signals](https://github.com/DioxusLabs/dioxus/tree/master/packages/signals) for data reactivity. ##### Styling We use [Tailwind](https://tailwindcss.com/) for styling; 🎓 familiarize yourself with it! Tailwind enables developers not familiar with design to create reasonably good looking sites. You should also 🎓 get familiar with CSS flexboxes (see [Flexbox Froggy](https://flexboxfroggy.com/)). ###### Color palette See `tailwind.config.js` for colour aliases we use throughout the app. Instead of, say, `text-pink-500` we use `text-primary-500` ("primary" is more semantic than "pink"). -->

Crates

CrateDescription
./crates/nix_rsRust interface to the Nix command line
./crates/nix_healthNix health check library and executable
./crates/nixciDefine and build CI for Nix projects anywhere
./crates/omnix-initRich flake templates
https://github.com/juspay/direnv-rsRust bindings for direnv

Footnotes

  1. We don't use any automatic changelog generator for this repo.