diff --git a/flake.nix b/flake.nix index d9653c8f..87f617be 100644 --- a/flake.nix +++ b/flake.nix @@ -61,6 +61,13 @@ # See also `rust-toolchain.toml` sha256 = "sha256-AJ6LX/Q/Er9kS15bn9iflkUwcgYqRQxiOIL2ToVAXaU="; }; + + # The timestamp of the last commit in ISO 8601 format + timestamp = pkgs.lib.strings.trim (builtins.readFile ( + pkgs.runCommand "iso-timestamp" {} '' + date -u -d "@${toString inputs.self.lastModified}" +%Y-%m-%dT%H:%M:%SZ > $out + '' + )); }); in inputs.flake-utils.lib.eachDefaultSystem (system: diff --git a/nix/pkgs/oci-image/default.nix b/nix/pkgs/oci-image/default.nix index 1224d41c..9845bbe3 100644 --- a/nix/pkgs/oci-image/default.nix +++ b/nix/pkgs/oci-image/default.nix @@ -4,6 +4,7 @@ , inputs , lib , pkgs +, timestamp }: let # See https://github.com/krallin/tini/pull/223 @@ -14,27 +15,11 @@ let }) ]; }; - - # This is a unix timestamp of the last commit - timestamp = inputs.self.lastModified; - - # Convert the timestamp to an ISO 8601 string - iso = builtins.readFile ( - pkgs.runCommand "timestamp" { - when = timestamp; - nativeBuildInputs = [ pkgs.coreutils ]; - } '' - date -u -d "@$when" +%Y-%m-%dT%H:%M:%SZ > $out - '' - ); - - # Remove trailing newline - isoTrimmed = lib.strings.trim iso; in dockerTools.buildImage { name = default.pname; tag = "next"; - created = isoTrimmed; + created = timestamp; copyToRoot = [ dockerTools.caCertificates ];