aboutsummaryrefslogtreecommitdiff
path: root/modules/kobo
diff options
context:
space:
mode:
Diffstat (limited to 'modules/kobo')
-rw-r--r--modules/kobo/default.nix40
1 files changed, 26 insertions, 14 deletions
diff --git a/modules/kobo/default.nix b/modules/kobo/default.nix
index 47dfe91..cdf9728 100644
--- a/modules/kobo/default.nix
+++ b/modules/kobo/default.nix
@@ -18,19 +18,23 @@ in {
type = types.str;
readOnly = true;
internal = true;
- deafault = "/mnt/onboard/${cfg.path}";
+ default = "/mnt/onboard/${cfg.path}";
};
file = mkOption {
default = {};
type = types.attrsOf (types.submodule (pkgs.callPackage ../lib/file-type.nix {}));
+ apply = filterAttrs (_: v: v.enable);
};
_allFiles = mkOption {
type = types.package;
readOnly = true;
internal = true;
- default = (pkgs.callPackage ../lib/merge-files.nix {}) (attrValues cfg.file);
+ default = pkgs.symlinkJoin {
+ name = "kobo-files";
+ paths = mapAttrsToList (v: v._package) cfg.file;
+ };
};
conf = mkOption {
@@ -40,19 +44,27 @@ in {
};
};
- config = {
- kobo = {
- conf = {
- FeatureSettings.ExcludeSyncFolders = ''(\.(?!kobo|adobe).+|([^.][^/]*/)+\..+)'';
- ApplicationPreferences = {
- SideloadedMode = true;
- QuickTourShown = true;
+ config = mkMerge [
+ {
+ kobo = {
+ conf = {
+ FeatureSettings.ExcludeSyncFolders = ''(\.(?!kobo|adobe).+|([^.][^/]*/)+\..+)'';
+ ApplicationPreferences = {
+ SideloadedMode = true;
+ QuickTourShown = true;
+ };
};
- };
- file = mkIf (cfg.conf != {}) {
- "Kobo eReader.conf".text = generators.toINI {} cfg.conf;
+ file = mkIf (cfg.conf != {}) {
+ "Kobo eReader.conf".text = generators.toINI {} cfg.conf;
+ };
};
- };
- };
+ }
+ (mkIf cfg.enable {
+ koboroot.include = singleton (pkgs.linkFarm [{
+ name = cfg.devicePath;
+ path = cfg._allFiles;
+ }]);
+ })
+ ];
}