awesome-immutable VS nix

Compare awesome-immutable vs nix and see what are their differences.

awesome-immutable

A list of resources for people who want to investigate image-based Linux desktops (by castrojo)
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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
awesome-immutable nix
12 373
741 10,943
- 2.9%
6.1 10.0
3 months ago 4 days ago
C++
- GNU Lesser General Public License v3.0 only
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.

awesome-immutable

Posts with mentions or reviews of awesome-immutable. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-29.
  • Flathub: One million active users and growing
    2 projects | news.ycombinator.com | 29 Jan 2024
    Interesting article!

    My takeaways:

    >"The current solutions involve packaging entire alternate runtimes in containerized environments. Flatpak, Snap, AppImage, Docker, and Steam: these all provide an app packaging mechanism that replaces most or all of the system’s runtime libraries, and they now all use containerization to accomplish this."

    [...]

    >"All of these technologies are essentially building

    an entire OS on top of another OS

    just to avoid the challenges of backwards compatibility."

    This is basically using containers to replace all system libraries -- to insure that a downloaded binary app always works.

    From this point forward, we'll use the term "API" to represent not just Linux kernel syscalls, but the totality of all library calls (system and otherwise!) used by a given downloaded binary application!

    Observation: API (in-)consistency (AKA "Stability") one Linux version to another, one Linux distro to another -- is the real problem!

    That's the real cause!

    Because everything else, everything else, is effect, not cause!

    The containerization, the bloated "everything but the kitchen sink" downloads, are the effect of the problem of API (in-)consistency!

    Phrased a simpler way -- there is absolutely NO guarantee of consistency between the libraries, system and otherwise, of any two Linux distros!

    So if a binary app is to run on all Linux distros -- then it had better damn well better make sure that the exact specific version of all of the libraries that it needs -- are managed by it, not the host operating system!

    Containers and bloated library downloads -- are (unfortunately) currently necessary to provide this!

    Related:

    "Linux Library Mismatch":

    https://www.google.com/search?q=linux+library+mismatch

    "DLL Hell" (the MS-Windows equivalent)

    https://en.wikipedia.org/wiki/DLL_Hell

    Software Engineering: Bertrand Meyer, "Design By Contract":

    https://en.wikipedia.org/wiki/Design_by_contract

    API Contracts: "What is an API Contract?":

    https://www.youtube.com/watch?v=-qM__ozdHCU

    Eelcho Dolstra: "The Purely Functional Software Deployment Model":

    https://edolstra.github.io/pubs/phd-thesis.pdf#page=11

    Image-based Linux distributions and associated tools:

    https://github.com/castrojo/awesome-immutable

    Spencer Baugh: "Managing Dependencies":

    https://catern.com/posts/deps.html

  • Hello everyone!
    3 projects | /r/FindMeADistro | 24 May 2023
    If you're simply in search of other immutable distros, then I would recommend you to look under the "Distributions" section on this page.
  • What is the difference between Immutable Desktops and non Immutable Desktops?
    4 projects | /r/linuxquestions | 30 Apr 2023
    The answer to that question is out of scope for what is sensible to write in a comment. Also, because we're mostly still exploring what it is or rather what we'd want it to be. But if you're really interested, then I'd suggest you to dive into this wonderful resource. You don't have to go through everything that's found within. However, I'm sure there's something in there that peaks your interest and you can go from there.
  • Immutable Linux Distributions for Those Looking to Embrace the Future
    7 projects | news.ycombinator.com | 31 Mar 2023
    Flatcar uses 2 partitions, A and B, you boot into one and then updates update the one that you're not booted into, when you reboot it it boots into the updated one. It's like Android: https://source.android.com/docs/core/ota/ab

    I maintain an awesome-list of immutable resources here with a collection of talks and presentations from the people making the stuff: https://github.com/castrojo/awesome-immutable

    However I'm currently focused on desktop stuff since the it's a fairly common pattern in cloud already, I should probably write it up.

    Semi-related, a few of us have started a community around composable OCI fedora images, and one of our images is intended to be used as a home server built on CoreOS with ZFS, cockpit, and all the goodies you'd need. It's still fresh and we're looking for help if anyone's interested: https://github.com/ublue-os/ucore (Disclaimer: I helped start this project)

  • What are good resources for silverblue ?
    3 projects | /r/Fedora | 28 Feb 2023
    Some interesting links: https://github.com/castrojo/awesome-immutable
  • A list of resources for people who want to investigate image-based Linux desktops
    1 project | /r/CKsTechNews | 22 Feb 2023
  • Immutable image-based Linux desktops
    1 project | news.ycombinator.com | 22 Feb 2023
  • Hi, i installed the Fedora 37 Silverblue (Gnome) But DNF and YUM commands dont even exist there. what i made?
    1 project | /r/Fedora | 12 Feb 2023
    Found this page for you. It has lots of resources, including videos and guides, about all things Silverblue and other immutable Linux distros, and their tooling. Enjoy.
  • What is best Distro/DE combo for productivity on ML Workstation
    1 project | /r/FindMeADistro | 19 Jan 2023
    Note, I haven't tried these two distros myself, but I am strongly considering moving to such a system at the moment. Here is some reading material in case you're interested: https://github.com/castrojo/awesome-immutable
  • GitHub - castrojo/awesome-immutable: A list of resources for people who want to investigate image-based Linux desktops
    1 project | /r/devopsish | 13 Nov 2022

