From 50866dc20fb85063f1d4e103b11530092c490d03 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Wed, 31 Jan 2024 09:12:28 -0800 Subject: [PATCH] nixos/sysupdate: allow lists in sysupdate config Lists are convenient to have in sysupdate configuration when using multiple `MatchPattern` under `Target` when the target can have multiple filenames. This use-case is helpful for BootLoaderSpec bootcounting where the target file on disk can have multiple filenames, and in order for sysupdate to properly ensure only N number of instances of this target exist at one time, we need to have multiple match patterns. --- nixos/modules/system/boot/systemd/sysupdate.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/systemd/sysupdate.nix b/nixos/modules/system/boot/systemd/sysupdate.nix index cab35ddf270c..1f4088ddf825 100644 --- a/nixos/modules/system/boot/systemd/sysupdate.nix +++ b/nixos/modules/system/boot/systemd/sysupdate.nix @@ -3,7 +3,7 @@ let cfg = config.systemd.sysupdate; - format = pkgs.formats.ini { }; + format = pkgs.formats.ini { listToValue = toString; }; definitionsDirectory = utils.systemdUtils.lib.definitions "sysupdate.d" @@ -79,7 +79,7 @@ in Source = { Type = "url-file"; Path = "https://download.example.com/"; - MatchPattern = "nixos_@v.efi.xz"; + MatchPattern = [ "nixos_@v+@l-@d.efi" "nixos_@v+@l.efi" "nixos_@v.efi" ]; }; Target = {