Hi, I’m new to NixOS, I’ll link all relevant files here. I bought a Framework 13 laptop with the Ryzen 9 AI series CPU. After idling for a bit my system will completely lock up, the DE is still responsive, I can still open terminals and librewolf instances but when opening kitty the shell won’t start, librewolf is unresponsive, btop won’t start, etc. Tried updating my firmware with fwupd, that didn’t fix the issue. I’m considering switching back to Arch; could this be a hardware compatibility problem since this CPU is so new?
# configuration.nix
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
hardware.enableRedistributableFirmware = true;
services.udev.packages = with pkgs; [ brillo ];
# Fingerprint authentication
services.fprintd = {
enable = true;
tod.enable = true;
tod.driver = pkgs.libfprint-2-tod1-goodix;
};
# Enable fingerprint for sudo and login
security.pam.services = {
sudo.fprintAuth = true;
login.fprintAuth = true;
su.fprintAuth = true;
};
boot.kernelParams = [
"amdgpu.runpm=0"
"amdgpu.dpm=1"
];
hardware.opengl = {
enable = true;
# driSupport = true;
# driSupport32bit = true;
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# services.ucodenixrenable = true;
services.fwupd.enable = true;
environment.variables.NIXPKGS_QT6_QML_IMPORT_PATH = "${pkgs.kdePackages.qt5compat}/lib/qt-6/qml";
# Use latest kernel.
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.dani = {
isNormalUser = true;
description = "dani";
extraGroups = [ "networkmanager" "wheel" "video"];
packages = with pkgs; [];
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
programs.hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
};
services.tailscale.enable = true;
systemd.tmpfiles.rules = [
# Set permissions for AMD GPU backlight brightness control
"z /sys/class/backlight/amdgpu_bl*/brightness 0664 root video -"
];
services.udev.extraRules = ''
SUBSYSTEM=="backlight", GROUP="video", MODE="0664"
'';
programs.steam = {
enable = true;
#package = pkgs.steam-millennium;
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# Hardware/system tools
framework-tool
fwupd
polkit
usbutils
pciutils
stow
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [ 22 ];
networking.firewall.allowedUDPPorts = [ 22 ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It‘s perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.11"; # Did you read the comment?
}
# flake.nix
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
ucodenix.url = "github:e-tho/ucodenix";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# Add Millennium flake (temporarily disabled)
#millennium.url = "github:SteamClientHomebrew/Millennium";
};
outputs = { self, nixpkgs, ucodenix, home-manager, ... }@inputs: {
nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
inputs.ucodenix.nixosModules.default
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.dani = import ./home.nix;
home-manager.extraSpecialArgs = { inherit inputs; };
}
# Import Millennium overlay
#{
# nixpkgs.overlays = [ inputs.millennium.overlays.default ];
#}
];
};
};
}
# home.nix
{ config, pkgs, inputs, ... }: {
home.username = "dani";
home.homeDirectory = "/home/dani";
home.stateVersion = "25.11";
home.packages = with pkgs; [
# Terminal & Shell
kitty zsh oh-my-zsh fzf fastfetch pfetch btop zoxide
# Browsers
firefox librewolf
# Editors & Tools
neovim git wget nnn libreoffice
# Hyprland
waybar rofi hyprcursor hyprsunset hyprpaper waypaper
bibata-cursors
# Media
steam moonlight-qt vesktop prismlauncher mpv gimp krita godot
swayimg
# Utilities
wl-clipboard cliphist speedtest protonvpn-gui
kdePackages.dolphin brillo pywal mako quickshell claude-code
kdePackages.ark
# Libraries
nodejs yarn python315
];
}
# fastfetch
▗▄▄▄ ▗▄▄▄▄ ▄▄▄▖ dani@nixos
▜███▙ ▜███▙ ▟███▛ ----------
▜███▙ ▜███▙▟███▛ OS: NixOS 26.05 (Yarara) x86_4
▜███▙ ▜██████▛ Host: Laptop 13 (AMD Ryzen AI)
▟█████████████████▙ ▜████▛ ▟▙ Kernel: Linux 6.18.2
▟███████████████████▙ ▜███▙ ▟██▙ Uptime: 12 mins
▄▄▄▄▖ ▜███▙ ▟███▛ Packages: 1397 (nix-system), )
▟███▛ ▜██▛ ▟███▛ Shell: bash 5.3.3
▟███▛ ▜▛ ▟███▛ Display (NE135A1M-NY1): 2880x]
▟███████████▛ ▟██████████▙ WM: Hyprland 0.52.2 (Wayland)
▜██████████▛ ▟███████████▛ Cursor: Bibata Classic (24px)
▟███▛ ▟▙ ▟███▛ Terminal: nnn
▟███▛ ▟██▙ ▟███▛ CPU: AMD Ryzen AI 9 HX 370 (2z
▟███▛ ▜███▙ ▝▀▀▀▀ GPU: AMD Radeon 890M Graphics]
▜██▛ ▜███▙ ▜██████████████████▛ Memory: 3.18 GiB / 30.64 GiB )
▜▛ ▟████▙ ▜████████████████▛ Swap: 0 B / 33.70 GiB (0%)
▟██████▙ ▜███▙ Disk (/): 92.87 GiB / 1.76 Ti4
▟███▛▜███▙ ▜███▙ Local IP (wlp192s0): 192.168.2
▟███▛ ▜███▙ ▜███▙ Battery (FRANGWA): 100% (83 d]
▝▀▀▀ ▀▀▀▀▘ ▀▀▀▘ Locale: en_US.UTF-8