From 4d90a1bfb1045feb88c7991e1ae0a331c868fe45 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Fri, 10 Nov 2023 10:58:27 +0800 Subject: [PATCH] Publish "Speeding up NixOS package search on the terminal" --- .../assets/nix-search-part-demo.webm | Bin 0 -> 132154 bytes .../index.adoc | 224 ++++++++++++++++++ 2 files changed, 224 insertions(+) create mode 100644 content/posts/2023-11-10-speeding-up-nixos-package-search-on-the-terminal/assets/nix-search-part-demo.webm create mode 100644 content/posts/2023-11-10-speeding-up-nixos-package-search-on-the-terminal/index.adoc diff --git a/content/posts/2023-11-10-speeding-up-nixos-package-search-on-the-terminal/assets/nix-search-part-demo.webm b/content/posts/2023-11-10-speeding-up-nixos-package-search-on-the-terminal/assets/nix-search-part-demo.webm new file mode 100644 index 0000000000000000000000000000000000000000..888dbaccdbf9fd730e1ec92e70326b9add6cc93b GIT binary patch literal 132154 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 vUx^ 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/s8 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ƾ|sO4BM%W>lRgHp9%WJ0v?TFKeD=1Bpd38&{~48G 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 +2023-11-10 + +:doccontentref: refs/heads/content/posts/2023-11-10-speeding-up-nix-package-search-on-the-terminal + + +For those who are using the new command-line interface of Nix, you've most likely went through to pain of searching packages through `nix search`. +For reference, here's what the experience looks like searching for a package from nixpkgs except it always like that every time you run the command. footnote:[Not necessarily, just every few hours as you'll see why.] + +[#video:nix-search-demo] +.A part of the `nix search nixpkgs` experience which took 8 minutes in total to complete the whole search +video::./assets/nix-search-part-demo.webm[] + +It is painful to use to the point where people tend to recommend https://search.nixos.org/packages[search.nixos.org] or https://mynixos.com/[MyNixOS] for searching packages. footnote:[They also include searching for NixOS options so that may be another reason these tools are always recommended.] +Ideally, searching packages for your system shouldn't rely on online services. +Luckily for us, there are ways how to mitigate against that. + +[chat, Ezran] +==== +I'm just going to say it. +That package search result looks ugly. +==== + +[chat, foodogsquared, role=reversed] +==== +That might be another reason why `nix search` is not much used. +==== + +[WARNING] +==== +We're using Nix v2.18 for this post. +Everything that is featured here is considered to be experimental: from flakes, the command-line interface, and even the referenced manual may change over time. + +In order to enable them in the first place, you'll have to add `experimental-features = nix-command flake` into the Nix configuration (see man:nix.conf[5, service=debian, subpath=/unstable] for more details). +==== + + + + +[#whats-happening-with-nix-search] +== What's happening with `nix search` + +But first, let's take a closer inspection as to why `nix search` is behaving like that. +Let's look at the following command which is https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-search[one of the examples from the manual]. + +[source, shell] +---- +nix search nixpkgs blender +---- + +At first glance, most people expect `nix search nixpkgs blender` searches for package `blender` from their nixpkgs instance. +It does work as intended which is searching through packages from nixpkgs containing the word `blender`. +Just not our own nixpkgs instance. +It just doesn't behave to how most people expect as they overlook one thing about flakes: the registry. +Per https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-registry[the manual]: + +[#quote:flake-registry-intro] +[quote, Nix manual] +____ +Flake registries are a convenience feature that allows you to refer to flakes using symbolic identifiers such as `nixpkgs`, rather than full URLs such as `git://github.com/NixOS/nixpkgs`. +You can use these identifiers on the command line (e.g. when you do `nix run nixpkgs#hello`) or in flake input specifications in `flake.nix` files. +The latter are automatically resolved to full URLs and recorded in the flakeā€™s `flake.lock` file. +____ + +In short, `nixpkgs` from `nix search nixpkgs blender` points to a flake from the registry. +We can view what `nixpkgs` points to by running `nix registry list`. + +[#lst:cmd-nix-registry-list] +.Results from `nix registry list | grep flake:nixpkgs` +[source] +---- +global flake:nixpkgs github:NixOS/nixpkgs/nixpkgs-unstable +---- + +As stated from https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-registry-list[the manual], the format from the `nix registry list` output comes in the form of ` ` where... + +* `type` denotes which registry it came from (which we'll discuss shortly later in this post). +* `from` typically contains the flake identifier. +* `to` refers to the flake reference it points to (e.g., `github:NixOS/nixpkgs`, `github:nixos-community/home-manager`). + +We can see that nixpkgs points to the github:NixOS/nixpkgs[nixpkgs-unstable branch, rev=nixpkgs-unstable]. +In other words, `nix search nixpkgs blender` is pretty much the same as the following command. + +[source, shell] +---- +nix search github:NixOS/nixpkgs/nixpkgs-unstable blender +---- + +This seems fine except the flake reference isn't pointing to a fixed point like a specific commit or a local path, footnote:[That is not under version control.] it points to a branch of a remote Git repo which can change over time. + +So every time you run the command, `nixpkgs` resolves to the most recent version of nixpkgs-unstable. +This is why it downloads and evaluates a new nixpkgs instance every time it runs (or between every few hours which is the pace for nixpkgs-unstable updates). +Not exactly a good experience for a system package search compared to other operating systems like Arch Linux, Fedora, or OpenSUSE. + +[chat, Ezran] +==== +Seem like flake registry is not a convenience feature at all. +More like a hindrance, really. +==== + +[chat, foodogsquared, role=reversed] +==== +It is a CONVENIENCE FEATURE! +I use it to quickly test and run packages from my nixpkgs instance as well as other projects with flake. + +It's just that most NixOS systems are not properly configured with it by default. +You'll see what I mean. +==== + + + + +[#pinning-nixpkgs-to-the-registry] +== Pinning nixpkgs to the registry + +Most would expect to search packages in their nixpkgs instance of their NixOS system. +As hinted from the previous section, we can make use of multiple registries. +As stated right after the <>: + +[#quote:manual-multiple-flake-registries] +[quote, Nix manual] +____ +There are multiple registries. +These are, in order from lowest to highest precedence: + +* The global registry, which is a file downloaded from the URL specified by the setting `flake-registry`. +It is cached locally and updated automatically when it's older than `tarball-ttl` seconds. +The default global registry is kept in https://github.com/NixOS/flake-registry[a GitHub repository]. + +* The system registry, which is shared by all users. +The default location is `/etc/nix/registry.json`. +On NixOS, the system registry can be specified using the NixOS option `nix.registry`. + +* The user registry `~/.config/nix/registry.json`. +This registry can be modified by commands such as `nix registry pin`. + +* Overrides specified on the command line using the option `--override-flake`. +____ + +A quick way to show this would be pinning `nixpkgs` from the global registry to the user registry with `nix registry pin nixpkgs`. + +.Results from `nix registry list | grep 'flake:nixpkgs'` after pinning +[source, shell] +---- +user flake:nixpkgs github:NixOS/nixpkgs/ec750fd01963ab6b20ee1f0cb488754e8036d89d +global flake:nixpkgs github:NixOS/nixpkgs/nixpkgs-unstable +---- + +[NOTE] +==== +Since we're going to show configuring the system registry with NixOS, don't forget to remove the entry from the user registry with `nix registry remove nixpkgs`. +==== + +Both the global and system registry can be configured in the NixOS system. +In this case, we'll be focusing on adding our flake inputs of our NixOS system into the system registry. + +Here's a snippet of how to add them into the system registry. + +[#lst:nixos-set-system-registry] +.`flake.nix` +[source, nix] +---- +include::git:{doccontentref}~2[path=flake.nix] +---- + +In this snippet, we just included every single flake input including our own configuration (which we renamed it from `self` to `config`). +Once we rebuild our NixOS system with `nixos-rebuild`, we should now see our flake inputs included in the system registry. + +.Results from `nix registry list | grep '^system'` +[source] +---- +system flake:config path:/nix/store/zhsja37x6q5jr66ildj1xlfn4bqgcbgy-source?lastModified=1699451030&narHash=sha256-%2B2GZOcuOHyJADZFLH7JjTu4j3lojhqkPmsOvHmLnJdY%3D +system flake:nixpkgs path:/nix/store/k904fsh46wbh4b998qjxhfcps716r5gx-nixos-23.11.20231104.85f1ba3/nixos +system flake:nixpkgs-stable path:/nix/store/3s69yxbbl116zwga3i6cy7prplywq0bn-source?lastModified=1699291058&narHash=sha256-5ggduoaAMPHUy4riL%2BOrlAZE14Kh7JWX4oLEs22ZqfU%3D&rev=41de143fda10e33be0f47eab2bfe08a50f234267 +system flake:nixpkgs-unstable path:/nix/store/mj0hy52z22q5gpsf33akndxiclxd8ray-source?lastModified=1699343069&narHash=sha256-s7BBhyLA6MI6FuJgs4F/SgpntHBzz40/qV0xLPW6A1Q%3D&rev=ec750fd01963ab6b20ee1f0cb488754e8036d89d +---- + +[#sidebar:setting-user-registry-in-home-manager] +.Setting user registry in home-manager +**** +We could also set the user registry with github:nixos-community/home-manager[opts=repo] footnote:[Though, you cannot modify the user registry with `nix registry` subcommands once home-manager fully manages it.]. +It even has the same option attribute as the NixOS system (i.e., `nix.registry`) so you could just set it once like in the following snippet. + +[#lst:nixos-and-home-manager-set-registry] +.`flake.nix` +[source, nix] +---- +include::git:{doccontentref}[path=flake.nix] +---- +**** + +If we run `nix search nixpkgs blender` once again, it should still evaluate but it should be done only once since: + +* We have `nixpkgs` pinned to our nixpkgs instance. +* We're fully taking advantage of https://www.tweag.io/blog/2020-06-25-eval-cache/[flake evaluation caching] meaning subsequent package searches should be (almost) instantaneous. + +By configuring our registry through NixOS, we're only evaluating nixpkgs once until we update our flake inputs with `nix flake update`. + +[chat, Ezran, role=full] +==== +So instead of suffering every time you run the command like in the <>, you suffer at least once every update. +==== + +As another bonus, we can now take advantage of other `nix` subcommands such as `nix build`, `nix shell`, or `nix develop`. + +[source, shell] +---- +# These commands should now use our nixpkgs instance. Hoorah! +nix run nixpkgs#neofetch +nix develop nixpkgs#gcc +nix build nixpkgs#vale +nix search nixpkgs asciidoctor + +# From the previous example, we can quickly run packages from other nixpkgs +# branch easily. +nix shell nixpkgs-stable#hugo +nix shell nixpkgs-unstable#hugo +----