cashmere

cashmere

Nix

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