diff options
| author | Chris Wells <chris@mathematicaster.org> | 2024-09-10 14:51:28 -0500 |
|---|---|---|
| committer | Chris Wells <chris@mathematicaster.org> | 2024-09-10 14:51:28 -0500 |
| commit | 4f471484b3a1e16230979a8406503a220b9101f4 (patch) | |
| tree | dc3f5256f275f34d3bcc9573462ed34c7fd97f77 /modules/build/info.nix | |
| parent | 5cb16c34a8c5b803ec723934c1dc828c0e8e3bad (diff) | |
| download | kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.gz kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.bz2 kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.lz kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.xz kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.tar.zst kobo-manager-4f471484b3a1e16230979a8406503a220b9101f4.zip | |
I think this is almost working!
Diffstat (limited to 'modules/build/info.nix')
| -rw-r--r-- | modules/build/info.nix | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/modules/build/info.nix b/modules/build/info.nix new file mode 100644 index 0000000..95ef664 --- /dev/null +++ b/modules/build/info.nix @@ -0,0 +1,55 @@ +{ config, pkgs, lib, ... }: +with builtins // lib; +let + json = pkgs.formats.json {}; + cfg = config.build.info; +in { + options = { + info = mkOption { + internal = true; + type = json.type; + default = {}; + }; + build = { + info = mkOption { + internal = true; + readOnly = true; + type = types.package; + default = pkgs.writeShellApplication { + name = "kobo-info"; + runtimeInputs = with pkgs; [ + jq + kobo-utils + ]; + text = '' + echo "Local information:" + echo '${toJSON config.info}' | jq . + + + echo "Remote information:" + + KOBOPATH="$(kobo-find -f || echo "")" + + if [[ -z "$KOBOPATH" ]]; then + echo "No remote found" + exit 0 + fi + + kobo-info --json "$KOBOPATH" | jq . + ''; + }; + }; + }; + }; + + config = { + info = { + device = { + inherit (config.device) name affiliate hardware deviceID serialNumber; + }; + firmware = { + inherit (config.firmware) version date; + }; + }; + }; +} |
