[solved]BUG: Bad page state in process fuse mainloop - on kernel 6.13

Hey folks!

New to the community and still beginner at nix and nixos, but loving it so far!

My system has been running smoothly on my framework 13 for months. But a few days ago when i tried upgrading from kernel 6.12 to 6.13 i got some strange applications hangs, seemingly when it comes to media files.

When i try for example apps likte Footage, Switcheroo or Upscayle (all as flatpaks) they all hang when trying to open/load media files.

Captured this from dmesg when Footage hanged:

[  106.752724] BUG: Bad page state in process fuse mainloop  pfn:2119dc
[  106.752730] page: refcount:-1 mapcount:0 mapping:0000000000000000 index:0x3 pfn:0x2119dc
[  106.752733] flags: 0x17fffd000000020(lru|node=0|zone=2|lastcpupid=0x1ffff)
[  106.752737] raw: 017fffd000000020 dead000000000100 dead000000000122 0000000000000000
[  106.752740] raw: 0000000000000003 0000000000000000 ffffffffffffffff 0000000000000000
[  106.752741] page dumped because: PAGE_FLAGS_CHECK_AT_PREP flag(s) set
[  106.752742] Modules linked in: qrtr ccm rfcomm snd_seq_dummy snd_hrtimer snd_seq cmac algif_hash algif_skcipher af_alg bnep btusb btrtl btintel btbcm btmtk bluetooth af_packet nls_iso8859_1 nls_cp437 vfat fat amdgpu snd_sof_amd_acp70 snd_sof_amd_acp63 snd_sof_amd_vangogh snd_sof_amd_rembrandt snd_sof_amd_renoir snd_sof_amd_acp snd_sof_pci snd_sof_xtensa_dsp xt_conntrack snd_sof mt7921e nf_conntrack mt7921_common nf_defrag_ipv6 nf_defrag_ipv4 snd_sof_utils cros_usbpd_charger cros_charge_control leds_cros_ec cros_ec_chardev cros_ec_debugfs cros_usbpd_logger cros_ec_hwmon cros_ec_sysfs gpio_cros_ec led_class_multicolor cros_kbd_led_backlight cros_usbpd_notify mt792x_lib snd_pci_ps snd_soc_acpi_amd_match snd_amd_sdw_acpi soundwire_amd mt76_connac_lib hid_sensor_als snd_hda_codec_realtek hid_sensor_trigger soundwire_generic_allocation industrialio_triggered_buffer mt76 ip6t_rpfilter kfifo_buf soundwire_bus snd_hda_codec_generic hid_sensor_iio_common snd_soc_sdca industrialio snd_hda_scodec_component snd_hda_codec_hdmi
[  106.752812]  cros_ec_dev ipt_rpfilter mac80211 snd_soc_core xt_pkttype snd_compress amdxcp snd_hda_intel drm_exec ac97_bus snd_pcm_dmaengine gpu_sched snd_intel_dspcfg xt_LOG spd5118 intel_rapl_msr hid_multitouch nf_log_syslog hid_sensor_hub snd_rpl_pci_acp6x snd_intel_sdw_acpi cros_ec_lpcs drm_buddy wmi_bmof nft_compat cros_ec snd_acp_pci snd_usb_audio drm_ttm_helper snd_hda_codec cfg80211 snd_usbmidi_lib snd_acp_legacy_common sp5100_tco ttm uvcvideo edac_mce_amd snd_pci_acp6x edac_core snd_hda_core snd_ump drm_suballoc_helper watchdog snd_rawmidi videobuf2_vmalloc amd_atl drm_display_helper snd_pci_acp5x amd_pmf snd_hwdep snd_seq_device snd_rn_pci_acp3x uvc nf_tables rfkill i2c_piix4 intel_rapl_common ucsi_acpi snd_acp_config amdtee cec videobuf2_memops snd_pcm crct10dif_pclmul snd_soc_acpi videobuf2_v4l2 typec_ucsi crc32_pclmul amd_sfh polyval_clmulni i2c_algo_bit polyval_generic ghash_clmulni_intel rapl videobuf2_common snd_timer roles platform_profile k10temp i2c_smbus snd videodev mousedev joydev
[  106.752890]  tiny_power_button mc onboard_usb_dev video soundcore libarc4 snd_pci_acp3x libcrc32c ac battery thermal sch_fq_codel typec backlight wmi i2c_hid_acpi evdev i2c_hid button amd_pmc mac_hid uinput serio_raw loop tun tap macvlan bridge stp llc kvm_amd ccp kvm fuse configfs efi_pstore nfnetlink dmi_sysfs ip_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_crypt cbc encrypted_keys trusted asn1_encoder tee hid_generic usbhid hid input_leds led_class crc32c_intel atkbd sha512_ssse3 libps2 sha256_ssse3 vivaldi_fmap sha1_ssse3 xhci_pci aesni_intel nvme thunderbolt gf128mul xhci_hcd crypto_simd nvme_core cryptd nvme_auth tpm_crb rtc_cmos i8042 serio tpm_tis tpm_tis_core dm_mod dax efivarfs tpm rng_core libaescfb ecdh_generic ecc autofs4
[  106.752971] CPU: 8 UID: 1000 PID: 2896 Comm: fuse mainloop Not tainted 6.13.2 #1-NixOS
[  106.752974] Hardware name: Framework Laptop 13 (AMD Ryzen 7040Series)/FRANMDCP05, BIOS 03.06 10/14/2024
[  106.752975] Call Trace:
[  106.752977]  <TASK>
[  106.752981]  dump_stack_lvl+0x64/0x90
[  106.752987]  bad_page+0x70/0x110
[  106.752992]  __rmqueue_pcplist+0x208/0xd20
[  106.752998]  get_page_from_freelist+0x2e1/0x19a0
[  106.753001]  ? ttwu_queue_wakelist+0xed/0x110
[  106.753004]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753007]  ? try_get_folio+0x5e/0x150
[  106.753011]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753013]  ? gup_fast_fallback+0x7de/0x10d0
[  106.753018]  __alloc_pages_noprof+0x1a3/0x1170
[  106.753022]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753023]  ? get_user_pages_fast+0x47/0x70
[  106.753026]  ? __schedule+0x44a/0x12c0
[  106.753030]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753032]  ? fuse_copy_do+0x92/0xa0 [fuse]
[  106.753041]  alloc_pages_mpol_noprof+0x8f/0x200
[  106.753044]  ? folio_mark_dirty+0x12/0x70
[  106.753048]  folio_alloc_mpol_noprof+0x14/0x40
[  106.753050]  vma_alloc_folio_noprof+0x6b/0xd0
[  106.753053]  do_anonymous_page+0x2cb/0x820
[  106.753056]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753058]  ? ___pte_offset_map+0x1b/0x190
[  106.753061]  __handle_mm_fault+0xb7e/0xfe0
[  106.753067]  handle_mm_fault+0x17f/0x2e0
[  106.753070]  do_user_addr_fault+0x177/0x6b0
[  106.753075]  exc_page_fault+0x71/0x160
[  106.753077]  asm_exc_page_fault+0x26/0x30
[  106.753079] RIP: 0033:0x7fe14a6e9c42
[  106.753103] Code: 8d 34 19 48 39 d5 48 89 75 60 0f 95 c2 48 29 d8 48 83 c1 10 0f b6 d2 48 83 c8 01 48 c1 e2 02 48 09 da 48 83 ca 01 48 89 51 f8 <48> 89 46 08 e9 3d ff ff ff 48 89 df e8 4d e8 ff ff 48 89 c1 48 85
[  106.753104] RSP: 002b:00007fe13a7fb870 EFLAGS: 00010202
[  106.753106] RAX: 000000000001d9d1 RBX: 0000000000002040 RCX: 00007fe124001600
[  106.753107] RDX: 0000000000002045 RSI: 00007fe124003630 RDI: 0000000000000000
[  106.753108] RBP: 00007fe124000030 R08: 0000000000000000 R09: 0000000000000001
[  106.753109] R10: 0000000000000004 R11: 0000000000000000 R12: 0000000000002030
[  106.753110] R13: 0000000000000000 R14: 0000000000000202 R15: 00007fe124000090
[  106.753116]  </TASK>
[  106.753117] Disabling lock debugging due to kernel taint
[  106.753125] list_del corruption, fffff21fc8467708->next is LIST_POISON1 (dead000000000100)
[  106.753131] ------------[ cut here ]------------
[  106.753133] kernel BUG at lib/list_debug.c:56!
[  106.753138] Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
[  106.753141] CPU: 8 UID: 1000 PID: 2896 Comm: fuse mainloop Tainted: G    B              6.13.2 #1-NixOS
[  106.753144] Tainted: [B]=BAD_PAGE
[  106.753146] Hardware name: Framework Laptop 13 (AMD Ryzen 7040Series)/FRANMDCP05, BIOS 03.06 10/14/2024
[  106.753147] RIP: 0010:__list_del_entry_valid_or_report+0x8a/0xd0
[  106.753152] Code: e8 db ad ab ff 90 0f 0b 48 89 fe 48 c7 c7 48 1f 7f 93 e8 c9 ad ab ff 90 0f 0b 48 89 fe 48 c7 c7 78 1f 7f 93 e8 b7 ad ab ff 90 <0f> 0b 48 89 fe 48 89 ca 48 c7 c7 b0 1f 7f 93 e8 a2 ad ab ff 90 0f
[  106.753154] RSP: 0000:ffff93db444bb9e8 EFLAGS: 00010246
[  106.753156] RAX: 000000000000004e RBX: ffff89fc0203de00 RCX: 0000000000000000
[  106.753158] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[  106.753159] RBP: fffff21fc8467708 R08: 0000000000000000 R09: 0000000000000000
[  106.753161] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
[  106.753162] R13: fffff21fc8467700 R14: ffff89fc0203de00 R15: ffff89fc1e2fb500
[  106.753164] FS:  00007fe13a7fc6c0(0000) GS:ffff89fc02000000(0000) knlGS:0000000000000000
[  106.753166] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  106.753167] CR2: 00007fe124003638 CR3: 00000001431fc000 CR4: 0000000000f50ef0
[  106.753169] PKRU: 55555554
[  106.753171] Call Trace:
[  106.753172]  <TASK>
[  106.753174]  ? die+0x36/0x90
[  106.753178]  ? do_trap+0xed/0x110
[  106.753182]  ? __list_del_entry_valid_or_report+0x8a/0xd0
[  106.753186]  ? do_error_trap+0x6a/0xa0
[  106.753188]  ? __list_del_entry_valid_or_report+0x8a/0xd0
[  106.753192]  ? exc_invalid_op+0x51/0x80
[  106.753195]  ? __list_del_entry_valid_or_report+0x8a/0xd0
[  106.753199]  ? asm_exc_invalid_op+0x1a/0x20
[  106.753204]  ? __list_del_entry_valid_or_report+0x8a/0xd0
[  106.753208]  ? __list_del_entry_valid_or_report+0x89/0xd0
[  106.753211]  __rmqueue_pcplist+0xa5/0xd20
[  106.753218]  get_page_from_freelist+0x2e1/0x19a0
[  106.753220]  ? ttwu_queue_wakelist+0xed/0x110
[  106.753223]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753225]  ? try_get_folio+0x5e/0x150
[  106.753228]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753230]  ? gup_fast_fallback+0x7de/0x10d0
[  106.753237]  __alloc_pages_noprof+0x1a3/0x1170
[  106.753241]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753243]  ? get_user_pages_fast+0x47/0x70
[  106.753246]  ? __schedule+0x44a/0x12c0
[  106.753249]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753252]  ? fuse_copy_do+0x92/0xa0 [fuse]
[  106.753259]  alloc_pages_mpol_noprof+0x8f/0x200
[  106.753261]  ? folio_mark_dirty+0x12/0x70
[  106.753264]  folio_alloc_mpol_noprof+0x14/0x40
[  106.753267]  vma_alloc_folio_noprof+0x6b/0xd0
[  106.753270]  do_anonymous_page+0x2cb/0x820
[  106.753273]  ? srso_alias_return_thunk+0x5/0xfbef5
[  106.753276]  ? ___pte_offset_map+0x1b/0x190
[  106.753279]  __handle_mm_fault+0xb7e/0xfe0
[  106.753285]  handle_mm_fault+0x17f/0x2e0
[  106.753289]  do_user_addr_fault+0x177/0x6b0
[  106.753292]  exc_page_fault+0x71/0x160
[  106.753295]  asm_exc_page_fault+0x26/0x30
[  106.753297] RIP: 0033:0x7fe14a6e9c42
[  106.753301] Code: 8d 34 19 48 39 d5 48 89 75 60 0f 95 c2 48 29 d8 48 83 c1 10 0f b6 d2 48 83 c8 01 48 c1 e2 02 48 09 da 48 83 ca 01 48 89 51 f8 <48> 89 46 08 e9 3d ff ff ff 48 89 df e8 4d e8 ff ff 48 89 c1 48 85
[  106.753303] RSP: 002b:00007fe13a7fb870 EFLAGS: 00010202
[  106.753305] RAX: 000000000001d9d1 RBX: 0000000000002040 RCX: 00007fe124001600
[  106.753307] RDX: 0000000000002045 RSI: 00007fe124003630 RDI: 0000000000000000
[  106.753308] RBP: 00007fe124000030 R08: 0000000000000000 R09: 0000000000000001
[  106.753310] R10: 0000000000000004 R11: 0000000000000000 R12: 0000000000002030
[  106.753311] R13: 0000000000000000 R14: 0000000000000202 R15: 00007fe124000090
[  106.753316]  </TASK>
[  106.753317] Modules linked in: qrtr ccm rfcomm snd_seq_dummy snd_hrtimer snd_seq cmac algif_hash algif_skcipher af_alg bnep btusb btrtl btintel btbcm btmtk bluetooth af_packet nls_iso8859_1 nls_cp437 vfat fat amdgpu snd_sof_amd_acp70 snd_sof_amd_acp63 snd_sof_amd_vangogh snd_sof_amd_rembrandt snd_sof_amd_renoir snd_sof_amd_acp snd_sof_pci snd_sof_xtensa_dsp xt_conntrack snd_sof mt7921e nf_conntrack mt7921_common nf_defrag_ipv6 nf_defrag_ipv4 snd_sof_utils cros_usbpd_charger cros_charge_control leds_cros_ec cros_ec_chardev cros_ec_debugfs cros_usbpd_logger cros_ec_hwmon cros_ec_sysfs gpio_cros_ec led_class_multicolor cros_kbd_led_backlight cros_usbpd_notify mt792x_lib snd_pci_ps snd_soc_acpi_amd_match snd_amd_sdw_acpi soundwire_amd mt76_connac_lib hid_sensor_als snd_hda_codec_realtek hid_sensor_trigger soundwire_generic_allocation industrialio_triggered_buffer mt76 ip6t_rpfilter kfifo_buf soundwire_bus snd_hda_codec_generic hid_sensor_iio_common snd_soc_sdca industrialio snd_hda_scodec_component snd_hda_codec_hdmi
[  106.753375]  cros_ec_dev ipt_rpfilter mac80211 snd_soc_core xt_pkttype snd_compress amdxcp snd_hda_intel drm_exec ac97_bus snd_pcm_dmaengine gpu_sched snd_intel_dspcfg xt_LOG spd5118 intel_rapl_msr hid_multitouch nf_log_syslog hid_sensor_hub snd_rpl_pci_acp6x snd_intel_sdw_acpi cros_ec_lpcs drm_buddy wmi_bmof nft_compat cros_ec snd_acp_pci snd_usb_audio drm_ttm_helper snd_hda_codec cfg80211 snd_usbmidi_lib snd_acp_legacy_common sp5100_tco ttm uvcvideo edac_mce_amd snd_pci_acp6x edac_core snd_hda_core snd_ump drm_suballoc_helper watchdog snd_rawmidi videobuf2_vmalloc amd_atl drm_display_helper snd_pci_acp5x amd_pmf snd_hwdep snd_seq_device snd_rn_pci_acp3x uvc nf_tables rfkill i2c_piix4 intel_rapl_common ucsi_acpi snd_acp_config amdtee cec videobuf2_memops snd_pcm crct10dif_pclmul snd_soc_acpi videobuf2_v4l2 typec_ucsi crc32_pclmul amd_sfh polyval_clmulni i2c_algo_bit polyval_generic ghash_clmulni_intel rapl videobuf2_common snd_timer roles platform_profile k10temp i2c_smbus snd videodev mousedev joydev
[  106.753441]  tiny_power_button mc onboard_usb_dev video soundcore libarc4 snd_pci_acp3x libcrc32c ac battery thermal sch_fq_codel typec backlight wmi i2c_hid_acpi evdev i2c_hid button amd_pmc mac_hid uinput serio_raw loop tun tap macvlan bridge stp llc kvm_amd ccp kvm fuse configfs efi_pstore nfnetlink dmi_sysfs ip_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_crypt cbc encrypted_keys trusted asn1_encoder tee hid_generic usbhid hid input_leds led_class crc32c_intel atkbd sha512_ssse3 libps2 sha256_ssse3 vivaldi_fmap sha1_ssse3 xhci_pci aesni_intel nvme thunderbolt gf128mul xhci_hcd crypto_simd nvme_core cryptd nvme_auth tpm_crb rtc_cmos i8042 serio tpm_tis tpm_tis_core dm_mod dax efivarfs tpm rng_core libaescfb ecdh_generic ecc autofs4
[  106.753522] ---[ end trace 0000000000000000 ]---
[  106.925498] pstore: backend (efi_pstore) writing error (-28)
[  106.925500] RIP: 0010:__list_del_entry_valid_or_report+0x8a/0xd0
[  106.925505] Code: e8 db ad ab ff 90 0f 0b 48 89 fe 48 c7 c7 48 1f 7f 93 e8 c9 ad ab ff 90 0f 0b 48 89 fe 48 c7 c7 78 1f 7f 93 e8 b7 ad ab ff 90 <0f> 0b 48 89 fe 48 89 ca 48 c7 c7 b0 1f 7f 93 e8 a2 ad ab ff 90 0f
[  106.925507] RSP: 0000:ffff93db444bb9e8 EFLAGS: 00010246
[  106.925509] RAX: 000000000000004e RBX: ffff89fc0203de00 RCX: 0000000000000000
[  106.925511] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[  106.925512] RBP: fffff21fc8467708 R08: 0000000000000000 R09: 0000000000000000
[  106.925513] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
[  106.925514] R13: fffff21fc8467700 R14: ffff89fc0203de00 R15: ffff89fc1e2fb500
[  106.925515] FS:  00007fe13a7fc6c0(0000) GS:ffff89fc02000000(0000) knlGS:0000000000000000
[  106.925516] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  106.925517] CR2: 00007fe124003638 CR3: 00000001431fc000 CR4: 0000000000f50ef0
[  106.925518] PKRU: 55555554
[  106.925519] note: fuse mainloop[2896] exited with preempt_count 2

