NixOS on the Framework Laptop 16

I have documented a similar issue here: Running Guix on Framework 16 - #12 by dileas

I am able to trigger it waking up from suspend consistently, but I have observed that the controllers occasionally die after a while as well.

Seems to be a driver/power thing.

I am having issues with power profiles. I am on the latest unstable and using the latest kernel.
I have the line services.power-profiles-daemon.enable = true; as it was the recommended setting iirc
Yet according to KDE Power there are no power profiles available, and it certainly isn’t running on powersave when on battery.
Anyone know a fix or a better power profile setting?

I recently switched from Fedora40 to NixOS. I have ordered the LED matrix modules, I was wondering if there are packages or settings I need to do to use them? Is there something I can setup before I can tinker with them? I didn’t see it mentioned on the framework 16 wiki or any reference to NixOS.

I’m also trying to figure this out. I’ve found that opening https://ledmatrix.frame.work/ in chromium will see the devices but I get javascript errors when trying to actually use them with the tool. I have also found this GitHub - FrameworkComputer/inputmodule-rs: Framework Laptop 16 Input Module SW/FW but i’m not entirely sure how to set this up as a nixpkg.

check with powertop if there are issues

in my case there were and I was able to optimize them

you can automatically run the tlp service by doing this:

services.tlp.enable = true;

it optimizes the tunables except for USB, which caused me issues

1 Like

Same issue on NixOS and KDE, I turned it down to like 25% and it sounds fine. I normally use an external mic, so it caught me be surprise.

Hi Susan,

I’m really interested by your incredibly straightforward installation.
Mine is painful, I can’t even boot on the usb installation drive.

Would you tell me how you did proceed?

Many thanks

I really didn’t do much of interest.

  • I used the standard installer, so I didn’t have to manually choose initial hardware settings
  • I migrated my package list, language and keyboard layout, and GUI preferences from an old config on my previous laptop.

I can provide configs if anyone is interested. Another interesting tidbit might be that when I posted that, I was using Xorg+i3wm as my graphical environment. I’ve since switched to Wayland+Sway in the hope of a more modern experience and better performance… it’s been lacking. I’m still puzzling along due to my concerns over Xorg’s age and whether it’s getting enough maintenance attention, but it has been a painful experience. I wonder how much of others’ bad experiences has to do with their choice in DE or WM. Some of them strong-arm things that I’m accustomed to managing more manually.

Another note is that I never did find time to play with settings related to power consumption, etc. Life just got too busy.

I’ve been using NixOS since I got my Framework, and it’s been wonderful so far tbh. I’m running Wayland + Hyprland (+ hyprlock, hyprpaper, etc, and waybar), Librewolf, an idle kitty terminal session and an Emacs session with 108 buffers loaded, and I’m getting around 18W of power draw with the power profile set to “balanced”. I’d love to make further improvements - my last work laptop was an Apple M2 MBP, and the difference in battery life and heat between the two machines is wild. Anything to reduce the gap is very welcome. (I understand that the architectures are different and that that + the custom made OS makes those devices very power efficient).

My entire dotfiles (not just for framework, but for all my Nix & NixOS machines): ~johnhamelink/nix - sourcehut git

1 Like

Do you have secure boot enabled? IIRC, the NixOS install media isn’t signed so secure boot won’t allow it to boot.

1 Like

Many thanks for the proposal! I’m at the really beginning of my journey with Nix so, it seems that I’m heading serious challenges .

I think this is my problem but I wasn’t able to remove secure boot … Feel dumb.

You shouldn’t! It’s easy to forget how complicated computers are. It sounds like you’re solving a problem that you don’t know much about yet, you’re looking for help in the right place, and that’s 99% of computer troubleshooting.

Normally, when you boot the USB drive, you’ll get a menu with boot options for NixOS. If you get an error message that the drive can’t be booted instead, that’s probably caused by having Secure Boot enabled (it’s enabled by default).

To disable Secure Boot, reboot into the firmware setup, select “Administer Secure Boot” and set “Enforce Secure Boot” to Disabled. You can get to firmware setup by repeatedly pressing F2 when the laptop is first turning on or by running sudo systemctl reboot --firmware-setup from another Linux distro (some are signed and can be booted with Secure Boot enabled).

Correct audio config for Framework 16.

Hello, here is my configuration.nix:

specifically the audio config:

  # Audio
  security.rtkit.enable = true;
  # hardware.pulseaudio.enable = false;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    jack.enable = true;
  };

This audio config has been partially stolen from other configs I have seen.

Bios setting for audio has been set to compatibility linux

I have no idea if this is correct, the speakers work but I noticed the audio is quieter than they should be. I think i had working audio previously that was louder but that was such early days I don’t think I captured that config in my git. Any suggestions? Thanks.

For anyone using hyprland and easyeffects you could add “exec-once = easyeffects --gapplication-service” in the wayland.windowManager.hyprland , extraConfig to have it load with your sound defaults at startup.