diff options
Diffstat (limited to 'modules/koreader')
| -rw-r--r-- | modules/koreader/default.nix | 20 |
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"; |
