Talk
Intermediate

Nix: new way to create reproducible builds

Approved

Nix is a declarative package manager that enables users to declare the desired system state in configuration files (declarative configuration), and it takes responsibility for achieving that state. Nix consists of two parts: a package manager and a language. Nix programming language is a rather simple lazy (almost) pure functional with dynamic typing that specializes in building packages. The package manager, on the other hand, is interesting and pretty unique.

In simple terms, "declarative configuration" means that users only need to declare the desired outcome. For instance, if you declare that you want to replace the i3 window manager with sway, Nix will assist you in achieving that goal. You don't have to worry about the underlying details, such as which packages sway requires for installation, which i3-related packages need to be uninstalled, or the necessary adjustments to system configuration and environment variables for sway. Nix automatically handles these details for the user (provided that the Nix packages related to sway and i3 are properly designed).

NixOS, a Linux distribution built on top of the Nix package manager, can be described as "OS as Code." It employs declarative Nix configuration files to describe the entire state of the operating system.

Since it has a very steep learning curve, I would take this opportunity to talk about nix and its glorious purpose!


None
FOSS

Joel Samuel Raj A
Software Engineer
Speaker Image

0 %
Approvability
0
Approvals
1
Rejections
0
Not Sure
Vague CFP
Reviewer #1
Rejected