Nixosと他のLinux分布の主な違いは、NixosがLinux標準ベースファイルシステム構造に従わないことです。LSBに準拠したシステム（従来のLinuxシステム）ソフトウェアは /{、usr} /{bin、lib、share}の下に保存され、構成は一般に /etcに保存されます。Nixosでは、しかし /libおよび /usr /libは存在しません。代わりに、すべてのシステムライブラリ、バイナリ、カーネル、ファームウェア、および構成ファイルがNIXストアに配置されます。/nix /ストアのファイルとディレクトリは、構築されたデータを説明する情報のハッシュによって名前が付けられています。Nixosを使用すると、OS構成の一部としてカスタムパッケージを簡単に保持できます。マシンをセットアップするときに実行する命令的なインストールスクリプトを作成するのではなく、システムのパッケージリストにカスタムパッケージをリストするだけで、自動的に構築されます。ただし、ニクソスには、問題につながる2つの基本的な設計上の間違いがあります。Nix開発者は、構成を行うために独自のプログラミング言語を開発しましたが、これはあまり良くなく、学習が非常に困難です。これは貧弱なドキュメントによって悪化しています。NIXを言語として学習するためのドキュメントとNixosを使用するためのドキュメントがありますが、これらの2つのことの間のつながりは本質的に文書化されていません。
これに由来するニクソスに関する他の多くの軽微な苦情があります。パッケージのパッチングは理論的に簡単ですが、実際に行う方法を把握するのは面倒です。2番目の欠陥は、ニクソスが実際に実際の隔離を提供しないことです。これは、すべてのソフトウェアを再コンパイルしてNixosで動作する必要があることを意味します。多くの場合、恐ろしいハッキングが関係しています。また、特定のパッケージが依存する他のパッケージを静的に知ることは不可能であることを意味します。現在、これが実装される方法は、/nix/store/のパッケージを基本的にグレッピングして、依存関係が何であるかを把握しようとすることです。これは最適ではありません。
The main difference between NixOS and other Linux distributions is that NixOS does not follow the Linux Standard Base file system structure. On LSB-compliant systems (traditional linux systems) software is stored under /{,usr}/{bin,lib,share} and configuration is generally stored in /etc . In NixOS however /lib and /usr/lib do not exist. Instead all system libraries, binaries, kernels, firmware and configuration files are placed in the Nix store. The files and directories in /nix/store are named by hashes of the information describing the built data.  NixOS makes it easier to keep custom packages as part of your OS configuration. Rather than writing custom, imperative install scripts to run when setting up your machine, you can simply list your custom packages in your system’s package list, and they will be built automatically.  However there are essentially two fundamental design mistakes in NixOS that lead to the problems with it. Nix developers developed their own programming language to do configuration, which is not very good and is extremely difficult to learn. This is exacerbated by poor documentation — there are docs for learning Nix as a language, and docs for using NixOS, but the connection between those two things is essentially undocumented.
There are many other minor complaints about NixOS that stem from this — patching packages is theoretically easy, but annoying to figure out how to do in practice. The second flaw is that NixOS does not actually provide real isolation. This means that all software needs to be recompiled to work on NixOS, often with some terrifying hacks involved. It also means that it's impossible to statically know what other packages a given package might depend on. Currently, the way this is implemented is essentially grepping a package for /nix/store/ to try to figure out what the dependencies are, which is non optimal.