arisuchan    [ tech / cult / art ]   [ λ / Δ ]   [ psy ]   [ ru ]   [ random ]   [ meta ]   [ all ]    info / stickers     temporarily disabledtemporarily disabled

/tech/ - technology


formatting options

Password (For file deletion.)

Help me fix this shit.

Kalyx ######

File: 1517781589168.png (80.18 KB, 512x443, nix-logo.png)


Discuss or ask questions about Nix / NixOS. Does Alice use any Nix tech?

Nix Language / Package Manager
curl | sh

Source Code:
Package Repository:

NixOS Linux Distro
Source Code:

NixOps (DevOps Tools)
Source Code:

Other Resources

ZSH Completions:

>What is Nix?

Nix is the language used by the Nix package manager and NixOS linux distro. It's a small functional language designed for packaging and building software.

>What platforms does it work on?

Linux (pretty much any distro), MacOS, FreeBSD

>Is it source or binary based?

Most packages have binary caches of their results available, but all of them are derived from source expressions.

>Who is Nix useful for?

Anyone who writes code for Unix platforms can probably find Nix useful.

>What are the primary features of Nix?

- Sandboxed build environments
- Build result caching
- Exact dependency tracking with hashing
- Multi-user package management
- No dependency conflicts (i.e. you can install more than one goddamn thing at a time)
- If it works on my machine, it will work on your machine

>How is NixOS different from Nix?

NixOS is a linux distro built on top of the Nix package manager, using packages entirely from Nixpkgs and the configuration of the entire OS is itself a Nix expression. Examples:

I can start a thread in /λ/ for the language itself if anyone expresses interest.


Why do I need that when Flatpaks exist?


I hadn't honestly heard about Flatpak before, but it looks pretty cool. I'm sure there are advantaged and disadvantages to both, but I'm not familiar with Flatpak so this is my attempt at a comparison.

It's really cool that Flatpak uses a run-time sandbox, Nix uses a build-time sandbox to make sure the build products are pure. The Flatpak website also says that it's intended more for Desktop applications / environments, whereas Nix is much more general. Nix is also a large technology stack, with their own really cool Linux distro, devops tools, CI system, and distributed system builder that all use the same language.

I guess Flatpak uses JSON, so Nix might be more expressive in terms of what you can do. The Flatpak manifest looks kind of like Nix's "derivation files", which are generated as results of evaluating an expression written in the Nix language.

Are all of the dependencies packaged as flatpak things, or just the top-level GUI programs? All Nix dependencies are themselves packaged with Nix, which is how it achieves "purity".

From looking at it for 10 minutes, it seems like Flatpak is a much more polished subset of Nix. But, I could be mistaken - is there anything significant that I left out?


Well the fact that snap > flatpak

[Return] [Go to top] [ Catalog ] [Post a Reply]
Delete Post [ ]