diff options
| author | Chris Wells <chris@mathematicaster.org> | 2024-09-05 19:45:28 -0500 |
|---|---|---|
| committer | Chris Wells <chris@mathematicaster.org> | 2024-09-05 19:45:28 -0500 |
| commit | 373d5246eb53ef1a13166b066248526f33f935db (patch) | |
| tree | 3d5494bb43d951ebf9bfa1358526102a8ac85406 /modules/device/default.nix | |
| parent | 1e9e6dbdd6edbfd8ac6249ba0d16e68b336cf093 (diff) | |
| download | kobo-manager-373d5246eb53ef1a13166b066248526f33f935db.tar kobo-manager-373d5246eb53ef1a13166b066248526f33f935db.tar.gz kobo-manager-373d5246eb53ef1a13166b066248526f33f935db.tar.bz2 kobo-manager-373d5246eb53ef1a13166b066248526f33f935db.tar.lz kobo-manager-373d5246eb53ef1a13166b066248526f33f935db.tar.xz kobo-manager-373d5246eb53ef1a13166b066248526f33f935db.tar.zst kobo-manager-373d5246eb53ef1a13166b066248526f33f935db.zip | |
Trying to get the kobo api working for querying firmware
Diffstat (limited to 'modules/device/default.nix')
| -rw-r--r-- | modules/device/default.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/device/default.nix b/modules/device/default.nix new file mode 100644 index 0000000..22cf180 --- /dev/null +++ b/modules/device/default.nix @@ -0,0 +1,41 @@ +{ config, pkgs, lib, ... }: +with builtins // lib; +let + devices = import ../../data/devices.nix; + + hardware = mkOption { + type = types.strMatching ''^kobo\d+$''; + }; + deviceID = mkOption { + type = types.strMatching ''00000000-0000-0000-0000-000000000\d\d\d''; + }; + + deviceInfo = types.submodule { + options = { + inherit hardware deviceID; + }; + }; +in { + options = { + _allDevices = mkOption { + default = devices; + readOnly = true; + internal = true; + type = types.attrsOf deviceInfo; + }; + + device = { + name = mkOption { + type = types.enum (attrNames devices); + }; + + hardware = hardware // { + default = config._allDevices.${config.device.name}.hardware; + }; + + deviceID = deviceID // { + default = config._allDevices.${config.device.name}.deviceID; + }; + }; + }; +} |
