aboutsummaryrefslogtreecommitdiff
path: root/modules/koreader
diff options
context:
space:
mode:
Diffstat (limited to 'modules/koreader')
-rw-r--r--modules/koreader/default.nix20
1 files changed, 15 insertions, 5 deletions
diff --git a/modules/koreader/default.nix b/modules/koreader/default.nix
index db12219..3cc5281 100644
--- a/modules/koreader/default.nix
+++ b/modules/koreader/default.nix
@@ -12,9 +12,10 @@ in {
type = types.package;
readOnly = true;
internal = true;
- default = (pkgs.callPackage ../lib/merge-files.nix {}) ([
- cfg.package
- ] ++ attrValues cfg.file);
+ default = pkgs.symlinkJoin {
+ name = "koreader-files";
+ paths = mapAttrsToList (_: v: v._package) cfg.file ++ [ cfg.package ];
+ };
};
path = mkOption {
@@ -34,6 +35,7 @@ in {
file = mkOption {
default = {};
type = types.attrsOf (types.submodule (pkgs.callPackage ../lib/file-type.nix {}));
+ apply = filterAttrs (_: v: v.enable);
};
nickel = {
@@ -41,8 +43,16 @@ in {
};
};
- config = {
- nickel.menu.item = mkIf (cfg.enable && cfg.nickel.enable) {
+ config = mkIf cfg.enable {
+ koboroot.include = [
+ (pkgs.linkFarm [{
+ name = cfg.devicePath;
+ path = cfg._allFiles;
+ })
+ cfg.package.KoboRoot
+ ];
+
+ nickel.menu.item = mkIf cfg.nickel.enable {
koreader = singleton {
location = "main";
label = "KOReader";