Packaging software with Nix

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • nixpkgs

    Nix Packages collection & NixOS

    Replit's repls are powered by Nix. Nix is a tool for managing software packages and system configurations. The Nix community also maintains the Nix Packages Collection (Nixpkgs), Nix's official package repository. It contains over 50,000 projects. Chances are high that the software you need is already in there! You can search for packages on the NixOS website (DuckDuckGo users can use the !nixpkg bang command).

  • nix-prefetch

    Prefetch any fetcher function call, e.g. a package source

    Alternatively, there are also some command-line tools that can prefetch a file for you. They will fetch the file, put it in the Nix store, and print out the hash to the console. The nix-prefetch-url command comes installed in a standard Nix environment, including Replit repls. Both nix-prefetch-git and nix-prefetch-github are in Nixpkgs (so they can be installed easily using replit.nix) and work similarly. For more advanced uses, consider using nix-prefetch, also in Nixpkgs, which can prefetch using any Nix fetcher.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • nix

    Nix, the purely functional package manager

    Replit's repls are powered by Nix. Nix is a tool for managing software packages and system configurations. The Nix community also maintains the Nix Packages Collection (Nixpkgs), Nix's official package repository. It contains over 50,000 projects. Chances are high that the software you need is already in there! You can search for packages on the NixOS website (DuckDuckGo users can use the !nixpkg bang command).

  • Detected change in environment, reloading shell... nix error: building nix env: exit status 102 Output has been trimmed to the last 20 lines executing builder '/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin/bash' building '/nix/store/6drp4pmqj67b3ysy88fhawz4fdf2kwkb-simple-hello-world-demo.drv'... exporting https://github.com/ritza-co/simple-hello-world-demo.git (rev v2.12) into /nix/store/hmmp6c24wg43d9cbslmhgrrccvhhaxac-simple-hello-world-demo Initialized empty Git repository in /nix/store/hmmp6c24wg43d9cbslmhgrrccvhhaxac-simple-hello-world-demo/.git/ remote: Enumerating objects: 462, done. remote: Counting objects: 100% (462/462), done. remote: Compressing objects: 100% (333/333), done. remote: Total 462 (delta 127), reused 462 (delta 127), pack-reused 0 Receiving objects: 100% (462/462), 1.09 MiB | 7.15 MiB/s, done. Resolving deltas: 100% (127/127), done. From https://github.com/ritza-co/simple-hello-world-demo * tag v2.12 -> FETCH_HEAD Switched to a new branch 'fetchgit' removing `.git'... hash mismatch in fixed-output derivation '/nix/store/bj8zf0n8xdfrkj5mndmlhg34ac3pd91l-simple-hello-world-demo': wanted: sha256:1111111111111111111111111111111111111111111111111111 got: sha256:1mc1vrixpkzkdnvpzn3b01awvha6z7k2dnpai3c6g89in8l1wr70 cannot build derivation '/nix/store/gw50rkh9d2m4hxiyyldcz6wk0hf76pkx-hello.drv': 1 dependencies couldn't be built error: build of '/nix/store/gw50rkh9d2m4hxiyyldcz6wk0hf76pkx-hello.drv' failed

  • mle

    flexible terminal-based text editor (C)

    { pkgs }: let mle = with pkgs; stdenv.mkDerivation rec { pname = "mle"; version = "1.5.0"; src = fetchFromGitHub { owner = "adsr"; repo = "mle"; rev = "v${version}"; sha256 = "1nhd00lsx9v12zdmps92magz76c2d8zzln3lxvzl4ng73gbvq3n0"; }; # Bug fixes found after v1.5.0 release patches = [ (fetchpatch { name = "skip_locale_dep_test.patch"; url = "https://github.com/adsr/mle/commit/e4dc4314b02a324701d9ae9873461d34cce041e5.patch"; sha256 = "sha256-j3Z/n+2LqB9vEkWzvRVSOrF6yE+hk6f0dvEsTQ74erw="; }) (fetchpatch { name = "fix_input_trail.patch"; url = "https://github.com/adsr/mle/commit/bc05ec0eee4143d824010c6688fce526550ed508.patch"; sha256 = "sha256-dM63EBDQfHLAqGZk3C5NtNAv23nCTxXVW8XpLkAeEyQ="; }) ]; # Fix location of Lua 5.4 header and library postPatch = '' substituteInPlace Makefile --replace "-llua5.4" "-llua"; substituteInPlace mle.h --replace " patchShebangs tests/* ''; # Use select(2) instead of poll(2) (poll is returning POLLINVAL on macOS) # Enable compiler optimization CFLAGS = "-DTB_OPT_SELECT -O2"; nativeBuildInputs = [ makeWrapper installShellFiles ]; buildInputs = [ pcre uthash lua5_4 ]; doCheck = true; installFlags = [ "prefix=${placeholder "out"}" ]; postInstall = '' installManPage mle.1 ''; }; in { deps = [ mle ]; }

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

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