aboutsummaryrefslogtreecommitdiff
path: root/modules/kfmon.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/kfmon.nix')
-rw-r--r--modules/kfmon.nix31
1 files changed, 26 insertions, 5 deletions
diff --git a/modules/kfmon.nix b/modules/kfmon.nix
index 33f6a9c..adb53bd 100644
--- a/modules/kfmon.nix
+++ b/modules/kfmon.nix
@@ -2,7 +2,10 @@
with builtins // lib;
let
cfg = config.kfmon;
+ ini = pkgs.formats.ini {};
importOption = p: (import p { inherit pkgs lib; } cfg.path).option;
+
+ addSuffix = s: p: if hasSuffix s p then p else p + s;
in {
options.kfmon = {
enable = mkEnableOption "KFMon";
@@ -13,13 +16,31 @@ in {
description = "Relative path to kfmon within src";
};
+ devPath = mkOption {
+ type = types.str;
+ default = "/mnt/onboard/${cfg.path}";
+ readOnly = true;
+ internal = true;
+ };
+
file = importOption ./lib/file.nix;
manifest = importOption ./lib/manifest.nix;
- # file = mkOption {
- # type = options.file.type;
- # default = {};
- # description = "Files relative to ${cfg.path}";
- # };
+
+ configs = mkOption {
+ type = types.attrsOf ini.type
+ default = {};
+ description = ''
+ KFMon .ini config files. Do not touch this unless you know what you're doing!
+ '';
+ };
};
+ config.kfmon.file = mapAttrs' (n: v: {
+ name = addSuffix ".ini" n;
+ value = {
+ target = "config/${addSuffix ".ini" n}";
+ text = generators.toINI {} v;
+ };
+ }) cfg.configs;
+
}