nixos-yubikey-luks/default.nix
2023-12-19 17:01:34 -05:00

28 lines
702 B
Nix

{ nixpkgs ? import <nixpkgs> {} }:
let
inherit (nixpkgs) callPackage pkgs stdenv;
pbkdf2Sha512 = callPackage ./pbkdf2-sha512 { };
rbtohex = pkgs.writeShellScriptBin
"rbtohex"
''( od -An -vtx1 | tr -d ' \n' )'';
hextorb = pkgs.writeShellScriptBin
"hextorb"
''( tr '[:lower:]' '[:upper:]' | sed -e 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI'| xargs printf )'';
yk-luks-open = pkgs.writeShellScriptBin "yk-luks-open" "${./yk-luks-open.sh} $@";
in
stdenv.mkDerivation {
name = "yubikey-luks-setup";
buildInputs = with pkgs; [
cryptsetup
openssl
parted
pbkdf2Sha512
yubikey-personalization
rbtohex
hextorb
yk-luks-open
];
}