From 4f471484b3a1e16230979a8406503a220b9101f4 Mon Sep 17 00:00:00 2001 From: Chris Wells Date: Tue, 10 Sep 2024 14:51:28 -0500 Subject: I think this is almost working! --- modules/kfmon/default.nix | 53 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 11 deletions(-) (limited to 'modules/kfmon/default.nix') diff --git a/modules/kfmon/default.nix b/modules/kfmon/default.nix index ac20b86..a2fcbb9 100644 --- a/modules/kfmon/default.nix +++ b/modules/kfmon/default.nix @@ -29,16 +29,44 @@ in { apply = filterAttrs (_: v: v.enable); }; - _allFiles = mkOption { + _createdFiles = mkOption { type = types.package; internal = true; readOnly = true; - default = pkgs.symlinkJoin { - name = "kfmon-files"; - paths = mapAttrsToList (v: v._package) cfg.file; + default = pkgs.buildEnv { + name = "kfmon-files-created"; + paths = mapAttrsToList (_: v: v._package) cfg.file; + extraPrefix = cfg.devicePath; }; }; + finalPackage = mkOption { + type = types.package; + internal = true; + readOnly = true; + default = pkgs.mergePaths { + name = "kfmon-package"; + paths = [ + (pkgs.linkFarm "kfmon" [{ + name = removePrefix "/" cfg.devicePath; + path = cfg.package.out; + }]) + cfg._createdFiles + cfg.package.KoboRoot + ]; + }; + }; + + # _allFiles = mkOption { + # type = types.package; + # internal = true; + # readOnly = true; + # default = pkgs.symlinkJoin { + # name = "kfmon-files"; + # paths = mapAttrsToList (v: v._package) cfg.file; + # }; + # }; + configs = mkOption { type = types.attrsOf ini.type; default = {}; @@ -50,6 +78,8 @@ in { config = mkMerge [ { + info.kfmon = cfg.enable; + kfmon.file = mapAttrs' (n: v: { name = "kfmon-config-${n}"; value = { @@ -62,13 +92,14 @@ in { }); } (mkIf cfg.enable { - koboroot.include = [ - (pkgs.linkFarm [{ - name = cfg.devicePath; - path = cfg._allFiles; - }]) - cfg.package.KoboRoot - ]; + koboroot.include = singleton cfg.finalPackage; + # koboroot.include = [ + # (pkgs.linkFarm [{ + # name = cfg.devicePath; + # path = cfg._allFiles; + # }]) + # cfg.package.KoboRoot + # ]; }) ]; } -- cgit v1.2.3