Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #1295

G

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.

No feed foundVisit the blog
83mentions?
57HN people?
2015–2026first – last linked?
Links on Hacker News per year · peak 20 in 2021

Most-linked posts?

  1. Optimising Docker Layers for Better Caching with Nix
    20 people · 27 mentions · first linked 2018-10-01
  2. Erase your darlings: immutable infrastructure for mutable systems
    16 people · 22 mentions · first linked 2020-04-13
  3. Erase Your Darlings
    15 people · 16 mentions · first linked 2023-03-31
  4. NixOS on the Framework
    4 people · 4 mentions · first linked 2021-07-29
  5. /blog/nix-and-layered-docker-images/
    4 people · 4 mentions · first linked 2023-03-28
  6. Flakes are such an obviously good thing: but the design and development proc
    3 people · 3 mentions · first linked 2021-05-09
  7. An EPYC NixOS Build Farm
    3 people · 3 mentions · first linked 2018-08-02
  8. ZFS Datasets for NixOS
    2 people · 2 mentions · first linked 2020-04-11

What Hacker News says?

  1. 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”
  2. Submitted Erase your darlings: immutable infrastructure for mutable systems as a story · 365 points

    HN discussion
  3. Nix 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”
  4. Submitted Optimising Docker Layers for Better Caching with Nix as a story · 137 points

    HN discussion
  5. If 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”
  6. Submitted An EPYC NixOS Build Farm as a story · 109 points

    HN discussion
  7. > 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”
  8. Submitted Erase your darlings: immutable infrastructure for mutable systems as a story · 77 points

    HN discussion
  9. Not 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”
  10. Submitted Optimising Docker Layers for Better Caching with Nix (2018) as a story · 58 points

    HN discussion
  11. I 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”
  12. Submitted NixOS on the Framework as a story · 35 points

    HN discussion
  13. As 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”
  14. Submitted An EPYC NixOS build farm as a story · 11 points

    HN discussion
  15. Smaller 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”
  16. Submitted ZFS Datasets for NixOS as a story · 6 points

    HN discussion
  17. It’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”
  18. Submitted NixOS on a Dell 9560 as a story · 4 points

    HN discussion
  19. Technically 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”
  20. Submitted Optimising Docker Layers for Better Caching with Nix as a story · 3 points

    HN discussion
  21. Sorry 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”
  22. Submitted Docker isn't so bad as a story · 3 points

    HN discussion
  23. Like 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”
  24. Submitted Erase Your Darlings as a story · 2 points

    HN discussion
  25. Good 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”
  26. Submitted Nix Flakes are such an obviously good thing as a story · 2 points

    HN discussion
  27. Use 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”
  28. Submitted Flakes are such an obviously good thing: but the design and development proc as a story · 2 points

    HN discussion
  29. > 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”
  30. Submitted Erase Your Darlings (2020) as a story · 1 points

    HN discussion

Search all of HN for grahamc.com

Linked by the same people?