Nix Learning
NixOS is definitely an advanced Linux distro, but it ain't easy to understand overnight or like Archlinux to have easy manual, but it sure has alot on the table. There is whole bunch of families like Nix functional language, Nix package manager… so and on with the prefix "nix".
This is really confusing, many hate nix and are not convinced to go long run just because of this difficulty (mess?). To make a simple thing work as expected, you need to go through such a rabbit hole. But once you know Nix* (families), everything will make sense, and you would feel bad to go back to old traditional Linux manners.
These are some of the learning resources, which are rich in content and nonetheless, will be confusing at some point. But engineers do have spared their time in writing these, taking actions, to reach some audience and solve some of the caveats of Nix. So dig through and learn new ;)
nix-learning
Uncategorized
- Nix Fundamentals (Video)
- A Nix terminology primer by a newcomer - Stéphan Kochen
- What Is Nix
- Getting Started With Nix: Introduction - Nasir Hussain
- Lightning Introduction to Nix for Developers - Robin Schroer
- Nix(OS) Thoughts - ?
- On-demand linked libraries for Nix - Farid Zakaria
- What Is Nix and Why You Should Use It - ?
- NixOS on prgmr and Failing to Learn Nix - Peter Bhat Harkins
- Towards a content-addressed model for Nix - Théophane Hufschmitt
- The easiest way (I've found) to create your own Nix channel - Luc Perkins
- Debugging a dynamic linking bug in a Nix project - Jack Coughlin
- adhoc executable patching on nixos - ?
- Strategies for Binary Relocation In Functional Build Systems - Max McDonnell
- How I Start: Nix - Christine Dodrill
- I was Wrong about Nix - Christine Dodrill
- Purely Functional Configuration Management with Nix and NixOS - Eelco Dolstra
- Basic Use-Cases of the Nix Package Manager - Brandon Gottlob
- Development with Nix: Python - Thomaz Leite
- Dapp tools and the Nix package manager - Mikael Brockman
- NixOS and Stateless Deployment - ?
- Encrypted Secrets with NixOS - Christine Dodrill
- Purely Functional Linux with NixOS - Joe Nelson
- Nix + Bazel = fully reproducible, incremental builds - Mathieu Boespflug, Théophane Hufschmitt
- Reflections On NixOS - Ian Denhardt
- Hardening Compiler Flags for NixOS - Franz Pletz
- Your home in Nix (dotfile management) - Hugo Reeves
- My NixOS Desktop Flow - Christine Dodrill
- Tailscale on NixOS: A new Minecraft server in ten minutes - Christine Dodrill
- Setting up a git server on NixOS - Terin Stock
- NixOS: For developers - Martin Myrseth
- NixOS: Into the deep end - Martin Myrseth
- A Tutorial Introduction to Nix - Rohit Goswami
- Benchmarking nixpkgs builds - Jonas Chevalier
- Recursive Nix experiment - Jonas Chevalier
- Deploying Kubernetes apps with KubeNix - Jonas Chevalier
- Nix - A One Pager - Vincent Ambo
- Moving into NixOS - Gabriel Arazas
- NixOS: the good, the bad, and the ugly - William G Hatch
- Nix: A Reproducible Setup for Linux and macOS - Nicolas Mattia
- Easy Peasy Nix Versions - Nicolas Mattia
- Recovering Nix derivation attributes of runtime dependencies - Nicolas Mattia
<!– TODO: add more from their website –>
- Nix By Example - Susan Potter
- NixOps By Example - Susan Potter
- NixOS By Example - Susan Potter
- Inspecting Nix lambda function named arguments - Susan Potter
<!– TODO: add Tweag Nix flakes –>
Nix the language
- A tour of Nix - an introduction to the Nix Programming Language
Nix Shell
- An introduction to nix-shell - Mattia Gheda
- caching your nix-shell - Farid Zakaria
Nix Flakes
- Building with Nix Flakes for, eh .. reasons! - Yannik Sander
- Nix Flakes edition - Jonas Chevalier
Experience
- Eight Months of NixOS - ash
- Nix is the ultimate DevOps toolkit - Ruud van Asseldonk, Reinier Maas, Falco Peijnenburg, Fabian Thorand, and Robert Kreuzer
Language Specific
Elixir
- Using Nix in Elixir projects - Jean-Philippe
C++
- Setting up a C++ project environment with nix - Jacek Galowicz
Series
Nix by Example - James Fisher
Ian Henry's How to Learn Nix series
- Part 1: What's all this about?
- Part 2: Prior knowledge
- Part 3: What we talk about when we talk about Nix
- Part 4: Quick starts, full hearts
- Part 5: Basic package management
- Part 6: Profiles
- Part 7: Garbage collection
- Part 8: Channels
- Part 9: Learning to share
- Part 10: My first derivation
- Part 11: Okay my actual first derivation
- Part 12: The Nix expression language
- Part 13: Derivations
- Part 14: Built-in Functions
- Part 15: Advanced Topics
- Part 16: Command Reference
- Part 17: Configuration
- Part 18: So I read the manual huh
- Part 19: Switching from Homebrew to Nix
- Part 20: My first Nix bug
- Part 21: My first package upgrade
- Part 22: Setting up a declarative user environment
- Part 23: How to learn Nixpkgs
- Part 24: Overlays
- Part 25: Overriding
These links are extracted from humancalico's git repo (https://github.com/humancalico/nix-learning).
With that sorted, I hope learning becomes good ;)
References
- Nix Fundamentalsyoutu.be
- A Nix terminology primer by a newcomerstephank.nl
- What Is Nixshopify.engineering
- Getting Started With Nix: Introductionnasirhm.github.io
- Lightning Introduction to Nix for Developersblog.sulami.xyz
- Nix(OS) Thoughtsblog.knightsofthelambdacalcul.us
- On-demand linked libraries for Nixfzakaria.com
- What Is Nix and Why You Should Use Itserokell.io
- NixOS on prgmr and Failing to Learn Nixpush.cx
- Towards a content-addressed model for Nixtweag.io
- The easiest way (I've found) to create your own Nix channellucperkins.dev
- Debugging a dynamic linking bug in a Nix projectjohnbcoughlin.com
- adhoc executable patching on nixosnotes.neeasade.net
- Strategies for Binary Relocation In Functional Build Systemsmaxmcd.com
- How I Start: Nixchristine.website
- I was Wrong about Nixchristine.website
- Purely Functional Configuration Management with Nix and NixOSinfoq.com
- Basic Use-Cases of the Nix Package Managerbgottlob.com
- Development with Nix: Pythonthomazleite.com
- Dapp tools and the Nix package managermedium.com
- NixOS and Stateless Deploymentgfxmonk.net
- Encrypted Secrets with NixOSchristine.website
- Purely Functional Linux with NixOSbegriffs.com
- Nix + Bazel = fully reproducible, incremental buildstweag.io
- Reflections On NixOSzenhack.net
- Hardening Compiler Flags for NixOSblog.mayflower.de
- Your home in Nix (dotfile management)hugoreeves.com
- My NixOS Desktop Flowchristine.website
- Tailscale on NixOS: A new Minecraft server in ten minutestailscale.com
- Setting up a git server on NixOSterinstock.com
- NixOS: For developersmyme.no
- NixOS: Into the deep endmyme.no
- A Tutorial Introduction to Nixrgoswami.me
- Benchmarking nixpkgs buildszimbatm.com
- Recursive Nix experimentzimbatm.com
- Deploying Kubernetes apps with KubeNixzimbatm.com
- Nix - A One Pagergithub.com
- Moving into NixOSfoo-dogsquared.github.io
- NixOS: the good, the bad, and the uglywillghatch.net
- Nix: A Reproducible Setup for Linux and macOSnmattia.com
- Easy Peasy Nix Versionsnmattia.com
- Recovering Nix derivation attributes of runtime dependenciesnmattia.com
- Nix By Exampleops.functionalalgebra.com
- NixOps By Exampleops.functionalalgebra.com
- NixOS By Exampleops.functionalalgebra.com
- Inspecting Nix lambda function named argumentsops.functionalalgebra.com
- A Gentle Introduction to the Nix Familyweb.archive.org
- A tour of Nixnixcloud.io
- An introduction to nix-shellghedam.at
- caching your nix-shellfzakaria.com
- Building with Nix Flakes for, eh .. reasons!blog.ysndr.de
- Nix Flakes editionzimbatm.com
- Eight Months of NixOScatgirl.ai
- Nix is the ultimate DevOps toolkittech.channable.com
- Packaging a Maven application with Nixfzakaria.com
- Using Nix in Elixir projectsejpcmac.net
- Setting up a C++ project environment with nixblog.galowicz.de
- Part 1hadean.com
- Part 2hadean.com
- Part 1: The Nix expression languagemedium.com
- Part 1: What's all this about?ianthehenry.com
- Part 2: Prior knowledgeianthehenry.com
- Part 3: What we talk about when we talk about Nixianthehenry.com
- Part 4: Quick starts, full heartsianthehenry.com
- Part 5: Basic package managementianthehenry.com
- Part 6: Profilesianthehenry.com
- Part 7: Garbage collectionianthehenry.com
- Part 8: Channelsianthehenry.com
- Part 9: Learning to shareianthehenry.com
- Part 10: My first derivationianthehenry.com
- Part 11: Okay my actual first derivationianthehenry.com
- Part 12: The Nix expression languageianthehenry.com
- Part 13: Derivationsianthehenry.com
- Part 14: Built-in Functionsianthehenry.com
- Part 15: Advanced Topicsianthehenry.com
- Part 16: Command Referenceianthehenry.com
- Part 17: Configurationianthehenry.com
- Part 18: So I read the manual huhianthehenry.com
- Part 19: Switching from Homebrew to Nixianthehenry.com
- Part 20: My first Nix bugianthehenry.com
- Part 21: My first package upgradeianthehenry.com
- Part 22: Setting up a declarative user environmentianthehenry.com
- Part 23: How to learn Nixpkgsianthehenry.com
- Part 24: Overlaysianthehenry.com
- Part 25: Overridingianthehenry.com
- https://github.com/humancalico/nix-learning).
Leave a comment