When comparing Puppy Linux vs Nix os , the Slant community recommends Nix os for most people. In the question“What is the best Linux distro for the most up-to-date packages?” Nix os is ranked 5th while Puppy Linux is ranked 13th. The most important reason people chose Nix os is:
It has all of hackage in it's package manager (which is confusingly named "nix" as well) due to being based around hashing and allowing you to compile in a sort of virtual machine (really just changing the PATH variable temporarily) it solves many of the versioning problems that you commonly have with cabal. Here's a tutorial (there's many others as well) http://www.cse.chalmers.se/~bernardy/nix.html. Also I should note that you can use the package manager a la carte on Mac and most any linux distro.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Extremely low minimum system requirements
Puppy Linux requires 128MB of RAM and 333Mhz of CPU, although 256MB of RAM is recommended.
Pro The whole OS runs off of RAM
Since Puppy Linux is completely loaded and run off of RAM instead of HDD, it's read/write speed is not a factor.
Pro Designed to run as a live USB/CD
A portable version, that can be carried on a thumb drive without requiring installation, weighs less than 100MB; a Live CD - less than 150MB. You can even save your settings and files for Puppy on the external device/media.
Running off a live CD also has security benefits, as your system will reset to the known config after each boot.
Pro Different distro based versions available
Puppy Linux offers a few different releases.
The first is an Ubuntu based release called Tahrpup, by using this version the user is able to take advantage of all software and support from Ubuntu.
The second version is called Slacko, which is built upon the Slackware binaries.
The third is called Wary and it is built to support older hardware than the rest.
And the fourth is called Quirky, which is used as a base to explore new ideas.
Pro Linux distro designed for this exact purpose
Pro Offers a long term support release
Puppy Linux offers an LTS release called Precise.
Pro It can be the only distro that works
Sometimes, Puppy Linux is the only distro that works on an old machine: all other distros are more demanding.
Pro JWM used as window manager
JWM is a low resource window manager that is used in most Puppy Linux installs.
Pro Great for Haskell development
It has all of hackage in it's package manager (which is confusingly named "nix" as well) due to being based around hashing and allowing you to compile in a sort of virtual machine (really just changing the PATH variable temporarily) it solves many of the versioning problems that you commonly have with cabal. Here's a tutorial (there's many others as well) http://www.cse.chalmers.se/~bernardy/nix.html.
Also I should note that you can use the package manager a la carte on Mac and most any linux distro.
Pro Upgrading the system is extremely reliable
Since NixOS stores all its packages in isolation from each other in /nix/store
and because of the declarative configuration model, upgrading NoxOS systems is extremely reliable. Furthermore, it gives you the ability to roll back upgrades.
Pro Extremely reproducible state of installation
Every package in your system is generated from a configuration file. This makes it very easy to reproduce that environment. Just copy the config file into a new machine and it's done.
Pro Versatile snapshot system
You can use and test snapshots without rebooting. Booting into snapshots or test configurations is possible without risking the system's stability.
Pro Has docker like system built in
Pro Allows parallel configurations for multiple projects
As everything is isolated, you can have on the same machine multiple configurations to meet project requirements that would be mutually exclusive on other OSes.
Cons
Con A bit ugly
Using puppy makes you feel like you just jumped 20 years into the past. Being that the purpose of Puppy Linux is to run or really low resource machines the software used is often on the older side, which is precisely why it has a 20 year old look.
Con Not as light as it used to be
It's light, but not as light as it was 1-2 years ago.
Con Smallest software library ever
You can barely find any precompiled packages for Puppy.
Con No built in compositing
Being a low resource distro there is zero built in compositing for the JWM window manager. Though one can be added through a bit of work.
Con The configuration language is hard to figure out
For good reason. It's a purely functional language. However not even close to bash.