mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
feat[client]: add anki module
Some checks failed
Flake check / Check flake (push) Has been cancelled
Some checks failed
Flake check / Check flake (push) Has been cancelled
This commit is contained in:
parent
dbe12c8d5e
commit
0287e9d582
8 changed files with 310 additions and 75 deletions
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselmodules.anki-tray = lib.mkEnableOption "enable anki applet for tray";
|
||||
config = lib.mkIf config.swarselmodules.anki-tray {
|
||||
|
|
@ -19,7 +19,11 @@
|
|||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.anki-bin}/bin/anki-bin";
|
||||
# ExecStart = "${lib.getExe config.programs.anki.package}";
|
||||
ExecStart = "/etc/profiles/per-user/swarsel/bin/anki";
|
||||
Environment = [
|
||||
"QT_QPA_PLATFORM=xcb"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
64
modules/home/common/anki.nix
Normal file
64
modules/home/common/anki.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{ lib, config, pkgs, globals, nixosConfig ? config, ... }:
|
||||
let
|
||||
moduleName = "anki";
|
||||
inherit (config.swarselsystems) isPublic isNixos;
|
||||
in
|
||||
{
|
||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
|
||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||
|
||||
sops = lib.mkIf (!isPublic && !isNixos) {
|
||||
secrets = {
|
||||
anki-user = { };
|
||||
anki-pw = { };
|
||||
};
|
||||
};
|
||||
|
||||
programs.anki = {
|
||||
enable = true;
|
||||
package = pkgs.anki;
|
||||
hideBottomBar = true;
|
||||
hideBottomBarMode = "always";
|
||||
hideTopBar = true;
|
||||
hideTopBarMode = "always";
|
||||
reduceMotion = true;
|
||||
spacebarRatesCard = true;
|
||||
# videoDriver = "opengl";
|
||||
sync = {
|
||||
autoSync = true;
|
||||
syncMedia = true;
|
||||
url = "https://${globals.services.ankisync.domain}";
|
||||
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
||||
# this is not the password but the syncKey
|
||||
# get it by logging in or out, saving preferences and then
|
||||
# show details on the "settings wont be saved" dialog
|
||||
keyFile = nixosConfig.sops.secrets.anki-pw.path;
|
||||
};
|
||||
addons =
|
||||
let
|
||||
minimize-to-tray = pkgs.anki-utils.buildAnkiAddon
|
||||
(finalAttrs: {
|
||||
pname = "minimize-to-tray";
|
||||
version = "2.0.1";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "simgunz";
|
||||
repo = "anki21-addons_minimize-to-tray";
|
||||
rev = finalAttrs.version;
|
||||
sparseCheckout = [ "src" ];
|
||||
hash = "sha256-xmvbIOfi9K0yEUtUNKtuvv2Vmqrkaa4Jie6J1s+FuqY=";
|
||||
};
|
||||
sourceRoot = "${finalAttrs.src.name}/src";
|
||||
});
|
||||
in
|
||||
[
|
||||
(minimize-to-tray.withConfig
|
||||
{
|
||||
config = {
|
||||
hide_on_startup = "true";
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
|
||||
# specifically needed for anki
|
||||
# mpv
|
||||
anki-bin
|
||||
# anki-bin
|
||||
|
||||
# dirvish file previews
|
||||
fd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue