Description
Nix is one of my mainly used Programming Languages to configure my Linux.
Definition
Nix builds packages in isolation from each other. This ensures that they are reproducible and don’t have undeclared dependencies, so if a package works on one machine, it will also work on another.
Snippets
uutils instead of coreutils :Rust :Nix:NixOS:
environment.systemPackages = [
(lib.hiPrio pkgs.uutils-coreutils-noprefix)
];
Find NixOS configuration examples on Github
language:nix programs.starship.settings
Who is nix for?
Nix is a tool for people who both need computers to do exactly as intended, repeatably, far into the future, and who are familiar with command line interfaces and plain text editors.
You don’t have to be a professional software developer and you don’t need formal education in informatics to greatly benefit from Nix. However, experience with complex software projects and knowing some informatics helps with appreciating why it’s useful and how it works. And it helps with learning how to use it effectively and how to make improvements.
You probably won’t want to go back to a world without Nix if you’re a:
Full-stack or back-end developer
Test engineer
Embedded systems developer
DevOps engineer
System administrator
Data scientist
Natural scientist
Student of a technical field
Open source software enthusiast