NixOS Linux

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

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

    Discontinued Your project's nix-env

  • > Using a special command (nix-shell) whenever I needed to do development things (e.g. Rust builds) was not my idea of fun.

    Funny you should mention that, because that's exactly what got me using Nix everywhere :). I've always hated installing tools and libraries globally—what if I need a different version for a future project?—so I like tools that sandbox as much as possible like virtualenv, cargo, cabal... etc. But these tools are all language-specific and have their own limitations (especially around native libraries and dependencies written in other languages).

    nix-shell gives me the equivalent of virtualenv that works for everything. I can have a single sandboxed environment even if my project uses a bunch of different languages and I can manage everything in a reproducible, low-overhead fashion. No more worrying about making a mess by installing tools or packages globally.

    Then, once I got really used to that, I spent some time setting up direnv[1] and lorri[2]—both of which are themselves managed with Nix, of course!—so that my environment gets automatically configured as soon as I enter a project directory without needing to call nix-shell explicitly. To be honest, the experience is still a bit rough, but it works well enough day-to-day that I have my reproducible sandbox cake and eat it in an mostly frictionless way too :).

    [1]: https://direnv.net/

    [2]: https://github.com/target/lorri

  • nixpkgs

    Nix Packages collection & NixOS

  • > Lots of steam doesn't work out of the box compared to Ubuntu.

    Make sure you're using Proton 5.0 until this [0] is fixed.

    [0]: https://github.com/NixOS/nixpkgs/issues/100655

  • 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.

    WorkOS logo
  • nixops

    NixOps is a tool for deploying to NixOS machines in a network or cloud.

  • 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.

  • Home Manager using Nix

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

  • Before installing NixOS, I’d recommend anyone on Linux to give home-manager a go first for the userspace declarative approach with Nix. After a year with full-time NixOS, I switched back to Ubuntu + home-manager as best of both worlds—declarative when feasible, imperative when convenient.

    [1] https://github.com/nix-community/home-manager

  • pdf-tools

    Discontinued Emacs support library for PDF files.

  • I use Emacs's direnv integration. Haven't had any trouble.

    I also manage Emacs, its packages and its packages' native dependencies with Nix.

    Having an automatic link between Emacs packages and native libraries has made my life massively easier. For example, earlier today I installed `pdf-tools`[1] just by adding (use-package pdf-tools :ensure t) to my init.el, and Nix took care of building and installing the native software needed to support it. I didn't have to go through any of the installation steps in the pdf-tools README[1], it just worked.

    I'm on my laptop now, but when I get back to my desktop, all it will take to get pdf-tools working is pulling the latest version of my config from git and switching to it.

    pdf-tools is a cute self-contained example, but this has been even bigger for using lsp-mode and different language servers as well as other nice-to-have development tools.

    For all the hassle that learning and moving to NixOS took—and still occasionally takes—I'm convinced that things like this have more than paid off for me and that I'm saving time on net.

    [1]: https://github.com/politza/pdf-tools

  • patchelf

    A small utility to modify the dynamic linker and RPATH of ELF executables

  • I had the same experience as well. I tried NixOS once as my main desktop environment. I encountered two problems that made me switch to Ubuntu+Nix. And they work perfectly for their own purposes.

    One problem is dynamically linked binaries, where the library points to a global position (like /usr/lib). In NixOS, different builds can depend on different versions of the same binary, so there is no single global location. This is not necessarily a bad thing in itself. And normal cases can be fixed with the patchelf [^1] utility. I couldn't make it work with a Z3 binary, so I finally gave up.

    The other problem is when I tried to configure jackdbus. There's only one example [^2] configuration. It is marked as outdated by the wiki, and indeed none of the settings work for me.

    Then I realized these two are not problems that Nix tries to solve. Pointing to a global binary is okay for some quick fixes. And JACK module is better to work out-of-the-box, I don't want to dive into all of the configurations before I haven't even used it.

    Now I use Ubuntu for casual desktop applications and write Nix derivations for projects that need reproducibility. And I think I find my perfect balance.

    [^1]: https://github.com/NixOS/patchelf

  • dotfiles

    i3 + Plasma: using the i3 window manager on the top of KDE Plasma and other dotfiles, configurations, scripts, workarounds and practises from my Debian Sid machines. (by avivace)

  • Plasma (on X) generally works very good with other WM. Here's how to use i3: https://github.com/avivace/dotfiles

  • 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.

    InfluxDB logo
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