From 9b1777363fc224193143b93ca7dfc97744f52e51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madeleine=20Sydney=20=C5=9Alaga?= Date: Thu, 30 Oct 2025 15:44:32 -0600 Subject: [PATCH] feat(anki): init --- modules/home/users/crumb/anki.nix | 33 +++++++++++++++++++++++++++++++ secrets.yaml | 6 ++++-- users/crumb/default.nix | 1 + users/crumb/secrets.yaml | 14 ++++++------- 4 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 modules/home/users/crumb/anki.nix diff --git a/modules/home/users/crumb/anki.nix b/modules/home/users/crumb/anki.nix new file mode 100644 index 0000000..83cfd69 --- /dev/null +++ b/modules/home/users/crumb/anki.nix @@ -0,0 +1,33 @@ +{ config, lib, pkgs, ... }: + +let cfg = config.sydnix.users.crumb.anki; +in { + options.sydnix.users.crumb.anki = { + enable = lib.mkEnableOption "Anki desktop"; + }; + + config = lib.mkIf cfg.enable { + sydnix.impermanence.directories = [ + ".local/share/Anki2" + ]; + + sydnix.sops.secrets = { + anki-sync-key = {}; + anki-username = {}; + }; + + programs.anki = { + enable = true; + addons = with pkgs.ankiAddons; [ + review-heatmap + ]; + sync = { + autoSync = true; + syncMedia = true; + url = "https://anki.deertopia.net/"; + usernameFile = config.sops.secrets.anki-username.path; + passwordFile = config.sops.secrets.anki-sync-key.path; + }; + }; + }; +} diff --git a/secrets.yaml b/secrets.yaml index 3b71c1c..d1dd8b0 100644 --- a/secrets.yaml +++ b/secrets.yaml @@ -26,7 +26,9 @@ sssd-environment: ENC[AES256_GCM,data:wDRBM5m5NgFTJorxM0j2TKbFqJW6LHh3or4vlyjdi0 #ENC[AES256_GCM,data:sjMO,iv:SKqEIa7IPojeJ+3JNf1GnHqx/K07ct5N2MfTNSlI4LY=,tag:ncdddnvvVJcjXzo5a5sQow==,type:comment] #ENC[AES256_GCM,data:XDr7C15PJq2MyCXWY5J3PtJZF34ipQaAk1qoXCyKTTiSbPbq2RxnyyEv,iv:e2a7+AQzgCfCyKBff11B92ZP92/8pQ61qimVt91KlNA=,tag:jiN6x4AkIMr+WljYnSsLiQ==,type:comment] webdav-htpasswd: ENC[AES256_GCM,data:1rP5r5pz0OlHj4V6M4sP7FP6wW5eFQUZs/60DRPqYrGc3eK73YYnCN3pYHtnf05pYnoxzYQpe9qLLOwZdzfX4IQRXci2Q4nDk3FtXDCOEAhWxCcbFF4d8ahfMPNzp+GtrtohulsTL38JOkKDLQy0Lar/pXoY5Q7oUw6Aj6wYXvVSE+IjfQo=,iv:YgEFiDlut5Cf/xJhQ77ZHIDcMgO+C8Bk/N3WB/g8dlE=,tag:pqw2lb0myuEyI40XjPkzaA==,type:str] +anki-username: ENC[AES256_GCM,data:584uxjwyodM=,iv:/6HLSLzHgc77U1iN5JDLR9F+o8Nfe+cYGE+F8sQCW7g=,tag:yHVdfhRN6OpHDwpk4Ju6zA==,type:str] anki-password: ENC[AES256_GCM,data:plSKMTeeilKt6weAnzw/jMo65A==,iv:lzuPUt1+2Iwi9sHbaFj0OuBLd1p+Do2N5aCYXd45MFQ=,tag:WIABFp1T6NuIGpqqQFHmrg==,type:str] +anki-sync-key: ENC[AES256_GCM,data:Ka4sPghPwmWQvdXw40ZRLogoMVTBjLnaSyHT9lTfn2XWHHqFAkANAg==,iv:bFkb/k7UUL8t26LjmQwiDYJpvq93NWuqUU/jNYkr7GQ=,tag:Mx5JdqjI3MDk7hsvOlPYIw==,type:str] sops: age: - recipient: age10fqh0td67alzpyjyhdex5ncj9thvaty506r0t63vs2nz4ldafgaqadl8mg @@ -47,7 +49,7 @@ sops: TXFLY2l0UHJ3Z0NGZjVpbTQ2UC8yaTQKA7wTmW9Ha6T2KmCr/nkXdizgv8+V6SAp ZhDO+uDQ1evIh2wLWMOXNJ3d/zplLCOTzR2xkqBIUp5V7MXj45RUIA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-17T00:58:56Z" - mac: ENC[AES256_GCM,data:hWOPPIYfSH5RQZrF+cb2zIuAXk0pNSQzsxvDbTxVvU/gMZlWACUJmwvoLUI0e8OgGkYTeO57NmGRlanYCb+DNJxwaQdT3Gx3IckmF/hcgQnj4D2m3D1LwjbuJXHwLzMibjE7D7J0dd4b3mGjvyzmcTyycTIQJunkQmHeKDFUwF0=,iv:2VadQjWxloXQxAWn5myCTlpbMiczDnVS9J3fdG9o+PQ=,tag:ye53IU1S97omktedjXBaIw==,type:str] + lastmodified: "2025-10-30T22:00:25Z" + mac: ENC[AES256_GCM,data:JSizGlYlwY4BDU7Np7qIoA98JBtIaOSQ/Z5hvmu7G4pYWuBCZM/DnktbBmW/dwCBHGfLnoG+fuojR798SVyIQ+jVILlnMf17IjInSIuPDPZ+QPI+aAKVaWXfMB11XNxbYbj5rIxE9aAH3p4yjoFS8UDt3esPLjfkmZ5Czshy7yw=,iv:2k962tU5ok6X04W3cheDKEVacgbcThMzW6gD0HirL/g=,tag:jBo6aSHOUwGjs8vFLnbD8A==,type:str] unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/users/crumb/default.nix b/users/crumb/default.nix index b54c7c0..c455b29 100644 --- a/users/crumb/default.nix +++ b/users/crumb/default.nix @@ -51,6 +51,7 @@ }; # Personal configurations. users.crumb = { + anki.enable = true; age.enable = true; rnote.enable = true; default-applications.enable = true; diff --git a/users/crumb/secrets.yaml b/users/crumb/secrets.yaml index aee6b99..43b8a86 100644 --- a/users/crumb/secrets.yaml +++ b/users/crumb/secrets.yaml @@ -2,11 +2,10 @@ lastfm-password: ENC[AES256_GCM,data:gLcWwEFLhlVdMWez5Kaja17WFUA=,iv:KT9JO0823dn librefm-password: ENC[AES256_GCM,data:0gDlWC/2CxryI6jH5RuJ,iv:8QVnhLko3H/IupQrNknxTR8NewfTP+DJyzvHk9Hzr48=,tag:Ku02Jp7p5G5qkO41Y3EFwA==,type:str] github-oauth: ENC[AES256_GCM,data:t3FKFYu8edeBipC55nrG0lt1SCY8q1N5dZmvsCg7GLlVl4oDXW8FyQ==,iv:aewQ63H6c5wAw+YQRKbDT18Q05hSFsrdQBSYOUeVNeY=,tag:m1oCnSmLt+0rfcfSO4sOkQ==,type:str] gitlab-oauth: ENC[AES256_GCM,data:1THznoGRZmq7BkisZoGa0ZiPG7aSmkV06SY=,iv:Gq6UPHBBrnpkiAo4CZipc89kJ9mfJrwIp9NmUmjtKBo=,tag:UhvgCQlnkTEQ4hEbCTM6ow==,type:str] +anki-username: ENC[AES256_GCM,data:hYOu21g=,iv:PY3RmCME8xPEjiva56sGGFTpDnXDn2tOYEE0VugnNaU=,tag:OvMMhFF2W5+82vlDgKCLiA==,type:str] +anki-password: ENC[AES256_GCM,data:dzK6C4AtkkBSBctDHU6G8ajT8A==,iv:ok2C5mkCF0ufOGO/BeHgcQjh9Z3PAka10kPFp5ifTH4=,tag:Ww5gJVDkNa1locFgJjGDIQ==,type:str] +anki-sync-key: ENC[AES256_GCM,data:3gID2PQy0BM7xb6hFQImTob7tlVXK835McYMSjyXsW1DrlYGTJU+cg==,iv:ZjFDb2OA7+UHATwdBKCy6O9htA4agIhJsydG4Oe6b1I=,tag:o/g6z5Ns9tuwRYBb7aYaGw==,type:str] sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] age: - recipient: age1qayk0d0f765v57pedm7mtau6qkmv8rh6jtaqm40g5g9armaty4jqc0v0y2 enc: | @@ -17,8 +16,7 @@ sops: VVBqSEM2bVFBU0M5YzZBQWIwUmVXUXMKvWb57Rc+rO5M8Pf7lvbSjuZB4FrHgT3A uBQHH3wpv0BVVzL8tucPnwNxDnwpWvFxxwNVy/rtfs6y6HPu6fuOsA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-04T06:44:34Z" - mac: ENC[AES256_GCM,data:6zIMlRUHqX0yWVX8CWo69QtutuYshHuNGJ3N+PTpwe6qawwrAAEOMK9Xg4PDu7GZDRWu89UBq3SLOB9DpzOzj1sNoQeokNBvO2AyY+3iBcwBgzX8GeN/A7VK/HPv7g6CuEwnwjvhZLYH74UzmzfXraxMMdx0wldoQE7HD8Ya49M=,iv:QpRtoBUEAyLjeoj4+xtfEibMZj0vhfcMZON3q7LBMBQ=,tag:Dd+Lomo+rg6/fgBRudtIUg==,type:str] - pgp: [] + lastmodified: "2025-10-30T22:03:11Z" + mac: ENC[AES256_GCM,data:gbEAYoqASWVigJHE/5ODkoMc1vZ4LQ1NJRqrQu9nXf+yQpjoDffvdWcJfXlZIPG4j0AGoYJYz95TX4UqZnVMfj5geft+bJdwGqnaoBcgFszkNpiXXGsBuRytpi9P1B5mQY05Y0tkGRW9ri0yIowyw2PZS5zzLRwJAXXbf+Vexeg=,iv:B/fkus/h+vQZ7YEBhNsgzKPZol9EIPg7X/Vam6HYQZ0=,tag:/n+u5ecXNwYjUAa5aeDVFw==,type:str] unencrypted_suffix: _unencrypted - version: 3.9.1 + version: 3.10.2