blob: 111f5ef21137e9e0ef9421ca64443866c1fd8316 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
{pkgs, ...}: {
# The encrypted USB is NOT part of boot anymore
# We do NOT use crypttab or systemd-cryptsetup units at all
environment.systemPackages = with pkgs; [
cryptsetup
# 🔓 Mount + unlock + load SSH key
(writeShellScriptBin "keys-mount" ''
set -e
DEVICE="/dev/disk/by-uuid/d5aa2823-2023-410b-a83e-a4f707db5f7c"
NAME="ssh-keys"
MNT="/mnt/ssh-keys"
echo "🔐 Unlocking encrypted USB..."
sudo cryptsetup open "$DEVICE" "$NAME"
echo "📂 Mounting..."
sudo mount "/dev/mapper/$NAME" "$MNT"
echo "🔑 Adding SSH key..."
ssh-add "$MNT/poseidon"
ssh-add "$MNT/apollo"
echo "✅ Done"
'')
# 🔒 Clean unmount + lock
(writeShellScriptBin "keys-umount" ''
set -e
MNT="/mnt/ssh-keys"
NAME="ssh-keys"
echo "🔑 Removing SSH key..."
ssh-add -d "$MNT/poseidon" 2>/dev/null || true
ssh-add -d "$MNT/apollo" 2>/dev/null || true
echo "📤 Unmounting..."
sudo umount "$MNT" || true
echo "🔒 Closing encrypted device..."
sudo cryptsetup close "$NAME" || true
echo "✅ Done"
'')
];
}
|