digga VS nickel

Compare digga vs nickel and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
digga nickel
23 46
978 2,127
0.4% 3.7%
2.4 9.5
9 months ago 9 days ago
Nix Rust
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

digga

Posts with mentions or reviews of digga. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-08.
  • Looking for dotfiles repo examples
    9 projects | /r/NixOS | 8 Nov 2022
    This one issue may clear things up, seems like my config is a little outdated: https://github.com/divnix/digga/pull/385
  • Building a highly optimized home environment with Nix
    9 projects | /r/NixOS | 15 Sep 2022
    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.
  • Need for a configuration framework?
    5 projects | /r/NixOS | 7 Sep 2022
    There are config templates / configuration helper libraries that try to make this easier, for example digga/devos.
  • (meme) It's a temporary setback really
    1 project | /r/NixOS | 29 Aug 2022
    https://nixos.wiki/wiki/Flakes, especially the “see also” section. If you’re looking to use for NixOS config across multiple hosts, digga (see the repo for example template) is pretty nice for encapsulating a lot of boilerplate.
  • Sharing configuration between NixOS and MacOS
    6 projects | /r/NixOS | 25 May 2022
    The digga library, while being more complex to use than other solutions here, got a pretty elegant solution for it merged a few weeks ago. Still some cracks that are getting smoothed over, but it seems to work.
  • Best practices for organizing code repository for multiple machines? What about deployment?
    5 projects | /r/NixOS | 10 Apr 2022
    I like the concept digga/devos uses (unfortunately their stuff kind of is an overengineered incomprehensible mess): They use: - modules: for modules like in nixpkgs (i.e. stuff that defines options and generates configuration based on that options; are included into every host) - profiles: concrete configuration, can be included to host definitions - suites: sets of profiles (so you can for example have a desktop suite with all your profiles with "desktop" configuration options and apply that to all your desktop computers)
  • Nix: An idea whose time has come
    17 projects | news.ycombinator.com | 18 Feb 2022
  • The Curse of NixOS
    35 projects | news.ycombinator.com | 24 Jan 2022
    For the system, I like the devos template:

    https://github.com/divnix/devos

    The idea of flakes is how you define inputs, and you define the system (and packages, and shell etc.) in the outputs using the inputs. The inputs are git repos which point to other flakes. You can mix and match these as much as you want (see the devos repo for examples) and when you build the derivation, it generates a lockfile for exact commits in that point in time what were used in the given inputs.

    You commit the lockfile and in the other systems where you pull your config from the repo, it uses exactly those commits and installs the same versions as you did in your other systems.

    This was quite annoying and hard to do before flakes. Now it's easy.

    The problem what people face with building their system as a flake is combining the packages so you can point to `jq` from the unstable nixos and firefox from the stable train. I think this aspect needs better documentation so it wouldn't be so damn hard to learn (believe me, I know). Luckily there are projects like devos that give a nice template for people to play with (with documentation!)

    Another use for flakes is to create a development shell for your repo, an example what I did a while ago:

    https://github.com/pimeys/nix-prisma-example

    Either have `nix-direnv` installed, enter the directory and say `direnv allow`, or just `nix develop` and it will gather, compile and install the correct versions of packages to your shell. Updating the packages? Call `nix flake update` in the directory, commit the lockfile and everybody else gets the new versions to their shell.

  • What's the proper way to set up nix / home manager w/ flakes, directory wise?
    3 projects | /r/NixOS | 20 Nov 2021
    Yes, I put the repository in ~/nix. My repository is based on devos, but I am thinking of switching to a different setup, because I don't want to depend on a framework which can be an issue in updating.
  • The future of Home Manager and Flakes
    4 projects | /r/NixOS | 10 Nov 2021
    I no longer use the official way since I have switched to flakes. I am currently using a devos-based config, which is a boilerplate that depends on a Nix toolchain, but I plan on rewriting the config with flake-utils-plus. You probably can install home-manager using deploy-rs. See the following comment:

nickel

Posts with mentions or reviews of nickel. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-06.
  • Nix – A One Pager
    6 projects | news.ycombinator.com | 6 Apr 2024
    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
    23 projects | dev.to | 1 Jan 2024
    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
    12 projects | news.ycombinator.com | 24 Oct 2023
    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
    2 projects | news.ycombinator.com | 31 Aug 2023
  • What config format do you prefer?
    11 projects | /r/rust | 4 Jul 2023
    Or this https://github.com/tweag/nickel
  • Nickel 1.0
    1 project | news.ycombinator.com | 16 Jun 2023
    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
    11 projects | /r/rust | 8 Jun 2023
    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
    8 projects | /r/rust | 3 Jun 2023
    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
    1 project | news.ycombinator.com | 17 May 2023
  • Design rationale for the Nickel configuration language
    1 project | news.ycombinator.com | 27 Mar 2023

What are some alternatives?

When comparing digga and nickel you can also consider the following projects:

Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]

rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]

nixos-config - Mirror of https://code.balsoft.ru/balsoft/nixos-config

nixos - My NixOS Configurations

nix-gui - Use NixOS Without Coding

sops-nix - Atomic secret provisioning for NixOS based on sops

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-darwin - nix modules for darwin

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

nixos-generators - Collection of image builders [maintainer=@Lassulus]

nix - Nix, the purely functional package manager