Nixlets - like Helm Charts or Grafana Tanka but instead using Nix. https://nixlets.projects.tf
Find a file
2026-01-01 01:35:55 +00:00
.gitlab feat: switch from flake-parts & devenv to rensa + add nixtest 2025-12-18 13:32:38 +01:00
docs docs: add docs for generating docs for nixlet values, update nixmkdocs 2025-12-18 13:54:55 +01:00
lib chore(deps): lock file maintenance 2026-01-01 01:35:55 +00:00
nix/repo chore(deps): lock file maintenance 2026-01-01 01:35:55 +00:00
nixlets chore: format files 2025-12-18 13:42:39 +01:00
template chore: format files 2025-12-18 13:42:39 +01:00
tests feat: switch from flake-parts & devenv to rensa + add nixtest 2025-12-18 13:32:38 +01:00
.envrc feat: switch from flake-parts & devenv to rensa + add nixtest 2025-12-18 13:32:38 +01:00
.gitignore chore: format files 2025-12-18 13:42:39 +01:00
.gitlab-ci.yml feat: switch from flake-parts & devenv to rensa + add nixtest 2025-12-18 13:32:38 +01:00
flake.lock chore(deps): lock file maintenance 2026-01-01 01:35:55 +00:00
flake.nix feat: switch from flake-parts & devenv to rensa + add nixtest 2025-12-18 13:32:38 +01:00
README.md style(README): format README.md 2024-11-24 19:08:05 +01:00

Nixlets

This repository contains utilities for creating Nixlets and a collection of Nixlets.
Nixlets are kinda like Helm Charts, but they are defined using Kubenix and the Nix language.

One can load Nixlets either via Nix Flakes or by fetching a tarball

Usage

Creating Nixlets

Nixlets need a default.nix and a values.nix (a nixlet.nix containing the metadata is also recommended).
Check out the existing nixlets to understand how they work.
There is also a bare-bones template.

Using/rendering Nixlets

To render nixlets you only need to import the nixlets-lib:

{
  inputs.nixlet-lib.url = "gitlab:TECHNOFAB/nixlets?dir=lib";
}

Nixlets stored in the Gitlab Package Registry

(nixlet-lib.fetchNixletFromGitlab {
  project = "TECHNOFAB/nixlets";
  name = "<nixlet>";
  version = "<version>";
  sha256 = "<sha>";
}).render {
  inherit system;
  # values = {};
  # project = "";
  # overrides = ({...}: {});
}

Nixlets fetchable from arbitrary URLs

(nixlet-lib.fetchNixlet "<URL>" "<sha>").render {
  # ...
}

Metadata

Metadata of the Nixlets can also easily be accessed if needed:

(<some nixlet>).description # version, name, etc.