feat(reference-manager): replace 'Zotero' with 'papis'
check / lint (push) Successful in 6s

This commit is contained in:
hektor committed 2026-11-08 20:33:53 +01:00
1 parent ed5bc2e303
commit 2b6f933673
7 files changed
+79 -181

No files matched your search

-101
View File
@@ -1,101 +0,0 @@
{
"config": {
"options": {},
"preferences": {
"ascii": "",
"asciiBibLaTeX": false,
"asciiBibTeX": true,
"autoAbbrev": false,
"autoExport": "immediate",
"autoExportDelay": 5,
"autoExportIdleWait": 10,
"autoExportPathReplaceDiacritics": false,
"autoExportPathReplaceDirSep": "-",
"autoExportPathReplaceSpace": " ",
"automaticTags": true,
"auxImport": false,
"baseAttachmentPath": "/home/h/doc/readings",
"biblatexExtendedDateFormat": true,
"biblatexExtendedNameFormat": true,
"biblatexExtractEprint": true,
"biblatexUsePrefix": true,
"bibtexEditionOrdinal": false,
"bibtexParticleNoOp": false,
"bibtexURL": "off",
"cache": true,
"cacheDelete": false,
"charmap": "",
"chinese": false,
"chineseSplitName": true,
"citeCommand": "cite",
"citekeyCaseInsensitive": true,
"citekeyFold": true,
"citekeyFormat": "zotero.clean",
"citekeyFormatEditing": "zotero.clean",
"citekeySearch": false,
"citekeyUnsafeChars": "\\\"#%'(),={}~",
"csquotes": "",
"DOIandURL": "both",
"exportBibTeXStrings": "off",
"exportBraceProtection": true,
"exportSort": "citekey",
"exportTitleCase": true,
"extraMergeCitekeys": false,
"extraMergeCSL": false,
"extraMergeTeX": false,
"fillKeyAfter": 1,
"git": "config",
"import": true,
"importBibTeXStrings": true,
"importCaseProtection": "as-needed",
"importCitationKey": true,
"importDetectURLs": true,
"importExtra": true,
"importJabRefAbbreviations": true,
"importJabRefStrings": true,
"importNoteToExtra": "",
"importPlaceEvent": "inproceedings,conference,presentation,talk",
"importSentenceCase": "on+guess",
"importSentenceCaseQuoted": true,
"importUnknownTexCommand": "ignore",
"itemObserverDelay": 5,
"jabrefFormat": 0,
"japanese": false,
"keyScope": "global",
"language": "langid",
"logEvents": false,
"mapMath": "",
"mapText": "",
"packages": "",
"parseParticles": true,
"patchDates": "dateadded=dateAdded, date-added=dateAdded, datemodified=dateModified, date-modified=dateModified",
"platform": "lin",
"postscript": "",
"postscriptOverride": "",
"preferencesOverride": "",
"qualityReport": false,
"quickCopyEta": "",
"quickCopyMode": "citekeys",
"quickCopyOrgMode": "zotero",
"quickCopyPandocBrackets": false,
"quickCopySelectLink": "zotero",
"rawImports": false,
"rawLaTag": "#LaTeX",
"relativeFilePaths": false,
"remigrate": false,
"resetKeyOnChange": false,
"scrubDatabase": false,
"separatorList": "and",
"separatorNames": "and",
"skipFields": "",
"skipWords": "a,ab,aboard,about,above,across,after,against,al,along,amid,among,an,and,anti,around,as,at,before,behind,below,beneath,beside,besides,between,beyond,but,by,d,da,das,de,del,dell,dello,dei,degli,della,dell,delle,dem,den,der,des,despite,die,do,down,du,during,ein,eine,einem,einen,einer,eines,el,en,et,except,for,from,gli,i,il,in,inside,into,is,l,la,las,le,les,like,lo,los,near,nor,of,off,on,onto,or,over,past,per,plus,round,save,since,so,some,sur,than,the,through,to,toward,towards,un,una,unas,under,underneath,une,unlike,uno,unos,until,up,upon,versus,via,von,while,with,within,without,yet,zu,zum",
"startupProgress": "popup",
"strings": "",
"stringsOverride": "",
"testing": false,
"verbatimFields": "url,doi,file,pdf,ids,eprint,/^verb[a-z]$/,groups,/^citeulike-linkout-[0-9]+$/, /^bdsk-url-[0-9]+$/",
"warnBulkModify": 10,
"warnTitleCased": false
}
}
}
+13 -60
View File
@@ -1,67 +1,20 @@
{ config, lib, ... }:
{
config,
inputs,
lib,
pkgs,
...
}:
let
betterBibtex = pkgs.fetchzip (finalAttrs: {
pname = "zotero-better-bibtex";
version = "9.0.64";
url = "https://github.com/retorquere/zotero-better-bibtex/releases/download/v${finalAttrs.version}/zotero-better-bibtex-${finalAttrs.version}.xpi";
hash = "sha256-eu/lkWdW/wbehBjk/5ERnKxBob6yaoS4qsh75RaQx5A=";
extension = "zip";
stripRoot = false;
});
hasBrowser =
name:
lib.elem name [
config.browser.primary
config.browser.secondary
];
zoteroConnector =
inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system}.zotero-connector;
zoteroAddonId = "zotero@chnm.gmu.edu";
connectorExtension = {
profiles.default.extensions.packages = [ zoteroConnector ];
policies.ExtensionSettings.${zoteroAddonId}.default_area = "navbar";
};
in
{
options.reference-manager.enable = lib.mkEnableOption "reference manager (Zotero)";
options.reference-manager.enable = lib.mkOption { default = false; };
config = lib.mkIf config.reference-manager.enable {
home = {
packages = [ pkgs.zotero ];
file = {
".zotero/bbt.json".source = ./bbt.json;
".zotero/zotero/profiles.ini".text = lib.generators.toINI { } {
General = {
StartWithLastProfile = 1;
Version = 2;
};
Profile0 = {
Name = "default";
IsRelative = 1;
Path = "default";
Default = 1;
};
};
".zotero/zotero/default/extensions/better-bibtex@iris-advies.com".source = betterBibtex;
".zotero/zotero/default/user.js".text = ''
user_pref("extensions.startupScanScopes", 1);
user_pref("extensions.autoDisableScopes", 14);
'';
programs.papis = {
enable = true;
libraries.papers = {
isDefault = true;
settings.dir = "${config.readings.path}/papis";
};
settings = {
unique-document-keys = ''["ref"]'';
bibtex-ignore-keys = ''["abstract", "note", "csl_type", "collections", "tags", "files"]'';
add-folder-name = "{doc[ref]}";
};
};
programs.firefox = lib.mkIf (hasBrowser "firefox") connectorExtension;
programs.librewolf = lib.mkIf (hasBrowser "librewolf") connectorExtension;
};
}