anki: add module (#7274)

This commit is contained in:
June Stepp 2025-07-05 04:45:35 +00:00 committed by GitHub
parent 57d1027e1e
commit e8da7372fd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 679 additions and 0 deletions

View file

@ -0,0 +1,7 @@
{ lib, pkgs, ... }:
# Anki is currently marked as broken on Darwin (2025/06/23)
lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
anki-minimal-config = ./minimal-config.nix;
anki-full-config = ./full-config.nix;
}

View file

@ -0,0 +1,57 @@
{ pkgs, ... }:
let
# This would normally not be a file in the store for security reasons.
testPasswordFile = pkgs.writeText "test-password-file" "password";
in
{
programs.anki = {
enable = true;
addons = [ pkgs.ankiAddons.passfail2 ];
answerKeys = [
{
ease = 1;
key = "left";
}
{
ease = 2;
key = "up";
}
];
hideBottomBar = true;
hideBottomBarMode = "fullscreen";
hideTopBar = false;
hideTopBarMode = "always";
language = "en_US";
legacyImportExport = false;
minimalistMode = true;
reduceMotion = true;
spacebarRatesCard = true;
style = "native";
theme = "dark";
uiScale = 1.0;
videoDriver = "opengl";
sync = {
autoSync = true;
syncMedia = true;
autoSyncMediaMinutes = 15;
networkTimeout = 60;
url = "http://example.com/anki-sync/";
username = "lovelearning@email.com";
passwordFile = testPasswordFile;
};
};
nmt.script =
let
ankiBaseDir =
if pkgs.stdenv.hostPlatform.isDarwin then
"home-files/Library/Application Support/Anki2"
else
"home-files/.local/share/Anki2";
in
''
assertFileExists "${ankiBaseDir}/prefs21.db"
assertFileExists "${ankiBaseDir}/gldriver6"
'';
}

View file

@ -0,0 +1,18 @@
{ pkgs, ... }:
{
programs.anki = {
enable = true;
};
nmt.script =
let
ankiBaseDir =
if pkgs.stdenv.hostPlatform.isDarwin then
"home-files/Library/Application Support/Anki2"
else
"home-files/.local/share/Anki2";
in
''
assertFileExists "${ankiBaseDir}/prefs21.db"
'';
}