From 8892e836f2a0f5429298b29bf8626afcfe364a56 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Thu, 20 Feb 2025 03:48:30 +0100 Subject: [PATCH 1/3] flashprog: Drop superfluous cd command Signed-off-by: Felix Singer --- pkgs/by-name/fl/flashprog/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/fl/flashprog/package.nix b/pkgs/by-name/fl/flashprog/package.nix index 2a7bedf69ba0..c438b3d4f328 100644 --- a/pkgs/by-name/fl/flashprog/package.nix +++ b/pkgs/by-name/fl/flashprog/package.nix @@ -47,8 +47,7 @@ stdenv.mkDerivation (finalAttrs: { ]; postInstall = '' - cd "$src" - install -Dm644 util/50-flashprog.rules "$out/lib/udev/rules.d/50-flashprog.rules" + install -Dm644 ../util/50-flashprog.rules "$out/lib/udev/rules.d/50-flashprog.rules" ''; passthru.updateScript = gitUpdater { From 9926a81f843a9f2b2b37e3052707ab23c23c38ae Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Thu, 20 Feb 2025 04:30:23 +0100 Subject: [PATCH 2/3] flashprog: Drop duplicated libftdi udev rules In order to not create conflicts with libftdi, drop these rules from the flashprog udev file. Signed-off-by: Felix Singer --- pkgs/by-name/fl/flashprog/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/fl/flashprog/package.nix b/pkgs/by-name/fl/flashprog/package.nix index c438b3d4f328..446061807a86 100644 --- a/pkgs/by-name/fl/flashprog/package.nix +++ b/pkgs/by-name/fl/flashprog/package.nix @@ -46,6 +46,14 @@ stdenv.mkDerivation (finalAttrs: { libgpiod ]; + postPatch = '' + # Remove these rules from flashprog to avoid conflicts with libftdi + sed -i"" '/ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001"/d' "util/50-flashprog.rules" + sed -i"" '/ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010"/d' "util/50-flashprog.rules" + sed -i"" '/ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011"/d' "util/50-flashprog.rules" + sed -i"" '/ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014"/d' "util/50-flashprog.rules" + ''; + postInstall = '' install -Dm644 ../util/50-flashprog.rules "$out/lib/udev/rules.d/50-flashprog.rules" ''; From 350127c4e7bcaffaafa477096c7ccaa69705c27f Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Thu, 20 Feb 2025 04:31:59 +0100 Subject: [PATCH 3/3] nixos/flashprog: Enable libjaylink and libftdi modules flashprog uses the libraries libjaylink and libftdi. So in order for flashprog to work properly for non-privileged users, enable their related NixOS modules which enable several udev rules for devices used by flashprog. Signed-off-by: Felix Singer --- nixos/modules/programs/flashprog.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/programs/flashprog.nix b/nixos/modules/programs/flashprog.nix index d7529575a3d3..89671fba08f3 100644 --- a/nixos/modules/programs/flashprog.nix +++ b/nixos/modules/programs/flashprog.nix @@ -20,6 +20,8 @@ in config = lib.mkIf cfg.enable { services.udev.packages = [ cfg.package ]; environment.systemPackages = [ cfg.package ]; + hardware.libjaylink.enable = true; + hardware.libftdi.enable = true; }; meta.maintainers = with lib.maintainers; [ felixsinger ];