From d18c6122bef8041de5198f52a4c6869b4513c702 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 2 Apr 2021 11:15:15 +0200 Subject: [PATCH] lib.uuidFrom: generate a deterministic UUID --- flake.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/flake.nix b/flake.nix index c9eede0..0ccc1c7 100644 --- a/flake.nix +++ b/flake.nix @@ -124,6 +124,19 @@ "abort generators.toDhall: unhandled value (${x})"; }; + uuidFrom = seed: + let digest = builtins.hashString "sha256" seed; + in (lib.lists.foldl ({ str, off }: + n: + let chunk = builtins.substring off n digest; + in { + str = if off == 0 then chunk else "${str}-${chunk}"; + off = off + n; + }) { + str = ""; + off = 0; + } [ 8 4 4 4 12 ]).str; + nixosSystem = # A derivative of the function for generating Linux NixOS systems. # This one is not so well tested…