diff options
Diffstat (limited to 'modules/redux/koreader.nix')
| -rw-r--r-- | modules/redux/koreader.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/redux/koreader.nix b/modules/redux/koreader.nix new file mode 100644 index 0000000..1c885a8 --- /dev/null +++ b/modules/redux/koreader.nix @@ -0,0 +1,42 @@ +{ config, pkgs, lib, options, ... }: +with builtins // lib; +let + cfg = config.koreader; +in { + options.koreader = { + enable = mkEnableOption "KOReader"; + + path = mkOption { + type = types.str; + default = ".adds/koreader"; + description = "Relative path to KOReader within src"; + }; + + nickleEntry = mkEnableOption "Launch KOReader directly via NickleMenu"; + + file = mkOption { + type = options.file.type; + default = {}; + description = "Files relative to ${cfg.path}"; + }; + }; + + config = mkIf cfg.enable { + file = mapAttrs' (n: v: { + name = "koreader-${n}"; + value = v // { + target = "${cfg.path}/${v.target}"; + }; + }) cfg.file + + nickle.menuItems = mkIf cfg.nickleEntry { + "koreader" = [ + "main" + "KOReader" + "cmd_spawn" + "quiet" + "exec /mnt/onboard/${cfg.path}/koreader.sh" + ]; + }; + }; +} |
