From 25628b4d633ca060076f3995f86a6841f50519ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Sat, 3 May 2025 00:43:01 +0200 Subject: [PATCH 1/2] feat(scripts): support age-encrypted config in firefox-sync-exceptions --- scripts/firefox-sync-exceptions.nu | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/scripts/firefox-sync-exceptions.nu b/scripts/firefox-sync-exceptions.nu index 9e3e0be..3589907 100755 --- a/scripts/firefox-sync-exceptions.nu +++ b/scripts/firefox-sync-exceptions.nu @@ -15,8 +15,28 @@ let profile = $profiles | input list --fuzzy "Select the profile you want to cha let db_file = $"($browser.path)/($profile)/permissions.sqlite" -let config_file = "/etc/nixos/home/browsers/site-data-exceptions.toml" -let config_file = input --default $config_file "Select your config file" +let config_types = [ + [id name default_path]; + ["toml" "TOML" "secrets/firefox/site-data-exceptions.toml"] + ["toml-age" "TOML (age-encrypted)" "firefox/site-data-exceptions.toml.age"] +] +let config_type = $config_types | input list --display name --fuzzy "Select your config type" + +let agenix_path = match $config_type.id { + "toml" => { }, + "toml-age" => { input --default "secrets" "Select your agenix path (location of `secrets.nix`)" }, +} + +let config_file = input --default $config_type.default_path "Select your config file" +let config_file = match $config_type.id { + "toml" => { $config_file }, + "toml-age" => { $config_file | str replace -r $"^($agenix_path)/" '' }, +} + +let config = match $config_type.id { + "toml" => { $config_file | open }, + "toml-age" => { (cd $agenix_path; agenix -d $config_file) | from toml }, +} # get origin & origin attributes separately from single origin string def split_origin []: string -> record { @@ -28,7 +48,6 @@ def split_origin []: string -> record { } let db = $db_file | open -let config = $config_file | open let exceptions_db = $db | get moz_perms | where type == "cookie" and permission == 1 and expireType == 0 and expireTime == 0 From ab16331e04cec49a472f176b014ac3e429a27da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Sat, 3 May 2025 00:44:32 +0200 Subject: [PATCH 2/2] chore(secrets): add firefox/site-data-exceptions.toml.age --- secrets/firefox/site-data-exceptions.toml.age | Bin 0 -> 4413 bytes secrets/secrets.nix | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 secrets/firefox/site-data-exceptions.toml.age diff --git a/secrets/firefox/site-data-exceptions.toml.age b/secrets/firefox/site-data-exceptions.toml.age new file mode 100644 index 0000000000000000000000000000000000000000..5176154e1f03f65f6b815ece22d82a325c0fc135 GIT binary patch literal 4413 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 v!y