# NixOS on the Framework Laptop 12

**URL:** <https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962>\
**Category:** Linux\
**Tags:** nixos\
**Created:** [April 3, 2025, 12:38am UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962 "2025-04-03T00:38:46Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matt\_Hartley](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/matt_hartley/32/13623_2.png) [@Matt\_Hartley](https://community.frame.work/u/Matt_Hartley)\
**Post date:** [April 3, 2025, 12:38am UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/1 "2025-04-03T00:38:46Z")

</div>

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.

> **[NixOS on the Framework Laptop 12](https://guides.frame.work/Guide/NixOS+on+the+Framework+Laptop+12/412?lang=en)**
>
> How to install NixOS on a Framework Laptop 12

Debugging guide for tablet mode:

> <https://github.com/FrameworkComputer/linux-docs/blob/main/framework12/debugging.md#framework-12---debugging>

---

<div class="post-metadata">

**Author:** ![Matt\_Hartley](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/matt_hartley/32/13623_2.png) [@Matt\_Hartley](https://community.frame.work/u/Matt_Hartley)\
**Post date:** [April 3, 2025, 12:38am UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/2 "2025-04-03T00:38:48Z")

</div>



---

<div class="post-metadata">

**Author:** ![Matt\_Hartley](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/matt_hartley/32/13623_2.png) [@Matt\_Hartley](https://community.frame.work/u/Matt_Hartley)\
**Post date:** [April 3, 2025, 12:38am UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/3 "2025-04-03T00:38:59Z")

</div>



---

<div class="post-metadata">

**Author:** ![Matt\_Hartley](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/matt_hartley/32/13623_2.png) [@Matt\_Hartley](https://community.frame.work/u/Matt_Hartley)\
**Post date:** [August 2, 2025, 12:32am UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/4 "2025-08-02T00:32:47Z")

</div>



---

<div class="post-metadata">

**Author:** ![syvlorg](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/syvlorg/32/36685_2.png) [@syvlorg](https://community.frame.work/u/syvlorg)\
**Post date:** [July 31, 2025, 3:30pm UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/5 "2025-07-31T15:30:38Z")

</div>

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…

---

<div class="post-metadata">

**Author:** ![Matt\_Hartley](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/matt_hartley/32/13623_2.png) [@Matt\_Hartley](https://community.frame.work/u/Matt_Hartley)\
**Post date:** [August 2, 2025, 12:42am UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/6 "2025-08-02T00:42:37Z")

</div>

Merged threads, opened this back up.

---

<div class="post-metadata">

**Author:** ![syvlorg](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/syvlorg/32/36685_2.png) [@syvlorg](https://community.frame.work/u/syvlorg)\
**Post date:** [August 2, 2025, 1:19am UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/7 "2025-08-02T01:19:11Z")

</div>

Thanks a bunch!

---

<div class="post-metadata">

**Author:** ![syvlorg](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/syvlorg/32/36685_2.png) [@syvlorg](https://community.frame.work/u/syvlorg)\
**Post date:** [August 3, 2025, 3:43pm UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/8 "2025-08-03T15:43:19Z")

</div>

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? 😅

---

<div class="post-metadata">

**Author:** ![benstor214](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/benstor214/32/35901_2.png) [@benstor214](https://community.frame.work/u/benstor214)\
**Post date:** [August 3, 2025, 8:22pm UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/9 "2025-08-03T20:22:35Z")

</div>

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`_

For`pinctrl_tigerlake` to be loaded before `soc_button_array`it has to be loaded in the first stage. So make sure to add

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

to configuration.nix.

---

<div class="post-metadata">

**Author:** ![syvlorg](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/syvlorg/32/36685_2.png) [@syvlorg](https://community.frame.work/u/syvlorg)\
**Post date:** [August 3, 2025, 8:48pm UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/10 "2025-08-03T20:48:20Z")

</div>

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

```

I wonder if we can keep adding to this one…

---

<div class="post-metadata">

**Author:** ![benstor214](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/benstor214/32/35901_2.png) [@benstor214](https://community.frame.work/u/benstor214)\
**Post date:** [August 3, 2025, 9:18pm UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/11 "2025-08-03T21:18:11Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![syvlorg](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/syvlorg/32/36685_2.png) [@syvlorg](https://community.frame.work/u/syvlorg)\
**Post date:** [August 3, 2025, 10:52pm UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/12 "2025-08-03T22:52:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Bluto](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/bluto/32/12518_2.png) [@Bluto](https://community.frame.work/u/Bluto)\
**Post date:** [September 23, 2025, 2:23pm UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/13 "2025-09-23T14:23:54Z")

</div>

I just received my Framework 12 yesterday afternoon.

I used the graphical Nixos install for 24.11 (my current daily driver).

Installed first time with one tiny issue: I had to use a usb mouse during install - touchpad did not work. after install, touchpad was fine.

I love this new machine. The framework 12 is a killer design for my use cases. As most ML/AI is now cloud/api, a less powerful i3 does everything I need.

Nixos has saved me about 2 days of fiddling on install.

---

<div class="post-metadata">

**Author:** ![Bluto](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/bluto/32/12518_2.png) [@Bluto](https://community.frame.work/u/Bluto)\
**Post date:** [September 23, 2025, 2:29pm UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/14 "2025-09-23T14:29:19Z")

</div>

Also - I see many tech support people have been multi-year helpers here. Thank You. This whole framework thing is working out well for me. @Matt_Hartley

Other killer features: pick my own keyboard (Italian) - a great option.

---

<div class="post-metadata">

**Author:** ![vratnik](https://avatars.discourse-cdn.com/v4/letter/v/a5b964/32.png) [@vratnik](https://community.frame.work/u/vratnik)\
**Post date:** [June 30, 2026, 3:53am UTC](https://community.frame.work/t/nixos-on-the-framework-laptop-12/66962/15 "2026-06-30T03:53:36Z")

</div>

Anyone using NixOS on the Framework 12 have any luck getting SR-IOV to work? I’ve been struggling with it
