lol

nixos/fwupd: use manual list of etc files

Closes: #32142

+16 -5
+1 -5
nixos/modules/services/hardware/fwupd.nix
··· 8 8 cfg = config.services.fwupd; 9 9 originalEtc = 10 10 let 11 - isRegular = v: v == "regular"; 12 - listFiles = d: builtins.attrNames (filterAttrs (const isRegular) (builtins.readDir d)); 13 - copiedDirs = [ "fwupd/remotes.d" "pki/fwupd" "pki/fwupd-metadata" ]; 14 - originalFiles = concatMap (d: map (f: "${d}/${f}") (listFiles "${pkgs.fwupd}/etc/${d}")) copiedDirs; 15 11 mkEtcFile = n: nameValuePair n { source = "${pkgs.fwupd}/etc/${n}"; }; 16 - in listToAttrs (map mkEtcFile originalFiles); 12 + in listToAttrs (map mkEtcFile pkgs.fwupd.filesInstalledToEtc); 17 13 extraTrustedKeys = 18 14 let 19 15 mkName = p: "pki/fwupd/${baseNameOf (toString p)}";
+15
pkgs/os-specific/linux/firmware/fwupd/default.nix
··· 6 6 , shared_mime_info, umockdev 7 7 }: 8 8 let 9 + # Updating? Keep $out/etc synchronized with passthru.filesInstalledToEtc 9 10 version = "1.0.5"; 10 11 python = python3.withPackages (p: with p; [ pygobject3 pycairo pillow ]); 11 12 installedTestsPython = python3.withPackages (p: with p; [ pygobject3 requests ]); ··· 65 66 wrapProgram $installedTests/share/installed-tests/fwupd/hardware.py \ 66 67 --prefix GI_TYPELIB_PATH : "$out/lib/girepository-1.0:${libsoup}/lib/girepository-1.0" 67 68 ''; 69 + 70 + passthru = { 71 + filesInstalledToEtc = [ 72 + "fwupd/remotes.d/fwupd.conf" 73 + "fwupd/remotes.d/lvfs-testing.conf" 74 + "fwupd/remotes.d/lvfs.conf" 75 + "fwupd/remotes.d/vendor.conf" 76 + "pki/fwupd/GPG-KEY-Hughski-Limited" 77 + "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service" 78 + "pki/fwupd/LVFS-CA.pem" 79 + "pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service" 80 + "pki/fwupd-metadata/LVFS-CA.pem" 81 + ]; 82 + }; 68 83 69 84 meta = with stdenv.lib; { 70 85 homepage = https://fwupd.org/;