zathura: add module
Add the zathura document viewer as a program option with support for managing the zathurarc configuration file.
This commit is contained in:
parent
5ff03ce5ac
commit
d27bccdff1
|
@ -786,6 +786,13 @@ in
|
|||
A new module is available: 'programs.taskwarrior'.
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
time = "2018-09-18T21:43:54+00:00";
|
||||
message = ''
|
||||
A new module is available: 'programs.zathura'.
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -57,6 +57,7 @@ let
|
|||
./programs/termite.nix
|
||||
./programs/texlive.nix
|
||||
./programs/vim.nix
|
||||
./programs/zathura.nix
|
||||
./programs/zsh.nix
|
||||
./services/blueman-applet.nix
|
||||
./services/compton.nix
|
||||
|
|
61
modules/programs/zathura.nix
Normal file
61
modules/programs/zathura.nix
Normal file
|
@ -0,0 +1,61 @@
|
|||
{ config, lib, pkgs, ...}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.programs.zathura;
|
||||
|
||||
formatLine = n: v:
|
||||
let
|
||||
formatValue = v:
|
||||
if isBool v then (if v then "true" else "false")
|
||||
else toString v;
|
||||
in
|
||||
"set ${n}\t\"${formatValue v}\"";
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
meta.maintainers = [ maintainers.rprospero ];
|
||||
|
||||
options.programs.zathura = {
|
||||
enable = mkEnableOption ''
|
||||
Zathura, a highly customizable and funtional document viewer
|
||||
focused on keyboard interaction'';
|
||||
|
||||
options = mkOption {
|
||||
default = {};
|
||||
type = with types; attrsOf (either str (either bool int));
|
||||
description = ''
|
||||
Add <option>:set</option> command options to zathura and make
|
||||
them permanent. See
|
||||
<citerefentry>
|
||||
<refentrytitle>zathurarc</refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
</citerefentry>
|
||||
for the full list of options.
|
||||
'';
|
||||
example = { default-bg = "#000000"; default-fg = "#FFFFFF"; };
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional commands for zathura that will be added to the
|
||||
<filename>zathurarc</filename> file.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.zathura ];
|
||||
|
||||
xdg.configFile."zathura/zathurarc".text =
|
||||
concatStringsSep "\n" ([]
|
||||
++ optional (cfg.extraConfig != "") cfg.extraConfig
|
||||
++ mapAttrsToList formatLine cfg.options
|
||||
) + "\n";
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue