NixOS on the Framework Laptop 16

I tried to reply with sample configuration, but something in the text (?!) triggered CloudFlare’s blocking logic. So instead, I put my reply in a Gist:

Pinned. I am in the process of working with the NixOS community right now (literally in chat in another tab) for a community support program.

Soon, once we get everything dialed in, you will see NixOS recommendations in the nearish future.

13 Likes

Truly awesome news :heart::heart:

My 2 cents: having Framework officially maintaining the profiles for the FW13 and FW16 in nixos-hardware would already help a lot.
And ideally, when a new board or FW model is released, contribute the profile beforehand so that it’s ready to use when we get our laptops.

4 Likes

Hey there @Term_Grecos. Why shouldn’t you use Ryzen products with only 1 stick of ram? What’s the problem with this? I’ve been an intel guy for so many years and my upcoming Framework will be my first foray into AMD.

Hello everyone. I’m a classic Ubuntu guy in the past, but I’m considering giving nix a chance with the framework, just to see if I like it. Where should I get started? I’m used to the batteries included approach, and I have dabbled in the bare minimums approach a couple times, years ago, so I’m not too up on that.

I’ve seen several configs posted here and will probably reference one or all of them if I decide to use nix. What is a good, basic, useable nix setup for a complete newbie?

AMD processors are heavily dependent on memory. They basically design their processors to need two sticks of RAM to function well or properly. Pretty much everyone uses at least two sticks anyhow so it never really is an issue for most people. You can look up videos online to know the exact percentage but it is substantial enough to just not do it. You want to use only two sticks or maybe four if you want a small decrease in performance but never one or three.

I just downloaded the iso and looked up a basic video on installing programs. Installing stuff is quite easy.

Use this for looking up packages. If there are any errors, delete the relevant packages. And do not tab. Use spaces.
https://search.nixos.org/packages?channel=23.11&from=0&size=50&sort=relevance&type=packages&query=

Hrm…I ordered a single 32gb stick intending to order another in a few months…am I going to see a really bad performance level until I pick up a second one? If that’s true I might have to wiggle the budget around a bit.

I’d read that DDR5 was already inherently dual-channel per stick, so opted for a single large stick with the option of upgrading in the future. DDR5 memory – Everything you need to know | Crucial.com

I’ve since switched to Proton Experimental Bleeding Edge, and the crashing is less prevalent (about once per game in THE FINALS, and once every few missions in Helldivers 2).

The real odd thing is, that my performance in HD2 is terrible for maybe half a mission, and then is just perfectly fine for the next while. I did manage to get THE FINALS to run smoothly once, but haven’t reproduced it since.

I’m also seeing extremely odd frequency fluctuations on the dGPU, with clocks hovering between a few hundred MHz to 2k+, memory clock 96MHz to 1124MHz. Power also goes rapidly anywhere between 13-97W. This is while sitting in the spawn in the practice range for THE FINALS. I’m considering opening a separate thread to troubleshoot this.

Did you get a further down the TLP rabbit hole? I’m traveling next week and I’m thinking about power management.

It will drop, just look at people benchmarking and testing it to know how much. It should not reduce performance by more than 20%. Since you are planning to buy another stick it won’t be a problem for most applications. You don’t need to be too concerned about budgeting. It is more so a self sabotage if you stick with one stick for a long period of time or for forever.

Is there a proven working NixOS config (iGPU-only) that I could use as a reference?

(Currently I don’t get graphics to work with NixOS: both Xorg or sway fail to start and complain something along the lines of “no gpu found”. I tried both with the FW13 AMD settings and with the autodetected settings from nixos-generate-config from the installer, but somehow no success yet. (Ubuntu and Fedora run fine))

1 Like

Can you share your configuration please ?

Using the FW13 settings, I was able to run KDE on both Xorg and Wayland, and XMonad (which runs on Xorg only), dGPU or iGPU

I would be very interested in something like this as well. I will also have the iGPU only and I intend to use sway with it. It will hopefully arrive in a few days, so it would be awesome to be ready. c:

Now I’ve got a basic config where graphics (and wifi) seems to work GitHub - seb314/nixos-fw16

(I didn’t isolate the root of my previous problem yet - once I had the config isolated, the graphics issue was gone :slight_smile: )

(Note this is not a full practical config, just a near-minimal working example for the graphics. e.g. audio is not configured.)

@eko fyi sway seems to work fine for me now (I haven’t tested fingerprint reader or webcam yet, though). I mostly followed the docs for home-manager’s sway support.

That’s great! Thanks for the update c: I can’t wait to try it once I get mine!

Question regarding the custom PPD version that is recommended for Ubuntu:

For Ubuntu, the FW16 guide urges to use a custom version of power-profiles-daemon (PPD) Optimizing Ubuntu Battery Life from the Mario Limonciello PPA.

Does anyone know what modifications there are in this version, and if it would be worth it / possible to get them in nixos too?

(Anecdotally, I’ve observed that idle power consumption on ubuntu seems to go down below 6W on power-saver and lowest screen brightness, while my current NixOS setup doesn’t get below 10W. Not sure if that is due to the PPD or some other difference)

iirc, the changes were just things that weren’t included in a tagged release yet. But all of those should be included in a tagged release by now.
You are fine with using the power-profiles-daemon from nixpkgs-unstable.

Wtih Hyprland I get around 5-6W of idle usage. This is without a GPU, 50% screen brightness and keyboard backlight turned off.