Top all-time · #1295
Graham Christensen
Personal blog · grahamc.comsystemsprogramming
Graham Christensen's personal blog at grahamc.com covers systems and programming. Since 2015, 57 different Hacker News readers have linked it 83 times, most often “Optimising Docker Layers for Better Caching with Nix”. No feed was found, so read it on the site itself.
Most-linked posts?
- Optimising Docker Layers for Better Caching with Nix20 people · 27 mentions · first linked 2018-10-01
- Erase your darlings: immutable infrastructure for mutable systems16 people · 22 mentions · first linked 2020-04-13
- Erase Your Darlings15 people · 16 mentions · first linked 2023-03-31
- NixOS on the Framework4 people · 4 mentions · first linked 2021-07-29
- /blog/nix-and-layered-docker-images/4 people · 4 mentions · first linked 2023-03-28
- Flakes are such an obviously good thing: but the design and development proc3 people · 3 mentions · first linked 2021-05-09
- An EPYC NixOS Build Farm3 people · 3 mentions · first linked 2018-08-02
- ZFS Datasets for NixOS2 people · 2 mentions · first linked 2020-04-11
What Hacker News says?
Yea and the best part was that installing NixOS was dead easy. I followed Graham Christensen's instructions[1] and had nix create a personalized image with the latest linux kernel and some other stuff. Then I just flashed and booted from that image after partitioning. Honestly it was dead simple and its so hard to go back to the ad-hoc system config style a la Arch linux and other distros. I'm probably a lost cause…
Comment linking /blog/nixos-on-framework
on “The new and upgraded Framework Laptop”Submitted Erase your darlings: immutable infrastructure for mutable systems as a story · 365 points
HN discussionNix combined with a tmpfs root fixes this. You have no choice but to opt-in to state, or you lose it. https://grahamc.com/blog/erase-your-darlings
Comment linking /blog/erase-your-darlings
on “Screw it, I’ll host it myself”Submitted Optimising Docker Layers for Better Caching with Nix as a story · 137 points
HN discussionIf you were really hardcore you'd erase your entire OS whenever you're done for the day: https://grahamc.com/blog/erase-your-darlings/
Comment linking /blog/erase-your-darlings/
on “Firefox tab groups are here”Submitted An EPYC NixOS Build Farm as a story · 109 points
HN discussion> The configuration.nix "defines" the whole system, but obviously doesn't touch anything in /home https://github.com/nix-community/home-manager > or /var, so that's on you to back up, migrate, whatever. https://grahamc.com/blog/erase-your-darlings https://github.com/nix-community/impermanence
Comment linking /blog/erase-your-darlings
on “The Curse of NixOS”Submitted Erase your darlings: immutable infrastructure for mutable systems as a story · 77 points
HN discussionNot sure if you're aware since you already mentioned Nix, but Nixpkgs has a nice function to export "graph-layered" Docker images[0]. There is some overhead in the conversion, but the rest of the build can be parallelized by Nix as usual. [0]: https://grahamc.com/blog/nix-and-layered-docker-images
Comment linking /blog/nix-and-layered-docker-images
on “How Containers Work: Overlayfs”Submitted Optimising Docker Layers for Better Caching with Nix (2018) as a story · 58 points
HN discussionI hope they succeed in this business model. In this day and age that companies and government want more and more control over our machines, we should prefer these transparent products even if it performs slightly worse than state-of-the-art. If you're wondering about NixOS experience on Framework laptop, there is this blog post I've recently read: https://grahamc.com/blog/nixos-on-framework
Comment linking /blog/nixos-on-framework
on “Linux on the Framework Laptop”Submitted NixOS on the Framework as a story · 35 points
HN discussionAs my comment implies, nix and nixpkgs can do what `linuxkit` does (in terms of image building, at least) but better and in a more powerful manner. I can create nix derivations that look like a linuxkit yaml, but instead of having a bunch of opaque sha256 hashes to some container in them, it has symbolic references to packages that are defined in my nixpkgs repository. This nixpkgs repository includes package defini…
Comment linking /blog/nix-and-layered-docker-images
on “12 Factor CLI Apps”Submitted An EPYC NixOS build farm as a story · 11 points
HN discussionSmaller docker images for one: https://grahamc.com/blog/nix-and-layered-docker-images Nix gives repoducibility, docker gives repeatability but not reproducibility . Also see the video "Use flake.nix, not Dockerfile": https://www.youtube.com/watch?v=0uixRE8xlbY you can swim upstream and make your own docker image reproducible, but that doesn't change an ecosystem of images that aren't
Comment linking /blog/nix-and-layered-docker-images
on “Show HN: Devbox – Easy, predictable shells and containers”Submitted ZFS Datasets for NixOS as a story · 6 points
HN discussionIt’s really not that bad. However, with a standard NixOS setup, you still have a tremendous amount of non-reproducible state, both inside user accounts and in the system. I’m running a “Erase your darlings” setup, it mostly gets rid of non-reproducible state outside my user account. It’s a bit of a pain, but then what isn’t on NixOS. https://grahamc.com/blog/erase-your-darlings/ Inside my user account, I don’t bothe…
Comment linking /blog/erase-your-darlings/
on “Nix is a better Docker image builder than Docker's image builder”Submitted NixOS on a Dell 9560 as a story · 4 points
HN discussionTechnically Dockerfiles don't let you do that (they used to https://github.com/moby/moby/issues/13026 ) but in theory it should be possible to construct a Docker image from multiple base images (e.x. https://grahamc.com/blog/nix-and-layered-docker-images )
Comment linking /blog/nix-and-layered-docker-images
on “New for AWS Lambda: Use Any Programming Language and Share Common Components”Submitted Optimising Docker Layers for Better Caching with Nix as a story · 3 points
HN discussionSorry to be that person but: As someone who's been using NixOS as their daily driver for about three years (after switching to it from Debian) and is currently trying out a MacBook I can tell you that NixOS provides a very different experience than everything else you've mentioned (including macOS). The only other OS I'm aware of that it's comparable to is Guix System which is distantly related to NixOS. NixOS in it…
Comment linking /blog/erase-your-darlings/
on “Apple Exclaves”Submitted Docker isn't so bad as a story · 3 points
HN discussionLike I said, it was very preliminary research... I reached the bit where pypi2nix did "nix-env -if https://github.com/garbas/pypi2nix/tarball/master" and wasn't super happy about the implications of "just use master" for production readiness. If it works, though, that's great! The more general point though is that in my experience no tool is perfect, or completely done, or without problems. E.g. the cited https://gr…
Comment linking /blog/nix-and-layered-docker-images
on “Simple Dockerfile examples are often broken by default”Submitted Erase Your Darlings as a story · 2 points
HN discussionGood points, but it's amusing that his solution to #1 didn't lock down the patch version, nor the distro around it. I think that also makes a decent point for Nix[0], which solves #1-#3 by default (since choosing a particular version of Nixpkgs locks down the whole environment, and considers the build as a DAG of dependencies rather than a linear history). It also supports exporting Docker images, while preserving N…
Comment linking /blog/nix-and-layered-docker-images
on “Simple Dockerfile examples are often broken by default”Submitted Nix Flakes are such an obviously good thing as a story · 2 points
HN discussionUse nixos to run your k8 cluster if you are insane (or have the $$$ for salaries) enough to run your own k8. See https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/s... Specifically "services.kubernetes.apiserver.enable = true" My strong recommendation is to use nix to generate super optimised and amazing docker images then use them with k8 on a PaaS. https://grahamc.com/blog/nixos-on-zfs If using k8 (self h…
Comment linking /blog/nixos-on-zfs
on “Erase your darlings: immutable infrastructure for mutable systems”Submitted Flakes are such an obviously good thing: but the design and development proc as a story · 2 points
HN discussion> You can easily have a bunch of generations you just think are ok. Unless you erase your darlings: https://grahamc.com/blog/erase-your-darlings
Comment linking /blog/erase-your-darlings
on “5 Years of Pop _OS”Submitted Erase Your Darlings (2020) as a story · 1 points
HN discussion