aboutsummaryrefslogtreecommitdiff
path: root/pkgs/luks-hw-password
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/luks-hw-password')
-rw-r--r--pkgs/luks-hw-password/default.nix20
-rwxr-xr-xpkgs/luks-hw-password/luks-hw-password.sh6
2 files changed, 26 insertions, 0 deletions
diff --git a/pkgs/luks-hw-password/default.nix b/pkgs/luks-hw-password/default.nix
new file mode 100644
index 0000000..9797735
--- /dev/null
+++ b/pkgs/luks-hw-password/default.nix
@@ -0,0 +1,20 @@
+{ lib, stdenvNoCC, makeWrapper
+, dmidecode, coreutils
+}:
+
+stdenvNoCC.mkDerivation {
+ pname = "luks-hw-password";
+ version = "1.0";
+ meta = with lib; {
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ };
+
+ nativeBuildInputs = [ makeWrapper ];
+ phases = [ "installPhase" ];
+ installPhase = ''
+ mkdir -p $out/bin
+ makeWrapper ${./luks-hw-password.sh} $out/bin/luks-hw-password \
+ --prefix PATH : ${lib.makeBinPath [ dmidecode coreutils ]}
+ '';
+}
diff --git a/pkgs/luks-hw-password/luks-hw-password.sh b/pkgs/luks-hw-password/luks-hw-password.sh
new file mode 100755
index 0000000..8ad64bb
--- /dev/null
+++ b/pkgs/luks-hw-password/luks-hw-password.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+{
+ dmidecode -s system-uuid
+ dmidecode -s baseboard-serial-number
+ dmidecode -s processor-version
+} | sha512sum | cut -f1 -d ' '