nixops
nickel
Our great sponsors
nixops | nickel | |
---|---|---|
10 | 45 | |
1,684 | 2,087 | |
5.2% | 5.4% | |
6.4 | 9.5 | |
20 days ago | 10 days ago | |
Python | Rust | |
GNU Lesser General Public License v3.0 only | 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.
nixops
-
20 Years of Nix
As far as I know, it’s still about [0]. I’ve had a better experience with deploy-rs though [1] - or even just using nixos-rebuild to target the remote machine.
-
Will we move away from DSLs?
For example Nix can already replace ansible, packer, cloudformation[1], dockerfiles.
-
NixOS History and Our Experience - Nix, Null, Nada, Nothing
Nix can also ship the nixpkgs as an oci image (e.g. docker image), vm image, iso, or if you're able to: as a nixos configuration. Tools like nixops can allow you to deploy many machines and have their behavior exactly specified, and the configuration can be version controlled. NixOS configuration can be thought of as congruent configuration management, where many other tools give you many less guarantees about configuration drift and reproducibility.
-
The best solution for deploying flakes
There are 4 tools I'm taking into consideration right now, but every suggestion is welcome: 1. deploy-rs - I don't know anything about it, heard about it like a day or two ago 2. NixOps - the official one, I don't know what to think, but I have concerns about Flakes compatibility 3. morph - I understand this as "NixOps, but better", no more toughs. 4. colmena - seems to be pretty straightforward with quite nice docs
-
Spectrum OS: a declarative, reproducible, compartmentalized Linux
I'm still relatively new to NixOS, having switched all my personal systems over to it this spring/summer. I don't have a detailed answer to your question, but I believe NixOPs is the canonical way to do what you're describing in production/at scale:
-
NixOS 21.05 Released!
Well, everyone of course! But especially devops, developers, power-users, and ricer folks. Due to the declarative and purity aspect of nixpkgs, all builds and configurations can be version controlled, cached and shared. NixOS can easily be extended to produce docker images, vm images, or even distributed deployments. You can also write reproducible multi-node integration tests. Tinkerers! Love playing around with the latest desktop manager or modifying builds? Nixpkgs allows you to modify any package you wish to, locally! Nixpkgs is actually a source distribution but its guarantees around purity and reproducibility are so strong that you can get a binary cache "for free".
-
Backblaze Is Now a Terraform Provider
You could use NixOps[0] for Nix but I'm not sure you can directly compare Terraform and Guix/Nix? My set up involves Terraform for infrastructure and Nix for provisioning, and it's working for me so far.
-
Benefits/disadvantages of Guix System in general and over NixOS?
I'll have to read more about NixOps though, I had kind of forgotten that it existed!
-
NixOS Linux
Kind of off topic, but I would love to have NixOps (https://github.com/NixOS/nixops) as an abstraction layer for every type of cloud service, and not just virtual machines (e.g. queues, object storages, etc).
There is Terraform and Ansible, of course, but Nix seems like it could combine the strengths of both of them.
nickel
-
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
- Show HN: Flake schemas – teaching Nix about your flake outputs
-
What config format do you prefer?
https://github.com/tweag/nickel could try this
I'll also add another candidate if lua isn't the right path (I still think it is): Nickel.
Or this https://github.com/tweag/nickel
-
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.
Nickel isn't the first such project. Similar languages already existed: Jsonnet, CUE, Dhall, and Nix to some extent (albeit specialized). Our starting point was in part adding typing to Nix, and we found that the aforementioned language didn't satisfy our design constraints (you can take a look at the RATIONALE.md document for more details).
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 :)
The LSP is aware of contracts (and the rest of the tooling, in particular `nickel query`) and is able to show "types" (really contracts), documentation, provide completion and so on. You can take a look at a simple Kubernetes example here: https://github.com/tweag/nickel/blob/master/examples/record-contract/record-contract.ncl
What are some alternatives?
deploy-rs - A simple multi-profile Nix-flake deploy tool.
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
morph - NixOS deployment tool
nixos - My NixOS Configurations
nixos-generators - Collection of image builders [maintainer=@Lassulus]
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
patchelf - A small utility to modify the dynamic linker and RPATH of ELF executables
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
pdf-tools - Emacs support library for PDF files.