diff options
| author | Chris Wells <chris@mathematicaster.org> | 2024-01-24 14:56:56 -0600 |
|---|---|---|
| committer | Chris Wells <chris@mathematicaster.org> | 2024-01-24 14:56:56 -0600 |
| commit | d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6 (patch) | |
| tree | 7ead1c89bf2490114129d51560280e29b174aaa6 /modules/redux/nickle.nix | |
| download | kobo-manager-d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6.tar kobo-manager-d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6.tar.gz kobo-manager-d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6.tar.bz2 kobo-manager-d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6.tar.lz kobo-manager-d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6.tar.xz kobo-manager-d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6.tar.zst kobo-manager-d6949fe35c1b4c7a9e93d1430e5c1b1d5dd4d9c6.zip | |
Getting a whole kobo distribution together!
Diffstat (limited to 'modules/redux/nickle.nix')
| -rw-r--r-- | modules/redux/nickle.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/redux/nickle.nix b/modules/redux/nickle.nix new file mode 100644 index 0000000..b08a6ec --- /dev/null +++ b/modules/redux/nickle.nix @@ -0,0 +1,41 @@ +{ config, pkgs, lib, options, ... }: +with builtins // lib; +let + cfg = config.nickle; +in { + options.nickle = { + enable = mkEnableOption "NickleMenu"; + + path = mkOption { + type = types.str; + default = ".adds/nm"; + description = "Relative path to NickleMenu within src"; + }; + + file = mkOption { + type = options.file.type; + default = {}; + description = "Files relative to ${cfg.path}"; + }; + + menuItems = mkOption { + type = with types; attrsOf (listOf str); + default = {}; + }; + }; + + config = mkIf cfg.enable { + nickle = { + file = mapAttrs (_: v: { + text = concatStringsSep " : " ([ "menu_item" ] ++ v) + }) cfg.menuItems + }; + + file = mapAttrs' (n: v: { + name = "nm-${n}"; + value = v // { + target = "${cfg.path}/${v.target}"; + }; + }) cfg.file + }; +} |
