fix(anki): make sops optional for standalone home-manager
This commit is contained in:
@@ -1,6 +1,23 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
osConfig ? null,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
hmSopsAvailable = config ? sops && config.sops ? secrets;
|
||||||
|
osSopsAvailable = osConfig != null && osConfig ? sops && osConfig.sops ? secrets;
|
||||||
|
sopsAvailable = hmSopsAvailable || osSopsAvailable;
|
||||||
|
|
||||||
|
sopsSecrets = if hmSopsAvailable then config.sops.secrets else osConfig.sops.secrets;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
warnings = lib.optional (
|
||||||
|
!sopsAvailable && config.programs.anki.enable
|
||||||
|
) "anki is enabled but sops secrets are not available. anki sync will not be configured.";
|
||||||
|
|
||||||
programs.anki = {
|
programs.anki = {
|
||||||
enable = true;
|
enable = true;
|
||||||
addons = with pkgs.ankiAddons; [
|
addons = with pkgs.ankiAddons; [
|
||||||
@@ -8,9 +25,9 @@
|
|||||||
puppy-reinforcement
|
puppy-reinforcement
|
||||||
review-heatmap
|
review-heatmap
|
||||||
];
|
];
|
||||||
sync = {
|
sync = lib.mkIf sopsAvailable {
|
||||||
usernameFile = "${config.sops.secrets."anki_sync_user".path}";
|
usernameFile = "${sopsSecrets."anki_sync_user".path}";
|
||||||
keyFile = "${config.sops.secrets."anki_sync_key".path}";
|
keyFile = "${sopsSecrets."anki_sync_key".path}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user