nix

Posts with mentions or reviews of nix. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-28.
  • OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computers
    2 projects | news.ycombinator.com | 28 Apr 2024
  • Eelco Dolstra's leadership is corrosive to the Nix project
    6 projects | news.ycombinator.com | 22 Apr 2024
    > https://github.com/NixOS/nix/pull/9911#issuecomment-19252073...
  • I use NixOS for my home-server, and you should too!
    1 project | dev.to | 22 Apr 2024
    As we covered in my last post, NixOS is a amazing Linux distribution for creating stable and declared environments. Now while this is amazing for a desktop setup, it is also perfect for a home-server or home-lab.
  • Tvix – A New Implementation of Nix
    8 projects | news.ycombinator.com | 16 Apr 2024
    (Nix itself is slowly chugging along with Windows via MinGW - https://discourse.nixos.org/t/nix-on-windows/1113/108 and https://github.com/NixOS/nix/issues/1320 , for example.)
  • Colima k8s nix setup
    4 projects | dev.to | 16 Apr 2024
    Nix is a cross-platform package manager. It uses the nix programming language. Nix and NixOs are often used in the same context, but while the first is a package manager, the latter is a linux distribution based on nix.
  • NixOs - Your portable dev enviroment
    1 project | dev.to | 8 Apr 2024
    Today I want to talk to you about Nixos. What is it? Nixos is a declarative and reproducible OS, partly taking the words used on their own page. What does that mean?
  • Nix – A One Pager
    6 projects | news.ycombinator.com | 6 Apr 2024
    Software developers often want to customize:

    1. their home environments: for packages (some reach for brew on MacOS) and configurations (dotfiles, and some reach for stow).

    2. their development shells: for build dependencies (compilers, SDKs, libraries), tools (LSP, linters, formatters, debuggers), and services (runtime, database). Some reach for devcontainers here.

    3. or even their operating systems: for development, for CI, for deployment, or for personal use.

    Nix provision all of the above in the same language, with Nixpkgs, NixOS, home-manager, and devShells such as https://devenv.sh/. What's more, Nix is (https://nixos.org/):

    - reproducible: what works on your dev machine also works in CI in prod,

    - declarative: you version control and review your configurations and infrastructure as code, at a reasonable level of abstraction,

    - reliable: all changes are atomic with easy roll back.

  • Tools for Linux Distro Hoppers
    7 projects | dev.to | 27 Mar 2024
    Hopping from one distro to another with a different package manager might require some time to adapt. Using a package manager that can be installed on most distro is one way to help you get to work faster. Flatpak is one of them; other alternative are Snap, Nix or Homebrew. Flatpak is a good starter, and if you have a bunch of free time, I suggest trying Nix.
  • Ask HN: Could Nix make crypto mining more efficient?
    1 project | news.ycombinator.com | 1 Mar 2024
    - it reduces bloat, because you can generate an environment or OS image with only the software needed to run a specific program or service

    My guess is that a big efficiency gain would come from the second point, because you don't waste CPU on code that you don't use.

    Does this make sense? Has anyone explored this?

    [0]: https://nixos.org

  • Go + Hypermedia - A Learning Journey (Part 1)
    6 projects | dev.to | 23 Feb 2024
    1) Setting up the development environment - I currently use devcontainers for most things, but may also dig into nix -> isolated, portable, repeatable development environment 2) Exploring Echo - understand routing, requests, response, etc. 3) Incorporate Templ - integration with Echo, template composition, etc. 4) Integrating TailwindCSS - config for use with Echo/Templ, development cycle, deployment, etc. 5) Add in HTMX - endpoints, template structure, concepts, etc. 6) hyperscript for interactivity - client side interactivity

What are some alternatives?

When comparing awesome-immutable and nix you can also consider the following projects:

arch-linux-installation-guide - An easy to follow Arch Linux installation guide. This guide will show you how to properly install Arch Linux on UEFI/BIOS systems, ext4/btrfs file systems; using systemd-bootloader/GRUB and systemd-networkd/NetworkManager for networking. These are the given examples but I have provided links to sections with the information necessary to install any 86_64 system

asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

bazzite - Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.

distrobox - Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox

ucore - An OCI base image of Fedora CoreOS with batteries included

void-packages - The Void source packages collection

sodalite - 🪨 A Pantheon experience for rpm-ostree [Moved to: https://github.com/sodaliterocks/sodalite]

flatpak - Linux application sandboxing and distribution framework

ublue - A familiar(ish) Ubuntu desktop for Fedora Silverblue.

homebrew-emacs-plus - Emacs Plus formulae for the Homebrew package manager

ostree-rs-ext - Rust library with higher level APIs on top of the core ostree API

guix - Read-only mirror of GNU Guix — pull requests are ignored, see https://guix.gnu.org/en/manual/en/guix.html#Submitting-Patches instead