diff options
| author | Chris Wells <chris@mathematicaster.org> | 2026-10-28 11:49:51 -0400 |
|---|---|---|
| committer | Chris Wells <chris@mathematicaster.org> | 2026-10-28 11:49:51 -0400 |
| commit | b87ced9a95fd0de4e3631e67cc5a7a929adee464 (patch) | |
| tree | 3f02b2679ba3397fbbc5b172cfa613b2f6c93134 /modules/main.nix | |
| parent | f9bdbf51aa61503d77e387095e7a4e1f34acdde3 (diff) | |
| download | ko-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.nix | 23 |
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 ""; + }; + }) ]; } |
