From d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6 Mon Sep 17 00:00:00 2001 From: Chris Wells Date: Wed, 24 Jan 2024 14:56:56 -0600 Subject: Getting a whole kobo distribution together! --- modules/redux/koreader.nix | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 modules/redux/koreader.nix (limited to 'modules/redux/koreader.nix') 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" + ]; + }; + }; +} -- cgit v1.2.3