NixOS on the Framework Laptop 16

Appreciate that. We’re still getting this sorted, selection, etc. But yes, it’s going to be a community support distro with the NixOS community behind its support.

6 Likes

It looks like it works. I created a flake in my repository (in flakes directory) for it based on Quentin’s module. Do you know what the difference is between the official Framework ectool and DHowett’s?

Nice! I think I’ll stick with the kernel module since it works with DE’s and makes more sense for scripting.

The official ectool doesn’t have the nice commands such as fwchargelimit and such.

DDR5’s performance over DDR4 negates the need for multiple sticks. The bandwidth of a single stick of DDR5 is double that of DDR4. At least this is what I have gathered from DDR5 memory – Everything you need to know | Crucial.com.

I have also figured out my stuttering issues. Turns out it was my power cable causing the laptop to run in a lower power state or something.

It is still single channel memory. AMD prefers dual channel. Bandwidth helps but channels is what is important. At least for AMD. Intel takes less of an issue with how many channels you are using.

Good. At least that takes care of your major issues.

If anybody has the LED panels for next to the keyboard, I’ve created a flake for installing the inputmodule-control program: nix/flakes/inputmodule-rs at main · caffineehacker/nix · GitHub

I’m planning (when I get time) to write a service that can swap between modes and do more complex scenarios. My ideal state is to be able to use them as a ticker tape for notifications and messages.

1 Like

Batch 11 here. Initially had an issue with the keyboard & trackpad but that turned out to be a BIOS setting on the 3.03 BIOS (be sure to leave “Force Power for Input Modules” set to “Require Modules” if neither are working for you).

Everything else is working great on NixOS. For anyone looking for references with documentation: https://github.com/psiri/nixos-config

Some features:

  • Flakes
  • Impermanence
  • Disko (declarative disk formatting, partitioning, FS management)
  • home-manager
  • secrets management with sops-nix.
    • Options for both separate (encrypted) secrets in a private repo (what I use) and repo-local secrets (still encrypted, but for those that want to keep everything in a public repo)
    • Also some references here for injecting build-time secrets into configs which I couldn’t find great documentation for:
      • keeping networkmanager configuration parameters as secrets, etc
  • All key hardware functioning:
    1. fingerprint reader
    2. camera
    3. mic
    4. keyboard/trackpad
    5. Bluetooth & WiFi (added reg domain fix for Mediatek cards from the FW13 thread too)
    6. power management (PPD)
    7. Firmware updates

Shout out to @CodeMichael’s config too - helped a ton

3 Likes

If anybody out there is like me, using XMonad and having problems with Steam, be reassured that it’s not the FW16, it’s not NixOS or ZFS or impermanence or whatever, it’s really just Steam and XMonad: Fixes/workarounds for Steam client menus/flickering by liskin · Pull Request #886 · xmonad/xmonad-contrib · GitHub

hello, I’m having a strange issue with my nixos system. I’m new to nixos and just started yesterday after getting the framework. Shutdowns and reboots work on fedora 40 live USB and nixos live USB, but not on my custom config. I can see systemd shut the whole system down, but the keyboard LED does not turn off and the power button’s LED is also still on. So the screen goes black after systemd shuts the system down, but all the hardware is still active. Reboots have the same behavior but it just stays at a black screen and doesn’t go to the next boot.

Config heavily based on LibrePhoenix’s
Config: GitHub - hyperboly/nix-dotfiles: trying out nix

Edit: resolved. problem was the newest 23.11 kernel (6.1.91). Switched to stable zen kernel fixed it. 6.8.6-zen1.

Will running nixos on a vm give me the ability to start messing around with my actual laptop configuration or should I just wait until I get it?

1 Like

Yes, in the end the hardware part is generally fairly small, and most can be provided by using nixos-hardware.
Going through a VM is IMHO the best way to start playing with NixOS :slightly_smiling_face:

Anyone have any experience running Windows as a guest VM on a NixOS system on the Framework 16? Any example configs, tips/tricks, etc.? How well is it running?

I’m going to have NixOS as my main OS on a 2280 drive and run the Windows 11 VM on the 2230 directly.

There’s a whole thread about it along with some details and links to nix repos. Happy to try to answer questions, but yeah it works and seems to run just fine.

1 Like

I’m very excited to dig back into that thread in probably a week, nixing myself into oblivion and getting all the games running :smiley:

OMG, I’m right where you’re gonna be, right now. Somehow got my FW16 and am now trying to get NixOS up and going… I got the bare minimum Gnome install running at the moment, but really want to mess with Hyprland (I used i3 on an Arch system for about 5 years) but also am a big City Skylines nut and need Windows on here for that as well.

@CodeMichael How can I satisfy my Unixporn urges along with my wannabe city planner desires while still having a good Evil Emacs setup for the devops stuff I do?

Why not play Cities Skylines with Proton on Linux? Both 1 and 2 run great.
With Gamescope you also won’t have any of the wayland-specific issues that arise with tiling window managers sometimes.

1 Like

Agreed that running native is often great and I love not dealing with windows at all, but if you want to run a windows vm and attach your dgpu to it, you can do that too.
There are several links to git repos in the VM thread with details on how to get that running. My personal repo needs updating but the version that’s in there has a bunch of good info and should be able to get you running.

Where are your pain points? Nothing you’re saying seems to be exclusive.

I’ve been using Sway on my desktop for the last 5 years or so, and I’ve been pretty happy with it in general. I’ve been trying hyprland lately for giggles, and there are some things I really like about it, but I’m not sure I’m going to stick with it as I’ve hit quite a few bugs when trying to play steam games and I’m not sure why but I’m also not sure I’m motivated to figure it out. I think I’m going to check out the state of Cosmic before going back to Sway, however.

I had no idea… I’ve been away far too long. OK, let’s do that then!

You know what? Yeah I’d like to try Cosmic myself before anything, PopOS fan that I am.

So how do I get this going then? Right now I’ve managed just the minimal Gnome NixOS install. Everything seems to be up and running except for

  • the RGB controllers for the keyboard and macropad… (via in the browser isn’t connecting and I’m sure that’s a rabbit I’m gonna hate.)
  • The trackpad doesn’t turn off when I’m typing. I’ve dealt with this before on another linux distro way back, and it took me a bit to figure it out. Ahh, nostalgic…
  • Bluetooth is borked… I know it worked on the live USB so not sure whats up with that…

So I’ve got my job ahead of me. If all I need to do is do a sudo nixos-rebuild switch on another config and take care of these issues quickly so I can get to tinkering I’m all for it, otherwise I’m probably going to pop Ubuntu on the other drive so I can have something stable to work with when I get back to work Tuesday…

Also had that issue, most issues like that are solved by adding the nixos-hardware Flake for the Framework 16. See here GitHub - NixOS/nixos-hardware: A collection of NixOS modules covering hardware quirks.
Or if you don’t want to add the nixos-hardware flake, you can also just add hardware.keyboard.qmk.enable = true to your config to get it to work.

On Wayland this is dependent on the compositor, since here the compositor manages libinput. Check your compositor’s/desktop’s config to see if you can find anything.

Check if Bluetooth is blocked with rfkill list all. If it is, unblock it with rfkill unblock bluetooth or whatever it is called in rfkill there.
If it still doesn’t work, check Bluetooth - NixOS Wiki.
Normally, any desktop you use should already do that, but there shouldn’t be any harm in adding the config twice.

1 Like