Skip to content

technology

Arch is a gateway drug to NixOS

Most Linux users cut their teeth on a "batteries included" distro. Ubuntu, Fedora, Debian, or an equally easy-to-use option is a common way to get started with Linux.

At some point these distros fall short. You may want to try a tiling window manager or desktop environment that isn't offered out of the box, and while you can shoehorn these in, it eventually becomes easier (and cleaner) to build your system up from a minimal base than it would take to bend a pre-configured distro into shape.

Understanding Nix

Nix is kind of a weird one. When I first found myself on its webpage, I'd arrived there having clicked something describing it as a functional language, but found myself facing this headline:

Declarative builds and deployments.

The website then went on to talk about Nix as tool, and one that solves package management and system configuration. At this point I've also noticed that I'm on nixos.org, which I've heard about but isn't the domain I expected to be on while digging into a functional language.

Reference iterators in Rust

One thing you've likely noticed when writing Rust is how its ownership system makes heap allocations fairly explicit. One way to avoid these when iterating is to yield references to heap-allocated objects, rather than copies. While simple in theory, this concept can get complex rather quickly in practice.