Thicket data repository for the EEG
at main 5.9 kB view raw
1{ 2 "id": "https://mort.io/blog/nixos-channels/", 3 "title": "NixOS channels", 4 "link": "https://mort.io/blog/nixos-channels/", 5 "updated": "2023-12-13T00:00:00", 6 "published": "2023-12-13T00:00:00", 7 "summary": "<p>I don’t pretend to understand <a href=\"https://nixos.org/\">NixOS</a> configuration fully\nyet, what with Flakes and channels and so forth. But I did find the following\nusful to setup channels consistently so that I could have a single config that\nused both.</p>\n<pre><code><span><span><span>sudo</span></span><span> nix-channel<span><span> --</span>list <span><span>#</span></span><span> to list known channels</span><span>\n</span></span></span></span><span><span><span>sudo</span></span><span> nix-channel<span><span> --</span>remove</span> nixos <span><span>#</span></span><span> to remove a channel</span><span>\n</span></span></span><span><span><span>sudo</span></span><span> nix-channel<span><span> --</span>add</span> https://nixos.org/channels/nixos-unstable nixos <span><span>#</span></span><span> to go bleeding edge</span><span>\n</span></span></span></code></pre>\n<p>…ultimately resulting in:</p>\n<pre><code><span><span><span>$</span></span><span> nix-channel<span><span> --</span>list <span><span>#</span></span><span> channels are stored per-user, and $(whoami) != root</span><span>\n</span></span></span></span><span><span><span>$</span></span><span> sudo nix-channel<span><span> --</span>list</span></span>\n</span><span><span><span>nixos</span></span><span> https://nixos.org/channels/nixos-unstable</span>\n</span><span><span><span>nixpkgs</span></span><span> https://nixos.org/channels/nixos-unstable</span>\n</span></code></pre>\n<p>Upgrading to the latest release is then something like:</p>\n<pre><code><span><span><span>pushd</span></span><span> <span><span>~</span></span>/rc-files/nixos/</span>\n</span><span><span><span>sudo</span></span><span> nix-channel<span><span> --</span>update</span></span>\n</span><span><span><span>nix</span></span><span> flake update</span>\n</span><span><span><span>sudo</span></span><span> nixos-rebuild switch<span><span> --</span>upgrade-all</span></span>\n</span><span><span><span>popd</span></span>\n</span></code></pre>\n<p>…and finally, garbage collecting old versions once you’re satisfied the new\none works:</p>\n<pre><code><span><span><span>sudo</span></span><span> nix-collect-garbage<span><span> -</span>d</span></span>\n</span><span><span><span>nix-collect-garbage</span></span><span><span><span> -</span>d</span></span>\n</span><span><span><span>sudo</span></span><span> nix-store<span><span> --</span>gc</span></span>\n</span><span><span><span>nix-store</span></span><span><span><span> --</span>gc</span> </span>\n</span></code></pre>\n<p>And yes, some of the incantations above might be a little cargo-cultish and not\nstrictly necessary. But at various points they’ve seemed necessary to me, and\nnow they’re in my shell history, they’re what I got.</p>", 8 "content": "<p>I don’t pretend to understand <a href=\"https://nixos.org/\">NixOS</a> configuration fully\nyet, what with Flakes and channels and so forth. But I did find the following\nusful to setup channels consistently so that I could have a single config that\nused both.</p>\n<pre><code><span><span><span>sudo</span></span><span> nix-channel<span><span> --</span>list <span><span>#</span></span><span> to list known channels</span><span>\n</span></span></span></span><span><span><span>sudo</span></span><span> nix-channel<span><span> --</span>remove</span> nixos <span><span>#</span></span><span> to remove a channel</span><span>\n</span></span></span><span><span><span>sudo</span></span><span> nix-channel<span><span> --</span>add</span> https://nixos.org/channels/nixos-unstable nixos <span><span>#</span></span><span> to go bleeding edge</span><span>\n</span></span></span></code></pre>\n<p>…ultimately resulting in:</p>\n<pre><code><span><span><span>$</span></span><span> nix-channel<span><span> --</span>list <span><span>#</span></span><span> channels are stored per-user, and $(whoami) != root</span><span>\n</span></span></span></span><span><span><span>$</span></span><span> sudo nix-channel<span><span> --</span>list</span></span>\n</span><span><span><span>nixos</span></span><span> https://nixos.org/channels/nixos-unstable</span>\n</span><span><span><span>nixpkgs</span></span><span> https://nixos.org/channels/nixos-unstable</span>\n</span></code></pre>\n<p>Upgrading to the latest release is then something like:</p>\n<pre><code><span><span><span>pushd</span></span><span> <span><span>~</span></span>/rc-files/nixos/</span>\n</span><span><span><span>sudo</span></span><span> nix-channel<span><span> --</span>update</span></span>\n</span><span><span><span>nix</span></span><span> flake update</span>\n</span><span><span><span>sudo</span></span><span> nixos-rebuild switch<span><span> --</span>upgrade-all</span></span>\n</span><span><span><span>popd</span></span>\n</span></code></pre>\n<p>…and finally, garbage collecting old versions once you’re satisfied the new\none works:</p>\n<pre><code><span><span><span>sudo</span></span><span> nix-collect-garbage<span><span> -</span>d</span></span>\n</span><span><span><span>nix-collect-garbage</span></span><span><span><span> -</span>d</span></span>\n</span><span><span><span>sudo</span></span><span> nix-store<span><span> --</span>gc</span></span>\n</span><span><span><span>nix-store</span></span><span><span><span> --</span>gc</span> </span>\n</span></code></pre>\n<p>And yes, some of the incantations above might be a little cargo-cultish and not\nstrictly necessary. But at various points they’ve seemed necessary to me, and\nnow they’re in my shell history, they’re what I got.</p>", 9 "content_type": "html", 10 "author": { 11 "name": "Unknown", 12 "email": null, 13 "uri": null 14 }, 15 "categories": [], 16 "source": "https://mort.io/atom.xml" 17}