Skip to content

SpitfireGG/nixspin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nixspin ❄️

Welcome to nixspin.
nixspin is a repo dedicated for beginners and intermediate nix & nixos users to gain more ensight on the Nix programming language. This documentation covers all the core areas of the nix programming language along with some exercises to actually learn Nix through practice

Nix Version License PRs Welcome

🚀 Getting Started

Getting Started

  • Writing first program, Hello world (covered in ch00)

Core Concepts

  • Data types (covered in ch01)

Data Structures

  • Sets (covered in ch02)
  • Lists (covered in ch03)

Functional Programming

  • Functions - Extended (covered in ch04)

Lazy & Strict evaluations

  • Lazy Evaluation (covered in ch05)

Advanced Features

  • Set attribute selection, inheritance and merging (covered in ch06)
  • Working with files & paths (covered in ch07)
  • Debugging & Tracing (covered in ch08)

Ecosystem Integration

  • Working with common libraries (covered in ch09)
  • Working with Module system utilities (covered in ch10)
  • Understanding function signatures (covered in ch11)

🛠 Practical Usage

  • File System Operations
  • Lazy Evaluation Patterns
  • Debugging Techniques
Future contents & ongoing progress
  • Derivation Patterns
  • Working with Nix flakes
  • NixOS Module System
  • Advanced Package Composition
  • Performance Optimization
  • Real-world Project Templates

💡 Why This Guide?


Learning Path

focuses on practical understanding over theoretical perfection:

  • Learn essential concepts with clear examples
  • Build skills progressively
  • Avoid common pitfalls
  • Learn what you'll actually use
# official docs & other resources 
recursive_learning = throw "confusion";

# this repo focuses on 
learning_path = lib.foldl (acc: x -> acc + x) 0 [
  "clarity"
  "examples"
  "practicality"
];

You can contibute to the repo for beginners and intermediates to learn actively, you'r contributions matter: If you: Found a bug? Open an Issue Got an idea? Suggest Content Fixed a typo? Submit PR

🔧 Under Active Development
⭐ Star to Show Support - Helps others find this resource

About

❄️ nixspin - Learn Nix programming through small exercises!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors