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/file.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/file.nix')
| -rw-r--r-- | modules/redux/file.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/modules/redux/file.nix b/modules/redux/file.nix new file mode 100644 index 0000000..e05318d --- /dev/null +++ b/modules/redux/file.nix @@ -0,0 +1,44 @@ +{ config, pkgs, lib, ... }: +with builtins // lib; +let + cfg = config.file; +in { + options.file = mkOption { + default = {}; + type = with types; lazyAttrsOf (submodule ({ name, config, ... }: { + options = { + enable = mkEnableOption name // { default = true; }; + target = mkOption { + type = types.str; + default = name; + }; + executable = mkOption { + type = with types; nullOr bool; + default = null; + }; + directory = mkOption { + type = types.bool; + default = false; + description = "Enable this if the source file is a directory"; + }; + source = mkOption { + type = types.path; + }; + text = mkOption { + type = with types; nullOr lines; + default = null; + }; + }; + + config = mkMerge [ + (mkIf (config.text != null) { + directory = false; + source = pkgs.writeText name config.text; + }) + (mkIf (config.text == "") { + enable = false; + }) + ]; + })); + }; +} |
