mirror of
https://gitlab.com/rensa-nix/core.git
synced 2026-02-02 07:15:08 +01:00
docs: write docs, add README
This commit is contained in:
parent
abe19f9f13
commit
a7e20e203c
8 changed files with 442 additions and 0 deletions
47
docs/libraries.md
Normal file
47
docs/libraries.md
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# Related Libraries
|
||||
|
||||
Rensa has a growing ecosystem of compatible libraries designed to work seamlessly with its cell structure.
|
||||
These libraries typically expose a `lib` output that accepts `pkgs` as an argument.
|
||||
|
||||
## Available Libraries
|
||||
|
||||
Here are some common libraries you might want to use:
|
||||
|
||||
- [**Rensa Devshell**](https://devshell.rensa.projects.tf): _Minimal devshell implementation using Modules._
|
||||
- [**Rensa Devtools**](https://devtools.rensa.projects.tf): _Utils and dev tools for the Rensa ecosystem._
|
||||
- [**Rensa Utils**](https://utils.rensa.projects.tf): _Utilities for NixOS/darwin systems, home & disko configurations etc._
|
||||
- [**Nix-GitLab-CI**](https://nix-gitlab-ci.projects.tf): _Allows (advanced) configuration of GitLab CI using Nix._
|
||||
- [**Nixible**](https://nixible.projects.tf): _Ansible but with Nix._
|
||||
- [**Tofunix**](https://tofunix.projects.tf): _Combining Nix and Terraform for reproducibility and developer experience._
|
||||
- [**Nixlets**](https://nixlets.projects.tf): _Nixlets - like Helm Charts or Grafana Tanka but instead using Nix._
|
||||
- [**Nixtest**](https://nixtest.projects.tf): _Test runner for Nix code._
|
||||
- [**Soonix**](https://soonix.projects.tf): _Auto generated project files from Nix code, with gitignore handling and many generators._
|
||||
- [**NixMkDocs**](https://nix-mkdocs.projects.tf): _Nix library for easy mkdocs integration into projects._
|
||||
- [**Torikae**](https://torikae.projects.tf): _Simple CLI to replace versions in files._
|
||||
|
||||
## Usage Pattern
|
||||
|
||||
When using these libraries within a Cell Flake, you can instantiate them using the `pkgs` passed down from the parent flake.
|
||||
This follows the "Single Instantiation" best practice.
|
||||
|
||||
### Example: `cells/mycell/flake.nix`
|
||||
|
||||
```nix
|
||||
{
|
||||
inputs = {
|
||||
# Add the library to your inputs
|
||||
devshell.url = "gitlab:rensa-nix/devshell?dir=lib";
|
||||
|
||||
# ... other inputs
|
||||
};
|
||||
|
||||
outputs = i:
|
||||
i
|
||||
// {
|
||||
# Instantiate the library using the parent's pkgs
|
||||
dslib = i.devshell.lib { inherit (i.parent) pkgs; };
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
Now you can use `inputs.dslib` in your blocks!
|
||||
Loading…
Add table
Add a link
Reference in a new issue