aboutsummaryrefslogtreecommitdiff
path: root/modules/kfmon
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/kfmon
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/kfmon')
-rw-r--r--modules/kfmon/default.nix43
1 files changed, 29 insertions, 14 deletions
diff --git a/modules/kfmon/default.nix b/modules/kfmon/default.nix
index 8557a3e..ac20b86 100644
--- a/modules/kfmon/default.nix
+++ b/modules/kfmon/default.nix
@@ -26,13 +26,17 @@ in {
file = mkOption {
default = {};
type = types.attrsOf (types.submodule (pkgs.callPackage ../lib/file-type.nix {}));
+ apply = filterAttrs (_: v: v.enable);
};
_allFiles = mkOption {
type = types.package;
internal = true;
readOnly = true;
- default = (pkgs.callPackage ../lib/merge-files.nix {}) (attrValues file);
+ default = pkgs.symlinkJoin {
+ name = "kfmon-files";
+ paths = mapAttrsToList (v: v._package) cfg.file;
+ };
};
configs = mkOption {
@@ -44,16 +48,27 @@ in {
};
};
- config = {
- kfmon.file = mapAttrs' (n: v: {
- name = "kfmon-config-${n}";
- value = {
- text = generators.toINI {} v;
- target =
- let
- fixedN = if isSuffix ".ini" n then n else "${n}.ini";
- in "config/${fixedN}";
- };
- });
- };
-};
+ config = mkMerge [
+ {
+ kfmon.file = mapAttrs' (n: v: {
+ name = "kfmon-config-${n}";
+ value = {
+ text = generators.toINI {} v;
+ target =
+ let
+ fixedN = if isSuffix ".ini" n then n else "${n}.ini";
+ in "config/${fixedN}";
+ };
+ });
+ }
+ (mkIf cfg.enable {
+ koboroot.include = [
+ (pkgs.linkFarm [{
+ name = cfg.devicePath;
+ path = cfg._allFiles;
+ }])
+ cfg.package.KoboRoot
+ ];
+ })
+ ];
+}