NixOS on the Framework (blog review)

Anyone know if there is a 21.11 version of a minimal iso with the latest kernel similar to this one referenced in Graham’s blog?

21.11 just came out 3 days ago, so the downloads on NixOS - Getting Nix / NixOS should be new enough (even the graphical ones).

My understanding is that 21.11 still ships with kernel 5.10.

It appears you’re right; trying out the minimal image from download page in VirtualBox I see it’s running 5.10.

From what I see, it looks like you’ll have to use that 21.05 iso, or install Nix somewhere else and build the iso yourself.

I did the later when I went from Pop!_OS to NixOS on my Framework a couple weeks ago. Just installed it in Pop, and followed the “Optionally, Building Our Own Live Media” section of the blog post.

I am not able to start wpa_supplicant after booting to the minimal iso containing kernel 5.14.16. Get the "Failed to open config file ‘/etc/wpa_supplicant.conf’ error. That file doesn’t exist.

Does kernel 5.14.16 support the Intel card?

Anyone have a link to an iso that just works?

BTW, did Graham Christensen take down his page?

Mine still works after downgrading to 5.14.21.

I’m going to try building an ISO for you and upload it.

Here’s the ISO I made. It has kernel 5.14.21 and the Plasma 5 DE. I’ve booted it on my Framework and can connect to my password protected WiFi network.

1 Like

Hey thanks for that. I came up with an alternative solution, though. I found an old USB-ethernet dongle and used that with the latest NixOS minimal iso. So I now have NixOS 21.11 installed with kernel 5.15.4, but wireless is not working.

When I booted with that new iso, I was getting errors to stdout and effectively couldn’t do anything at the command line, so I disabled wifi from BIOS and installed NixOS that way. After it was installed, I reenabled wifi in the BIOS and set up wireless in configuration.nix.

I am wondering if I need to add something to hardware-configuration.nix that didn’t get configured because my wifi was disabled in BIOS when I ran nixos-generate-config.

You could probably back up your current config, run nixos-generate-config again, and then merge in any differences.

Thanks. I did that and found the wireless device in configuration.nix was enp0520f0u4u1. After running nixos-generate-config again, it determined the device should have been wlp169s0. Don’t know where that first one came from! Now wireless is working on kernel 5.15.4. Now I get to set up my window manager and everything else!

Thanks again @qbg for your help.

I’m experiencing random shutdowns of the machine, especially when on video calls. It doesn’t do a systemd shutdown, the power just shuts off instantly. This is with a full battery and plugged into an outlet.

Has anyone else experienced this?

Hi! I am thinking of getting a framework, what is the battery like on nix?

@Eugene_Lord Depends on what you do and your hardware configuration.

I have 1x 16 GB memory stick in the Framework. My Nix config uses a combination of powertop’s service, tlp, thermald, and also uses pipewire instead of pulseaudio. I use Plasma as my DE.

With the screen turned down to minimal brightness (but not off), wifi on, bluetooth off, generally no audio playing, and 2x USB C and 2x USB A cards in, I managed:

  1. Idle power draw in the 2.29-2.43 W range
  2. An extrapolated ~9 hour full battery life when using what’s essentially remote desktop.
1 Like

Hello,

I just bought a framework to replace my 8 year old MSI.

My framework currently runs on NixOS 22.11 with ZFS, but I did it with a lot of help from my brother, since he is much more competent that I am for IT stuff, even if I’m on the way to learn, step by step…

I guess I can’t help here a lot, but what I can say is that it works perfectly well from now (installation is very recent, we did it 2 days ago).

Otherwise, I would need some help from the community here for a basic feature: does someone already speed up the framework’s touchpad on NixOS here?

I tried to do it via the system configuration with this parameter:
xserver.libinput.touchpad.accelSpeed = "2";

On the official manual of the configuration.nix, it is explained like that:

services.xserver.libinput.touchpad.accelSpeed
Cursor acceleration (how fast speed increases from minSpeed to maxSpeed).

       Type: null or string

       Default: null

       Example: "-0.5"

       Declared by:
           <nixpkgs/nixos/modules/services/x11/hardware/libinput.nix>

I don’t notice any change on my touchpad’s speed.

EDIT : just to say that I’ve finally found the solution on my own.
I read on another forum that the string in accelSpeed should represent a floating number, between -1 (to lower the speed) and 1 (to higher the speed). At 0.5, I could already notice a way more speedy touchpad than the default config, so I’m happy.