nix-book
nickel
nix-book | nickel | |
---|---|---|
5 | 46 | |
209 | 2,195 | |
- | 2.6% | |
0.6 | 9.4 | |
about 1 year ago | 3 days ago | |
Rust | ||
GNU General Public License v3.0 or later | 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.
nix-book
-
A configuration management system for pets, not cattle
This seems more approachable than NixOS/Guix, which I see as state or the art for declarative hosts.
https://discourse.nixos.org/t/documentation-team-flattening-... aims to flatten the learning curve for NixOS.
-
Our Roadmap for Nix
We're onto the pedagogy thing. Check out the Nix book efforts: https://discourse.nixos.org/t/documentation-team-flattening-....
Regarding the language and "configurations" specifically, you might like what we do with Nickel: https://github.com/tweag/nickel. Research project showing a potential future for Nix.
-
Why the Windows Registry sucks technically (2010)
Wouldn't say there's a steep learning curve for the language itself, it's pretty easy to get a grasp around it imo. Here's a helpful page I used to quickly get familiar with the language: https://github.com/tazjin/nix-1p
What's rather messy about Nix is nixpkgs with its helper functions all over the place alongside pretty shallow / non-existent documentation (which is unrelated to the language). Thankfully they've started to work on that recently: https://discourse.nixos.org/t/documentation-team-flattening-...
-
Gui installer (Calamares) seems to be available in the unstable iso
yess https://github.com/NixOS/nix-book
-
How should nix be used?!
there are efforts to better document the whole ecosystem (https://github.com/NixOS/nix-book)
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?
nickel-nix - An experimental Nix toolkit to use nickel as a language for writing nix packages, shells and more. [Moved to: https://github.com/nickel-lang/organist]
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
dirs-rs - a low-level library that provides config/cache/data paths, following the respective conventions on Linux, macOS and Windows
nixos - My NixOS Configurations
sqlfs - Sqlite FUSE filesystem with sqlcipher support
nix-gui - Use NixOS Without Coding
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
libsqlfs - a library that implements a POSIX style filesystem on top of an SQLite database
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
nixpkgs - Nix Packages collection & NixOS
nix - Nix, the purely functional package manager