The problems exist on 6.13.x but not on 6.12.x.

Please excuse my messy config file (alot of tinkering going on):

# 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, ... }:

# Import unstable channel for certain packages
let
  unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
in

{  
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
    ];

  hardware.xone.enable = true;
  hardware.graphics.enable = true;

  # z-ram
  #zramSwap.enable = true;
  # use values deemed by folk wisdom to be optimal with zstd zram swap
  #boot.kernel.sysctl = {
  #  "vm.swappiness" = 180;
  #  "vm.page-cluster" = 0;
  #  "vm.watermark_scale_factor" = 125;
  #  "vm.watermark_boost_factor" = 0;
  #};

  # Bootloader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  # Plumouth
  #boot.loader.systemd-boot.consoleMode = "max"; 
  boot.initrd.systemd.enable = true;
  boot.plymouth = {
    enable = true;
    font = "${pkgs.jetbrains-mono}/share/fonts/truetype/JetBrainsMono-Regular.ttf";
  };
  
      
  # Needed For Some Steam Games
  boot.kernel.sysctl = {
      "vm.max_map_count" = 2147483642;
    };

  # kernel version
  boot.kernelPackages = pkgs.linuxPackages_6_12;
  boot.kernelParams = [
    "quiet"
    "splash"
    "boot.shell_on_fail"
    "loglevel=3"
    "rd.systemd.show_status=false"
    "rd.udev.log_level=3"
    "udev.log_priority=3"
    #"threadirqs"
    "preempt=full"
    #"amdgpu.ppfeaturemask=0xFFF7FFFF"
  ];

  boot.consoleLogLevel = 0;
  boot.initrd.verbose = false;
  boot.loader.timeout = 1;
  systemd.extraConfig = ''
    DefaultTimeoutStopSec=10s
  '';
  
  
  
  networking.hostName = "nixos"; # Define your hostname.
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
  
  # Enable networking
  networking.networkmanager.enable = true;

  # Set your time zone.
  time.timeZone = "Europe/Stockholm";

  # Select internationalisation properties.
  i18n.defaultLocale = "en_US.UTF-8";

  i18n.extraLocaleSettings = {
    LC_ADDRESS = "sv_SE.UTF-8";
    LC_IDENTIFICATION = "sv_SE.UTF-8";
    LC_MEASUREMENT = "sv_SE.UTF-8";
    LC_MONETARY = "sv_SE.UTF-8";
    LC_NAME = "sv_SE.UTF-8";
    LC_NUMERIC = "sv_SE.UTF-8";
    LC_PAPER = "sv_SE.UTF-8";
    LC_TELEPHONE = "sv_SE.UTF-8";
    LC_TIME = "sv_SE.UTF-8";
  };
  
  # Portals
  xdg.portal.enable = true;
  xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
  xdg.autostart.enable = true;
  services.xserver.desktopManager.runXdgAutostartIfNone = true;

  services.logind = {
    powerKey = "suspend";
    lidSwitchDocked = "ignore";
  };
  

  services.hypridle.enable = true;

  # Enable the X11 windowing system.
  services.xserver.enable = true;

  # Enable thunderbolt dock
  services.hardware.bolt.enable = true;
 
  # Enable gnome keyring
  services.gnome.gnome-keyring.enable = true;
  
  # Enable the GNOME Desktop Environment.
  services.xserver.displayManager.gdm.enable = true;
  services.xserver.desktopManager.gnome.enable = true;

  environment.gnome.excludePackages = with pkgs; [
    #baobab      # disk usage analyzer
    #cheese      # photo booth
    #eog         # image viewer
    epiphany    # web browser
    #gedit       # text editor
    simple-scan # document scanner
    totem       # video player
    yelp        # help viewer
    #evince      # document viewer
    #file-roller # archive manager
    geary       # email client
    #seahorse    # password manager

    #gnome-calculator
    gnome-calendar
    gnome-characters
    gnome-clocks
    gnome-contacts
    gnome-font-viewer
    gnome-logs
    gnome-maps
    gnome-music
    gnome-photos
    gnome-screenshot
    #gnome-system-monitor
    gnome-weather
    #gnome-disk-utility
    #gnome-connections
  ];

  services.fprintd.enable = true;
  security.pam.services.hyprlock = {};
  security.pam.services.hyprlock.fprintAuth = true;
  security.pam.services.gdm.enableGnomeKeyring = true;

  security.tpm2.enable = true;
  security.tpm2.pkcs11.enable = true;  # expose /run/current-system/sw/lib/libtpm2_pkcs11.so
  security.tpm2.tctiEnvironment.enable = true;  # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables

  # Configure console keymap
  console.keyMap = "sv-latin1";

  # Enable CUPS to print documents.
  #services.printing.enable = true;

  # Environtment variables
  environment.sessionVariables.NIXOS_OZONE_WL = "1";
  environment.sessionVariables.XCURSOR_SIZE = "24";
  environment.sessionVariables.HYPRCURSOR_SIZE = "24";
  #environment.sessionVariables.MOZ_ENABLE_WAYLAND = "1";
  #environment.sessionVariables.MOZ_WEBRENDER = "1";
  #environment.sessionVariables.MOZ_DBUS_REMOTE = "1";
  environment.sessionVariables.STEAM_FORCE_DESKTOPUI_SCALING = "1.5";
  environment.sessionVariables.DOCKER_HOST = "unix:///run/user/1000/podman/podman.sock";
  #environment.sessionVariables.QT_QPA_PLATFORM = "wayland;xcb"
  environment.sessionVariables.QT_QPA_PLATFORMTHEME = "qt5ct";
  environment.sessionVariables.QT_AUTO_SCREEN_SCALE_FACTOR = "1";
  environment.sessionVariables.QT_WAYLAND_DECORATION = "adwaita";
  environment.sessionVariables.QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
  #environment.sessionVariables.XDG_CURRENT_DESKTOP,GNOME
  #environment.sessionVariables.XDG_SESSION_DESKTOP,gnome
  environment.sessionVariables.GDK_SCALE = "1";
  

  security.polkit.enable = true;
  
  # Enable sound with pipewire.
  hardware.pulseaudio.enable = false;
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    #jack.enable = true;

    # use the example session manager (no others are packaged yet so this is enabled by default,
    # no need to redefine it in your config for now)
    #media-session.enable = true;

    extraConfig.pipewire.adjust-sample-rate = {
        "context.properties" = {
          "default.clock.rate" = 48000;
          "defautlt.allowed-rates" = [ 48000 96000 192000 ];
          "default.clock.quantum" = 64;
          "default.clock.min-quantum" = 64;
          "default.clock.max-quantum" = 2048;
          "default.clock.quantum-limit" = 2048;
          "default.clock.quantum-floor" = 64;
        };
      };
    
    # opens UDP ports 6001-6002
    raopOpenFirewall = true;

    extraConfig.pipewire = {
      "10-airplay" = {
        "context.modules" = [
          {
            name = "libpipewire-module-raop-discover";
            # args = {
            #   "raop.latency.ms" = 500; # increase the buffer size if you get dropouts/glitches
            # # };
          }
        ];
      };
    };  
  };

  # for airplay discovery
  services.avahi.enable = true;

  # Enable touchpad support (enabled default in most desktopManager).
  # services.xserver.libinput.enable = true;

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.user001 = {
    isNormalUser = true;
    description = "user001";
    extraGroups = ["dialout" "rtkit" "audio" "networkmanager" "wheel" "podman" "libvirtd" "tss"];
    packages = with pkgs; [
      #pkgs.papirus-icon-theme
      #pkgs.tela-circle-icon-theme 
    ];
  };

  # Virtualisation
  virtualisation.libvirtd.enable = true;
  programs.virt-manager.enable = true; # can be used to manage non-local hosts as well
  
  virtualisation.containers.enable = true;
  virtualisation = {
    podman = {
      enable = true;
      # Create a `docker` alias for podman, to use it as a drop-in replacement
      dockerCompat = true;
      dockerSocket.enable = true;
      # Required for containers under podman-compose to be able to talk to each other.
      defaultNetwork.settings.dns_enabled = true;
    };
  };
  
  # Programs
  programs.hyprland = {
    enable = true;
    xwayland.enable = true;
    withUWSM  = true;
    portalPackage = pkgs.xdg-desktop-portal-hyprland;
  };
  programs.firefox.enable = true;
  programs.starship.enable = true;
  programs.steam.enable = true;
  programs.fish.enable = true;
  programs.gamemode.enable = true;
  programs.seahorse.enable = true;
  programs.git.enable = true;
  #programs.hyprlock.enable = true;

  programs.fish.shellAliases = {
    nop = "sudo nixos-rebuild build --upgrade && nvd diff /run/current-system result && sudo nixos-rebuild switch";
    rescan = "sudo sh -c 'echo 1 > /sys/bus/pci/rescan'";
    relock = "hyprctl --instance 0 'keyword misc:allow_session_lock_restore 1' && hyprctl --instance 0 'dispatch exec hyprlock'";
  };
  
  # Allow unfree packages
  nixpkgs.config.allowUnfree = true;

  # List packages installed in system profile. To search, run:
  environment.systemPackages = with pkgs; [
    # terminal
    tgpt
    ghostty
    starship

    # portals
    xdg-desktop-portal-hyprland
    xdg-desktop-portal-gtk

    # nixtools
    nvd
    
    # boot
    plymouth

    # sound
    easyeffects
    playerctl
    pwvucontrol

    #dotfiles
    chezmoi

    #topbar
    waybar

    # notifications daemon
    swaynotificationcenter
    libnotify

    # hypr
    #hyprlock
    #hypridle
    #hyprshot
    hyprpaper
    unstable.hyprpicker
    unstable.hyprlock
    unstable.hyprsunset
    unstable.hyprpolkitagent
    
    # screenshot
    grim
    slurp
    wl-clipboard
    satty
    jq

    # Launcher
    rofi-wayland
    rofi-power-menu
    rofi-pulse-select

    # basic control
    brightnessctl
    powertop
    blueberry

    # misc
    gnome-boxes
    tidal-hifi
    htop
    killall
    nwg-look
    megasync
    megacmd
    azuredatastudio
    unstable.jetbrains-toolbox
    mangohud
    goverlay
    mongosh
    mongodb-tools
    google-chrome

    # multimedia
    ffmpeg
    
    # containers
    podman-compose
    unstable.lazydocker

    # colormgr dispwin
    argyllcms

    # dev
    git-credential-manager
    glibc
    unstable.jetbrains.webstorm
    
    # tuis
    aria2
    yazi
    helix
    nvtopPackages.amd
    unstable.trippy
    btop

    # theming
    bibata-cursors
    qadwaitadecorations
    qadwaitadecorations-qt6
    qt5.qtwayland
    qt6.qtwayland
    tela-circle-icon-theme
  ];

  fonts = {
    enableDefaultPackages = true;
    fontDir.enable = true;
    packages = with pkgs; [    
      font-awesome
      jetbrains-mono
      nerdfonts
      #nerd-fonts.iosevka
      #nerd-fonts._0xproto
      #nerd-fonts.jetbrains-mono
      noto-fonts
      noto-fonts-cjk-sans
      noto-fonts-emoji
      proggyfonts
      liberation_ttf
      fira-code
      fira-code-symbols
    ];
  };

  #systemd.packages = with pkgs; [ lact ];
  #systemd.services.lactd.wantedBy = ["multi-user.target"];

  # 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:
  # services.openssh.enable = true;
  services.flatpak.enable = true;
  services.tailscale.enable = true;
  services.tailscale.useRoutingFeatures = "client";
  services.fwupd.enable = true;
  
  # Optimization settings and garbage collection automation
  nix = {
    settings = {
      auto-optimise-store = true;
      #experimental-features = [
      #  "nix-command"
      #  "flakes"
      #];
    };
    gc = {
      automatic = true;
      dates = "weekly";
      options = "--delete-older-than 7";
    };
  };

  # Auto system update
  #system.autoUpgrade = {
  #    enable = true;
  #};

  # Open ports in the firewall.
  # networking.firewall.allowedTCPPorts = [ ... ];
  # networking.firewall.allowedUDPPorts = [ ... ];
  # 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 = "24.05"; # Did you read the comment?

}

Any thoughts or pointers on troubleshooting?

Thank you for your time, best regards.

This seems to be an actual kernel regression, and I believe it is fixed in 6.14, whenever that lands.

See the arch discussion here: Kernel 6.13 Crashes for Certain Operations Inside Flatpak / FUSE (#110) · Issues · Arch Linux / Packaging / Packages / linux · GitLab

1 Like