nickel
devshell
nickel | devshell | |
---|---|---|
46 | 14 | |
2,137 | 1,095 | |
2.1% | 2.6% | |
9.5 | 7.9 | |
6 days ago | 12 days ago | |
Rust | Nix | |
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 – 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
devshell
- Show HN: Flox 1.0 – Open-source dev env as code with Nix
-
Any tips for setting up a local development environment for wordpress?
numtide/devshell is cool little extension to bare devshells, you may wanna have it.
- Devshell – like virtualenv, but for all the languages
-
Devenv.sh: Fast and reproducible developer environments using Nix
There is also devshell[1] which allows you to configure specific commands for your `env` and sits inside your flake.
[1]: https://github.com/numtide/devshell
-
Just, Nix Shell and Podman are a Killer Combo
devshell is pretty useful too :)
- Ask HN: What is your development workflow on the MacBook M1?
-
Building a highly optimized home environment with Nix
I'm new to the Nix world, but so far I've come across Divnix's Digga, Numtide's DevShell, and Misterio77's nix-starter-configs.
-
Annoncing Shix, tailored development shells made with Nix
How does it differ from https://github.com/numtide/devshell ?
-
Nim packages stats
But take a look at devshell is like the NixOS/HomeManager of your (any language) project. I over abused it to create YAML files and to use Nim as script
-
Use remote package derivation file with nix-shell --packages option
Here's an example with devShell as a remote repository: sh nix-shell -p '(import (fetchGit "https://github.com/numtide/devshell") {}).cli'
What are some alternatives?
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
nix-direnv - A fast, persistent use_nix/use_flake implementation for direnv [maintainer=@Mic92 / @bbenne10]
nixos - My NixOS Configurations
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
nix-gui - Use NixOS Without Coding
nixpkgs - Nix Packages collection & NixOS
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
nix-config - :space_invader: NixOS configuration
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
devenv - Fast, Declarative, Reproducible, and Composable Developer Environments
nix - Nix, the purely functional package manager
flake-template - My template for Nix flakes