diff options
| author | Chris Wells <chris@mathematicaster.org> | 2024-09-10 14:51:28 -0500 |
|---|---|---|
| committer | Chris Wells <chris@mathematicaster.org> | 2024-09-10 14:51:28 -0500 |
| commit | 4f471484b3a1e16230979a8406503a220b9101f4 (patch) | |
| tree | dc3f5256f275f34d3bcc9573462ed34c7fd97f77 /modules/nickel | |
| parent | 5cb16c34a8c5b803ec723934c1dc828c0e8e3bad (diff) | |
| download | kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.gz kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.bz2 kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.lz kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.xz kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.zst kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.zip | |
I think this is almost working!
Diffstat (limited to 'modules/nickel')
| -rw-r--r-- | modules/nickel/default.nix | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/modules/nickel/default.nix b/modules/nickel/default.nix index 30b40d4..7663e93 100644 --- a/modules/nickel/default.nix +++ b/modules/nickel/default.nix @@ -53,13 +53,31 @@ in { package = mkPackageOption pkgs "nickel-menu" {}; - _allFiles = mkOption { + _createdFiles = mkOption { type = types.package; readOnly = true; internal = true; - default = symlinkJoin { - name = "nickel-files"; - paths = mapAttrsToList (v: v._package) cfg.file; + default = pkgs.buildEnv { + name = "nickel-files-created"; + paths = mapAttrsToList (_: v: v._package) cfg.file; + extraPrefix = cfg.devicePath; + }; + }; + + finalPackage = mkOption { + type = types.package; + readOnly = true; + internal = true; + default = pkgs.mergePaths { + name = "nickel-menu-package"; + paths = [ + (pkgs.linkFarm "nickel-menu" [{ + name = removePrefix "/" cfg.devicePath; + path = cfg.package.out; + }]) + cfg._createdFiles + cfg.package.KoboRoot + ]; }; }; @@ -68,7 +86,6 @@ in { default = ".adds/nm"; readOnly = true; internal = true; - # description = "Relative path to nickelMenu within src"; }; devicePath = mkOption { @@ -139,6 +156,8 @@ in { config = mkMerge [ { + info.nickel = cfg.enable; + nickel = { file = mkMerge [ (mapAttrs (_: v: { @@ -156,10 +175,7 @@ in { }; } (mkIf cfg.enable { - koboroot.include = singleton (pkgs.linkFarm [{ - name = cfg.devicePath; - path = cfg._allFiles; - }]); + koboroot.include = singleton cfg.finalPackage; }) ]; } |
