aboutsummaryrefslogtreecommitdiff
path: root/modules/kobo/default.nix
diff options
context:
space:
mode:
authorChris Wells <chris@mathematicaster.org>2024-09-10 11:52:55 -0500
committerChris Wells <chris@mathematicaster.org>2024-09-10 11:53:30 -0500
commit5cb16c34a8c5b803ec723934c1dc828c0e8e3bad (patch)
tree082671e90b6da26a0c06c1a5abc7a4571e0dcc84 /modules/kobo/default.nix
parent8eae39e8e670f228e9675fb3bc432ce512560396 (diff)
downloadkobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar
kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.gz
kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.bz2
kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.lz
kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.xz
kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.zst
kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.zip
Trying to get everything to actually work
Diffstat (limited to 'modules/kobo/default.nix')
-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;
+ }]);
+ })
+ ];
}