feat(anki): add enable option
This commit is contained in:
@@ -63,6 +63,7 @@
|
||||
bash.addBinToPath = true;
|
||||
};
|
||||
anki.enable = true;
|
||||
anki.enable = true;
|
||||
k8s.k9s.enable = true;
|
||||
taskwarrior.enable = true;
|
||||
audio.enable = true;
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
postgresql.enable = true;
|
||||
redis.enable = true;
|
||||
};
|
||||
anki.enable = true;
|
||||
k8s.enable = true;
|
||||
shell.enable = true;
|
||||
my.stylix.enable = true;
|
||||
|
||||
@@ -9,33 +9,40 @@
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.anki;
|
||||
sops = myUtils.sopsAvailability config osConfig;
|
||||
standalone = osConfig == null;
|
||||
in
|
||||
lib.optionalAttrs standalone {
|
||||
sops.secrets = myUtils.mkSopsSecrets "${toString inputs.nix-secrets}/secrets" null {
|
||||
anki = [
|
||||
"sync-user"
|
||||
"sync-key"
|
||||
];
|
||||
};
|
||||
}
|
||||
// {
|
||||
warnings = lib.optional (
|
||||
!sops.available && config.programs.anki.enable
|
||||
) "anki is enabled but sops secrets are not available. anki sync will not be configured.";
|
||||
{
|
||||
options.anki.enable = lib.mkEnableOption "Anki";
|
||||
|
||||
programs.anki = {
|
||||
enable = true;
|
||||
package = config.nixgl.wrap pkgs.anki;
|
||||
addons = with pkgs.ankiAddons; [
|
||||
anki-connect
|
||||
puppy-reinforcement
|
||||
review-heatmap
|
||||
];
|
||||
profiles."User 1".sync = lib.mkIf sops.available {
|
||||
usernameFile = "${sops.secrets."anki/sync-user".path}";
|
||||
keyFile = "${sops.secrets."anki/sync-key".path}";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable (
|
||||
lib.optionalAttrs standalone {
|
||||
sops.secrets = myUtils.mkSopsSecrets "${toString inputs.nix-secrets}/secrets" null {
|
||||
anki = [
|
||||
"sync-user"
|
||||
"sync-key"
|
||||
];
|
||||
};
|
||||
}
|
||||
// {
|
||||
warnings = lib.optional (
|
||||
!sops.available
|
||||
) "anki is enabled but sops secrets are not available. anki sync will not be configured.";
|
||||
|
||||
programs.anki = {
|
||||
enable = true;
|
||||
package = config.nixgl.wrap pkgs.anki;
|
||||
addons = with pkgs.ankiAddons; [
|
||||
anki-connect
|
||||
puppy-reinforcement
|
||||
review-heatmap
|
||||
];
|
||||
profiles."User 1".sync = lib.mkIf sops.available {
|
||||
usernameFile = "${sops.secrets."anki/sync-user".path}";
|
||||
keyFile = "${sops.secrets."anki/sync-key".path}";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user