feat: Switched from age to libsodium.

This means, fewer dependencies, a smaller binary, and more secure data.

BREAKING CHANGE: The encryption format of databases has changed. Age
encryption is no longer supported, and no automatic migration path was
implemented.
This commit is contained in:
2026-06-12 15:07:31 -04:00
parent 2f4a7887ea
commit 23b8c2dc67
16 changed files with 1248 additions and 153 deletions

View File

@@ -61,9 +61,9 @@ envr_dir :: proc() -> string {
return dir
}
data_age_path :: proc() -> string {
data_encrypted_path :: proc() -> string {
dir := envr_dir()
path, _ := filepath.join([]string{dir, "data.age"})
path, _ := filepath.join([]string{dir, "data.envr"})
return path
}
@@ -103,6 +103,9 @@ find_ssh_private_keys :: proc() -> (keys: [dynamic]string, ok: bool) {
}
full_path, _ := filepath.join([]string{ssh_dir, name})
if !is_ed25519_key(full_path) {
continue
}
append(&keys, full_path)
}