From 954271b115ea8dbe064f68d6e4a9c41ab21dfff3 Mon Sep 17 00:00:00 2001 From: Armel van Ravels Date: Tue, 16 Jun 2026 15:30:45 +0200 Subject: [PATCH] Fix MTP --- systems/gandalf/default.nix | 24 +++++++++++++----------- systems/gandalf/mtp-fix.nix | 26 ++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 systems/gandalf/mtp-fix.nix diff --git a/systems/gandalf/default.nix b/systems/gandalf/default.nix index 1668a23..37b8f88 100644 --- a/systems/gandalf/default.nix +++ b/systems/gandalf/default.nix @@ -26,6 +26,7 @@ ../modules/bambu-studio-flatpak.nix ../modules/arduino-ide.nix ../modules/bitwarden.nix + ./mtp-fix.nix ]; boot.kernelPackages = pkgs.linuxPackages_latest; @@ -66,19 +67,20 @@ virtualisation.libvirtd.enable = true; - services = { + +# services = { # Bluetooth fixes # Can be removed when https://github.com/NixOS/nixpkgs/pull/499670 is merged and in 25.11 - udev.extraRules = '' - SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="0489", ENV{ID_MODEL_ID}=="e111", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess" - - SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e111", ENV{DEVTYPE}=="usb_interface", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess" - - SUBSYSTEM=="usb", KERNEL=="3-14:*", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess" - - SUBSYSTEM=="usb", KERNELS=="3-14", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{SOLID_IGNORE}="1" - ''; - }; +# udev.extraRules = '' +# SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="0489", ENV{ID_MODEL_ID}=="e111", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess" +# +# SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e111", ENV{DEVTYPE}=="usb_interface", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess" +# +# SUBSYSTEM=="usb", KERNEL=="3-14:*", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess" +# +# SUBSYSTEM=="usb", KERNELS=="3-14", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{SOLID_IGNORE}="1" +# ''; +# }; system.stateVersion = "25.11"; # Did you read the comment? } diff --git a/systems/gandalf/mtp-fix.nix b/systems/gandalf/mtp-fix.nix new file mode 100644 index 0000000..3667ceb --- /dev/null +++ b/systems/gandalf/mtp-fix.nix @@ -0,0 +1,26 @@ +{ pkgs, ...}: + +{ + nixpkgs.overlays = [ + (final: prev: let + targetVersion = "1.1.23"; + in { + libmtp = + if builtins.compareVersions prev.libmtp.version targetVersion >= 0 then + prev.libmtp + else + prev.libmtp.overrideAttrs (_: { + version = targetVersion; + + src = final.fetchFromGitHub { + owner = "libmtp"; + repo = "libmtp"; + rev = "v${targetVersion}"; + hash = "sha256-FlPj9PEeOAWabU11dFTzDgY9TBbgmJclbeL0iULYw6A="; + }; + + patches = []; + }); + }) + ]; +}