NixOS on the Framework Laptop 12

Guide is live, but we are adding to it and retooling some of it as of Aug 1st 2025, so it may evolve as time goes on.

Debugging guide for tablet mode:

3 Likes

Hello!

We’ve got quite a few NixOS tips and tricks building up in the various threads here, so I thought I’d go ahead and create a singular thread to consolidate them all!

Now we’ve just got to find them again…

3 Likes

Merged threads, opened this back up.

1 Like

Thanks a bunch!

Say, @Matt_Hartley, I was just curious as to what it would take to make NixOS an officially supported Linux distribution? Don’t around half the team over at Framework use it, as I recall Nirav saying? :sweat_smile:

1 Like

Just for good measure I want to add that generally kernel modules can be loaded either in the first stage or the second stage of the boot process. The difference in the configuration.nix file being

boot.initrd.kernelModules = [ "< a kernel module >" ]; <- loaded by the initrd i.e. in the first stage

boot.kernelModules = [ "< a kernel module >" ];<- loaded in the second stage

Forpinctrl_tigerlake to be loaded before soc_button_arrayit has to be loaded in the first stage. So make sure to add

boot.initrd.kernelModules = [ “pinctrl_tigerlake” ];

to configuration.nix.

2 Likes
{ config, … }: { boot.initrd.kernelModules = [ "pinctrl_tigerlake" ]; }

I wonder if we can keep adding to this one…

1 Like

At one point you leave the realm of guidance and enter the realm of hand-holding. :smiley:

1 Like

In my experience, you can do both if you work backwards from the answer. :smirking_face: