#readwise # Nix Pills ![rw-book-cover](https://readwise-assets.s3.amazonaws.com/static/images/article1.be68295a7e40.png) ## Metadata - Author: [[Luca Bruno]] - Full Title: Nix Pills ## Summary Nix is a language used to create package derivations for building software. The nix-build tool helps build these derivations from expressions. It provides an isolated environment for developers, making it easier to debug and modify software. The nixpkgs repository contains many useful functions and packages for Nix users. ## Highlights The [Nix](https://nixos.org/manual/nix), [Nixpkgs](https://nixos.org/manual/nixpkgs/), and [NixOS](https://nixos.org/manual/nixos/) manuals along with [the wiki](https://wiki.nixos.org/) are excellent resources for explaining how Nix/NixOS works, how you can use it, and how cool things are being done with it. ([View Highlight](https://read.readwise.io/read/01jd11y8he5xkrmek35g79r6mb)) --- **A profile in Nix is a general and convenient concept for realizing rollbacks.** Profiles are **used to compose components that are spread among multiple paths under a new unified path.** Not only that, but profiles are made up of multiple "generations": **they are versioned. Whenever you change a profile, a new generation is created**. Generations can be switched and rolled back atomically, which makes them convenient for managing changes to your system. ([View Highlight](https://read.readwise.io/read/01jd12fwjq28shmw1gw5yb4e0k)) --- The second profile we discover is the channels profile. `~/.nix-defexpr/channels` points to `/nix/var/nix/profiles/per-user/nix/channels` which points to `channels-1-link` which points to a Nix store directory containing the downloaded Nix expressions. **Channels are a set of packages and expressions available for download. Similar to Debian stable and unstable, there's a stable and unstable channel.** In this installation, we're tracking `nixpkgs-unstable`. ([View Highlight](https://read.readwise.io/read/01jd12rvwb7whcmhg57w324h3v)) ^7nbue1 ---