Compare commits

..

2 Commits

Author SHA1 Message Date
Joshua Potter 2a7751c5d4 Upgrade Anki to 23.12.1. 2024-01-31 07:30:26 -07:00
Joshua Potter fef7e8294b Upgrade Anki version. 2024-01-31 07:13:42 -07:00
3 changed files with 69 additions and 24 deletions

View File

@ -57,7 +57,7 @@
users.jrpotter = { pkgs, ... }: { users.jrpotter = { pkgs, ... }: {
imports = [ imports = [
../../users/jrpotter ../../users/jrpotter
../../users/jrpotter/anki.nix ../../users/jrpotter/anki
]; ];
dconf.settings = { dconf.settings = {

View File

@ -0,0 +1,60 @@
{ pkgs, lib, commandLineArgs ? [] }:
let
pname = "anki-bin";
version = "23.12.1";
linux = pkgs.fetchurl {
url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
sha256 = "sha256-bFtAUqSoFS8CWESiepWXywndkijATbWp6CJdqlQecuk=";
};
unpacked = pkgs.stdenv.mkDerivation {
inherit pname version;
nativeBuildInputs = [ pkgs.zstd ];
src = linux;
installPhase = ''
runHook preInstall
xdg-mime () {
echo Stubbed!
}
export -f xdg-mime
PREFIX=$out bash install.sh
runHook postInstall
'';
};
passthru.sources = { inherit linux; };
meta = with lib; {
inherit (pkgs.anki.meta) license homepage description longDescription;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ mahmoudk1000 ];
};
in
pkgs.buildFHSEnv (pkgs.appimageTools.defaultFhsEnvArgs // {
inherit pname version;
name = null; # Appimage sets it to "appimage-env"
targetPkgs = pkgs: (with pkgs; [
xorg.libxkbfile
xcb-util-cursor-HEAD
krb5
]);
runScript = pkgs.writeShellScript "anki-wrapper.sh" ''
exec ${unpacked}/bin/anki ${ lib.strings.escapeShellArgs commandLineArgs } "$@"
'';
extraInstallCommands = ''
ln -s ${pname} $out/bin/anki
mkdir -p $out/share
cp -R ${unpacked}/share/applications \
${unpacked}/share/man \
${unpacked}/share/pixmaps \
$out/share/
'';
inherit meta passthru;
})

View File

@ -1,15 +1,7 @@
{ pkgs, ... }: { pkgs, lib, ... }:
let let
addons = id: "Anki2/addons21/${toString id}"; addons = id: "Anki2/addons21/${toString id}";
FlexibleGrading = pkgs.fetchFromGitHub {
owner = "jrpotter";
repo = "FlexibleGrading";
rev = "d9cd06bbb154a0740518e58e4619d3855e22c027";
hash = "sha256-ciIVFyt7TDBeC+h5feA5I17Ld1Pge/hRDqGMMcLTJiM=";
fetchSubmodules = true;
};
anki-connect = pkgs.stdenv.mkDerivation { anki-connect = pkgs.stdenv.mkDerivation {
name = "anki-connect"; name = "anki-connect";
src = pkgs.fetchFromGitea { src = pkgs.fetchFromGitea {
@ -68,21 +60,14 @@ let
}; };
in in
{ {
# When deleting a plugin also remove the generated folder at
# `$HOME/.local/share/Anki2/addons21`.
xdg.dataFile = { xdg.dataFile = {
"${addons 1715096333}" = { "${addons 2055492159}".source = anki-connect;
source = FlexibleGrading; "${addons 566351439}".source = syntax-highlighting-ng;
recursive = true; # Let's addon write to directory.
}; };
"${addons 2055492159}".source = home.packages = [
anki-connect; (import ./anki-bin.nix { inherit pkgs lib; })
];
"${addons 1374772155}".source =
"${image-occlusion-enhanced}/src/image_occlusion_enhanced";
"${addons 566351439}".source =
syntax-highlighting-ng;
};
home.packages = [ pkgs.anki-bin ];
} }