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 – 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
nonguix
-
Nix – A One Pager
Their software freedom policy seems to be similar to Debian. All free by default, allow separate nonfree addon. In the case of Guix you can find that here: https://gitlab.com/nonguix/nonguix .
- Guix on the Framework 13 AMD
-
Write Guix package definitions in a breeze: Introducing Guix Packager
The GUIX community has a non-free package repo, you just add it as a GUIX channel and problem solved:
https://gitlab.com/nonguix/nonguix
- The many issues plaguing Nix
- Nonguix
-
My Void experience, so you don't have to
Yes, being a GNU project Guix has a strict free software only policy. The biggest channel (repo) with proprietary stuff for Guix is called nonguix. It has the vanilla kernel, Nvidia drivers and a number of other proprietary packages including Steam, Chrome and the like. I don't know what the state of ZFS on Guix is though as I don't care for it myself, but I can see why its inclusion would be questioned with regards to licensing.
-
Differences between nixos and guix?
Since Guix is a GNU project, it doesn't support proprietary software (Steam, Discord, Zoom...). Third-party repos are available for it.
- Cannot install firefox in guix
-
I'm not fond of nix syntax, how difficult will it be to switch to guix
There's a git lab repo for non-free/libre software that you can add as a channel when installing. I used the following guide that shows you how to do this.
-
Invalid Field Specifier
I'm trying to enable substitues for nonguix. I added the code snippet from the nonguix website to my system.scm file per the instructions. When I try to reconfigure I get the following error:
What are some alternatives?
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
guix-nonfree - Unofficial collection of packages that are not going to be accepted in to guix
nixos - My NixOS Configurations
zfsbootmenu - ZFS Bootloader for root-on-ZFS systems with support for snapshots and native full disk encryption
nix-gui - Use NixOS Without Coding
com.valvesoftware.Steam
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
guix-nonfree
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
nixos-hardware - A collection of NixOS modules covering hardware quirks.