NixOS is a good server OS, except when it isn't

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • nixd

    Nix language server, based on nix libraries [maintainer=@inclyc,@Aleksanaa]

    There is this: https://github.com/nix-community/nixd

    It has jump to definition and autocomplete. Which is very nice.

    It's not perfect. But it's pretty good

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • nixpkgs

    Nix Packages collection & NixOS

    Maybe I'm missing something, but the only branch in github:nixos/nixpkgs I can see receiving fixes is the 24.05 branch getting fixes backported from unstable. The last commit I can see to the 23.11 branch is about 3 months ago

    This would imply only 9 months of security patches before I would need to upgrade the server. That is of course a far less risky process with NixOS, so perhaps that is ok, but it is a lot more work than the 5 years you get (free) with Ubuntu/Debian

    https://github.com/NixOS/nixpkgs/branches/active

  • guix-nonfree

    Unofficial collection of packages that are not going to be accepted in to guix

    I haven't tried it personnally but Guix is similar with config in guile scheme. Have a look at the documentation [1].

    Caveat: it is a gnu project so no proprietary stuff like firmwares and drivers included out of the box (but there is a community guix nonfree project available [2]).

    [1] guix cookbook: https://guix.gnu.org/cookbook/en/html_node/index.html#Top

    guix manual: https://guix.gnu.org/manual/en/html_node/index.html#Top

    [2] https://github.com/guix-users/guix-nonfree

  • microvm.nix

    NixOS MicroVMs

    One technique employed by microvm.nix[0] is to mount the hosts /nix/store into the guest. This won't shrink the size of the system, but should allow it to be amortized across many different VMs.

    I'm not sure how exploitable a read-only virtiofs share is, so this is perhaps not appropriate in some circumstances.

    [0]: https://github.com/astro/microvm.nix

  • kit

    Exported, Nix-based monorepo tooling from TVL. In use for our repo at https://code.tvl.fyi (by tvlfyi)

    The nix repl can be a very valuable tool in answering these questions.

    That said, I strive to structure my nix source so that portions of it can easily be pasted into a repl. ReadTree goes a long way in that regard: https://github.com/tvlfyi/kit/tree/canon/readTree

    More to your point, though: I think a lot is possible. Although nix is very dynamic, it is also, for all intents and purposes, side effect free. I've had this idea that a sufficiently advanced IDE should be able to evaluate your nix code and tell you exactly what the possible values (not just types, but value!) are for any particular variable.

  • srvos

    NixOS profiles for servers [maintainer=@numtide]

    Have you taken a look at https://github.com/nix-community/srvos ? It’s a collection of profiles for servers by the Numtide folks.

  • nickel

    Better configuration for less

    I find the nix language to be quite pleasant. There are some syntax quirks and types would be nice, but in general the “json with functions” vibe is imo great and a very nice fit for the domain. Lots of other modern config languages (e.g. dhall, jsonnet) have ended up in this part of the design space too.

    With that said tweag has been working on a kind of nix 2.0 / nix with types for a while with the aim (I think) of being able to use it in nixpkgs: https://github.com/tweag/nickel

  • nixos-anywhere

    install nixos everywhere via ssh [maintainer=@numtide]

    https://github.com/nix-community/nixos-anywhere

    (There's also a terraform module )

  • deploy-rs

    A simple multi-profile Nix-flake deploy tool.

  • agenix

    age-encrypted secrets for NixOS and Home manager

  • agenix-rekey

    An agenix extension adding secret generation and automatic rekeying using a YubiKey or master-identity

    https://github.com/oddlama/agenix-rekey

    The ecosystem is in my experience very well fleshed out (7 yrs of use), as long as you don't require a knowledgebase/wiki/ up2date documentation, it's not been a issue for me since I could always fall back on Linux knowledge and just looking for how other distributions do x / how the thing itself is configured , and looking at how perhaps a existing nix module wraps that

  • amis

    Home for NixOS AMI automation (by NixOS)

    Yep for sure! We even have a neat upload-ami cli tool:

    https://github.com/NixOS/amis

  • proxmox-containers

    Hmm OK. I already had it on github so I'll just make it public:

    https://github.com/kstenerud/proxmox-containers

  • nil

    NIx Language server, an incremental analysis assistant for writing in Nix.

    This is inherently a Hard Problem™, since completions may require evaluating arbitrary derivations (e.g. building a custom Linux kernel).

    For "what symbols are available", the nil LSP implementation[1] works for anything in scope that doesn't require evaluation. It also includes completions for the stdlib and NixOS options (in certain contexts).

    Another LSP implementation is nixd[2], which is trying to tackle the problem of evaluations for completion.

    [1] https://github.com/oxalica/nil/

  • garn

    garn is a build tool and environment manager that replaces justfiles/makefiles, docker, and the annoying parts of READMEs. The builders lingua franca.

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

  • What's a good service for hosting a personal NixOS server?

    3 projects | /r/NixOS | 16 Apr 2022
  • deploy-rs and colmena should combine efforts

    2 projects | /r/NixOS | 20 Feb 2022
  • A simple multi-profile Nix-flake deploy tool

    1 project | news.ycombinator.com | 29 Dec 2021
  • deploy-rs multi node support

    3 projects | /r/NixOS | 26 Apr 2021
  • Building a highly optimized home environment with Nix

    9 projects | /r/NixOS | 15 Sep 2022

Did you konow that Nix is
the 28th most popular programming language
based on number of metions?