Building with Nix on Replit

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • nixpkgs

    Nix Packages collection

    The needs of the Nix language differs from that of a general purpose programming language. Its sole purpose is to output a self-contained and deterministic package build script. As such, it doesn't need persistent state. Every external output, such as source tarballs has their hashes verified so it should wield the exact same result every time it's evaluated. If any external output doesn't match expectations, evaluation would be aborted immediately.

    > And it would not be possible to keep track of anything. No counting, no transformation of data, nothing.

    All of this is possible without state. Counting could be done with, say, 'builtins.length'. As for transforming data, that's what programming languages literally do. The Nix language isn't an exception here. In fact, the Nix language has everything to do with transforming data. It transforms high level package definitions to lower level build instructions.

    > I see a lot of overhead coming from these mental gymnastics with no benefit

    At least with the Nix language, there's no mental gymnastics going on. Defining a package is as simple as it gets, as can be seen here[1]. The benefits are reproducible package builds and composability. Since Nix functions don't contain state, it's really easy to combine abstractions and make modifications to packages compared to conventional package managers. See the Chrome example in the NixOS Wiki[2].

    [1]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applicatio...

    [2]: https://nixos.wiki/wiki/Overlays

  • template-nix

    The nix template, configured for Gitpod (www.gitpod.io) to give you pre-built, nix based ephemeral development environments in the cloud.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts