summaryrefslogtreecommitdiff
path: root/home-modules/pandoc/default.nix
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2025-03-16 17:15:39 +0100
committerGregor Kleen <gkleen@yggdrasil.li>2025-03-16 17:15:39 +0100
commit804533cde06189bb2109c063092d59b2d53ee4db (patch)
tree392f4158fa2e0b934a1cfc6bb944ce5409f653ca /home-modules/pandoc/default.nix
parent31ab1c84a4da06d1bf029c462fd9adeadb601c8c (diff)
downloadnixos-804533cde06189bb2109c063092d59b2d53ee4db.tar
nixos-804533cde06189bb2109c063092d59b2d53ee4db.tar.gz
nixos-804533cde06189bb2109c063092d59b2d53ee4db.tar.bz2
nixos-804533cde06189bb2109c063092d59b2d53ee4db.tar.xz
nixos-804533cde06189bb2109c063092d59b2d53ee4db.zip
...
Diffstat (limited to 'home-modules/pandoc/default.nix')
-rw-r--r--home-modules/pandoc/default.nix27
1 files changed, 27 insertions, 0 deletions
diff --git a/home-modules/pandoc/default.nix b/home-modules/pandoc/default.nix
new file mode 100644
index 00000000..1d16b621
--- /dev/null
+++ b/home-modules/pandoc/default.nix
@@ -0,0 +1,27 @@
1{ pkgs, lib, config, ... }:
2
3let
4 cfg = config.programs.pandoc;
5in {
6 options.programs.pandoc = {
7 germanAbbreviations = lib.mkEnableOption "importing german abbreviations" // { default = true; };
8 extraAbbreviations = lib.mkOption {
9 type = lib.types.listOf lib.types.str;
10 default = [];
11 };
12 };
13
14 config = lib.mkIf cfg.enable {
15 xdg.dataFile = lib.mkIf (cfg.germanAbbreviations || cfg.extraAbbreviations != []) {
16 "pandoc/abbreviations".source = pkgs.runCommand "pandoc-abbreviations" {
17 buildInputs = [ pkgs.coreutils ];
18 } ''
19 cat \
20 <(${lib.getExe' cfg.finalPackage "pandoc"} --print-default-data-file=abbreviations) \
21 ${lib.optionalString cfg.germanAbbreviations ./german_abbreviations.txt} \
22 ${lib.optionalString (cfg.extraAbbreviations != []) (pkgs.writeText "abbrevs.txt" (lib.concatStringsSep "\n" cfg.extraAbbreviations))} \
23 | sort | uniq >$out
24 '';
25 };
26 };
27}