about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorWill Fancher <elvishjerricco@gmail.com>2024-02-07 03:01:49 -0500
committerGitHub <noreply@github.com>2024-02-07 03:01:49 -0500
commitee9becfdfb418b471b5bdb36f302e9c77a40b44b (patch)
tree74a708a29884fc6ef44b5592fd18e58a1f6664c9 /nixos
parentd5917b14b367fe517070503f6a93881991424961 (diff)
parent514bfa6674600e08c321b9efdab807a14835c4ff (diff)
downloadnixlib-ee9becfdfb418b471b5bdb36f302e9c77a40b44b.tar
nixlib-ee9becfdfb418b471b5bdb36f302e9c77a40b44b.tar.gz
nixlib-ee9becfdfb418b471b5bdb36f302e9c77a40b44b.tar.bz2
nixlib-ee9becfdfb418b471b5bdb36f302e9c77a40b44b.tar.lz
nixlib-ee9becfdfb418b471b5bdb36f302e9c77a40b44b.tar.xz
nixlib-ee9becfdfb418b471b5bdb36f302e9c77a40b44b.tar.zst
nixlib-ee9becfdfb418b471b5bdb36f302e9c77a40b44b.zip
Merge pull request #285315 from jmbaur/sysupdate-fixes
nixos/sysupdate: allow lists in sysupdate config
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/system/boot/systemd/sysupdate.nix4
-rw-r--r--nixos/tests/systemd-sysupdate.nix14
2 files changed, 9 insertions, 9 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 = {
diff --git a/nixos/tests/systemd-sysupdate.nix b/nixos/tests/systemd-sysupdate.nix
index 37811605dbb2..6592764c9ff4 100644
--- a/nixos/tests/systemd-sysupdate.nix
+++ b/nixos/tests/systemd-sysupdate.nix
@@ -23,8 +23,8 @@ in
             mkdir -p $out
             cd $out
 
-            echo "nixos" > nixos_1.efi
-            sha256sum nixos_1.efi > SHA256SUMS
+            echo "nixos" > nixos_1.txt
+            sha256sum nixos_1.txt > SHA256SUMS
 
             export GNUPGHOME="$(mktemp -d)"
             cp -R ${gpgKeyring}/* $GNUPGHOME
@@ -39,15 +39,15 @@ in
       systemd.sysupdate = {
         enable = true;
         transfers = {
-          "uki" = {
+          "text-file" = {
             Source = {
               Type = "url-file";
               Path = "http://server/";
-              MatchPattern = "nixos_@v.efi";
+              MatchPattern = "nixos_@v.txt";
             };
             Target = {
-              Path = "/boot/EFI/Linux";
-              MatchPattern = "nixos_@v.efi";
+              Path = "/";
+              MatchPattern = [ "nixos_@v.txt" ];
             };
           };
         };
@@ -61,6 +61,6 @@ in
     server.wait_for_unit("nginx.service")
 
     target.succeed("systemctl start systemd-sysupdate")
-    assert "nixos" in target.wait_until_succeeds("cat /boot/EFI/Linux/nixos_1.efi", timeout=5)
+    assert "nixos" in target.wait_until_succeeds("cat /nixos_1.txt", timeout=5)
   '';
 }