nickel-nix
nickel
nickel-nix | nickel | |
---|---|---|
4 | 46 | |
183 | 2,195 | |
- | 2.6% | |
0.0 | 9.4 | |
10 months ago | 3 days ago | |
Nix | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nickel-nix
-
NixOS and My Descent into Insanity
Have you tried https://github.com/nickel-lang/nickel-nix ?
I didn't use it yet, but looks like this supposed to do it.
-
The guide to software development with Guix
These days those aren't the only options; you can also use Nickel: https://github.com/nickel-lang/nickel-nix
Which isn't fully baked, no, but here's hoping.
-
Announcing Nickel 1.0, a configuration language written in (and usable from) Rust
One target-use case of Nickel is to be used as an alternative front-end for Nix (instead of Nix expressions). There is a draft RFC and a repository to use Nickel to write development shell (Nixel). The goal is that, one day, you can actually just transparently call to Nix code and into Nixpkgs. Until then, I totally understand that nothing can be the power of levering Nixpkgs... so your approach makes sense :)
-
Our Roadmap for Nix
Undecided; see https://github.com/nickel-lang/nickel-nix for a proof-of-concept of an integration that requires making no changes to either Nickel or Nix.
nickel
-
Nix – A One Pager
So, its key features are:
1. domain-specific: designed for conveniently creating and composing derivations. This reason alone already justifies a new language, or an embedded domain-specific language (such as the Guile/Scheme for guix), or a mix of both (Starlark, the build language of Bazel embedded in a restricted Python-variant).
2. purely functional: this ties well into the philosophical backing of Nix the package manager, which aims to be purely functional, also known as hermeticity in other build systems (Bazel).
3. lazily evaluated: similar to other build systems (including Bazel), so that you can build only what you need on demand.
4. dynamically typed: this one is controversial. Being dynamically typed—in other words, not developing a type system—gets Nix out of the door first. But users often complain about the lack of proper types and modularity. There are experiments to address this, such as Nickel (https://github.com/tweag/nickel).
It is understandable that a one-pager may not have space for the whys.
-
10 Ways for Kubernetes Declarative Configuration Management
Nickel:Nickel is a straightforward configuration language aimed at automatically generating static configuration files. Essentially, it's akin to JSON with the addition of functions and types.
-
Show HN: Togomak – declarative pipeline orchestrator based on HCL and Terraform
Also look at nickel which is an evolution of nix. It's my favorite in this space.
nickel-lang.org
https://github.com/tweag/nickel
- Show HN: Flake schemas – teaching Nix about your flake outputs
-
What config format do you prefer?
Or this https://github.com/tweag/nickel
-
Nickel 1.0
Nickel is a programming language. While HCL is just a configuration format, so not really comparable.
Here's a comparison with similar tools: https://github.com/tweag/nickel#comparison
-
Announcing Nickel 1.0, a configuration language written in (and usable from) Rust
As for 'providence', I suppose you meant provenance :) it's been delayed because this was less critical for 1.0 to decide on or to implement (as it: it doesn't break backward compatibility in any way to add this feature in the short term), but this is very much on the roadmap: Issue #235. That's a must-have in a language with merging like Nickel.
-
Rewrite it in Rust: Kubernetes
Have you considered using a different language for templating? this could be a BIG selling point. Some good ones are cue-lang (though I haven't seen support for rust), kcl or nickel-lang.
- Nickel v1.0.0
- Design rationale for the Nickel configuration language
What are some alternatives?
nix-book - Nix documentation – centralized community online learning resource for Nix
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
go-nix - Elements of Nix re-implemented as Go libraries [maintainer=@flokli]
nixos - My NixOS Configurations
flake-utils - Pure Nix flake utility functions [maintainer=@zimbatm]
nix-gui - Use NixOS Without Coding
vscode-yaml - YAML support for VS Code with built-in kubernetes syntax support
nix-doc - An interactive Nix documentation tool providing a CLI for function search, a Nix plugin for docs in the REPL, and a ctags implementation for Nix script
nixpkgs - Nix Packages collection & NixOS
AppImageKit - Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.libera.chat
guix-installer - A GNU Guix installer image with the full Linux kernel!
nix - Nix, the purely functional package manager