feat(reference-manager): add reference manager module (Zotero)
This commit is contained in:
@@ -52,6 +52,7 @@
|
|||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
taskwarrior.enable = true;
|
taskwarrior.enable = true;
|
||||||
terminal.enable = true;
|
terminal.enable = true;
|
||||||
|
reference-manager.enable = true;
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
|||||||
37
home/modules/reference-manager/default.nix
Normal file
37
home/modules/reference-manager/default.nix
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.reference-manager;
|
||||||
|
|
||||||
|
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)";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [ pkgs.zotero ];
|
||||||
|
|
||||||
|
programs.firefox = lib.mkIf (hasBrowser "firefox") connectorExtension;
|
||||||
|
programs.librewolf = lib.mkIf (hasBrowser "librewolf") connectorExtension;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user