aboutsummaryrefslogtreecommitdiff
path: root/modules/kfmon.nix
diff options
context:
space:
mode:
authorChris Wells <chris@mathematicaster.org>2024-02-15 15:41:07 -0600
committerChris Wells <chris@mathematicaster.org>2024-02-15 15:41:07 -0600
commitd7483ed8505710033384d7fabad34470818bc760 (patch)
tree8411a63b83e8d4ee994d0ce51426ba9a6e61043a /modules/kfmon.nix
parentcbde891d1ced129f6284cbadade652182aa5d2fb (diff)
downloadkobo-manager-d7483ed8505710033384d7fabad34470818bc760.tar
kobo-manager-d7483ed8505710033384d7fabad34470818bc760.tar.gz
kobo-manager-d7483ed8505710033384d7fabad34470818bc760.tar.bz2
kobo-manager-d7483ed8505710033384d7fabad34470818bc760.tar.lz
kobo-manager-d7483ed8505710033384d7fabad34470818bc760.tar.xz
kobo-manager-d7483ed8505710033384d7fabad34470818bc760.tar.zst
kobo-manager-d7483ed8505710033384d7fabad34470818bc760.zip
Added dev path. Now to figure out how to make my own one-click packages
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;
+
}