summaryrefslogtreecommitdiff
path: root/modules/main.nix
diff options
context:
space:
mode:
authorChris Wells <chris@mathematicaster.org>2026-10-28 11:49:51 -0400
committerChris Wells <chris@mathematicaster.org>2026-10-28 11:49:51 -0400
commitb87ced9a95fd0de4e3631e67cc5a7a929adee464 (patch)
tree3f02b2679ba3397fbbc5b172cfa613b2f6c93134 /modules/main.nix
parentf9bdbf51aa61503d77e387095e7a4e1f34acdde3 (diff)
downloadko-manager-b87ced9a95fd0de4e3631e67cc5a7a929adee464.tar
ko-manager-b87ced9a95fd0de4e3631e67cc5a7a929adee464.tar.gz
ko-manager-b87ced9a95fd0de4e3631e67cc5a7a929adee464.tar.bz2
ko-manager-b87ced9a95fd0de4e3631e67cc5a7a929adee464.tar.lz
ko-manager-b87ced9a95fd0de4e3631e67cc5a7a929adee464.tar.xz
ko-manager-b87ced9a95fd0de4e3631e67cc5a7a929adee464.tar.zst
ko-manager-b87ced9a95fd0de4e3631e67cc5a7a929adee464.zip
Working concept with an instance for my pocketbook
Diffstat (limited to 'modules/main.nix')
-rw-r--r--modules/main.nix23
1 files changed, 20 insertions, 3 deletions
diff --git a/modules/main.nix b/modules/main.nix
index b568efa..974f599 100644
--- a/modules/main.nix
+++ b/modules/main.nix
@@ -17,32 +17,49 @@ with builtins // lib;
with types;
nullOr
<| enum [
+ "raw"
"kobo"
"pocketbook"
];
default = null;
};
basePackage = mkOption {
- type = types.package;
+ type = types.path;
};
koreaderPath = mkOption {
type = types.str;
};
+ finalPackage = mkOption {
+ type = types.package;
+ readOnly = true;
+ default = pkgs.runCommandLocal "merge" { nativeBuildInputs = [ pkgs.rsync ]; } ''
+ RSYNC="rsync -a --copy-links -v"
+
+ $RSYNC "${config.koreader.basePackage}/" "$out/"
+ $RSYNC "${config._files}/" "$out/${config.koreaderPath}/"
+ '';
+ };
};
};
config = mkMerge [
(mkIf (config.koreader.flavor == "kobo") {
koreader = {
- basePackage = mkOptionDefault pkgs.koreader-kobo;
+ basePackage = mkOptionDefault <| pkgs.callPackage ../pkgs/kobo.nix { };
koreaderPath = mkOptionDefault ".adds/koreader";
};
})
(mkIf (config.koreader.flavor == "pocketbook") {
koreader = {
- basePackage = mkOptionDefault pkgs.koreader-pocketbook;
+ basePackage = mkOptionDefault <| pkgs.callPackage ../pkgs/pocketbook.nix { };
koreaderPath = mkOptionDefault "applications/koreader";
};
})
+ (mkIf (config.koreader.flavor == "raw") {
+ koreader = {
+ basePackage = mkOptionDefault <| pkgs.runCommandLocal "raw" { } "mkdir $out";
+ koreaderPath = mkOptionDefault "";
+ };
+ })
];
}