diff options
| author | Chris Wells <chris@mathematicaster.org> | 2024-09-10 11:52:55 -0500 |
|---|---|---|
| committer | Chris Wells <chris@mathematicaster.org> | 2024-09-10 11:53:30 -0500 |
| commit | 5cb16c34a8c5b803ec723934c1dc828c0e8e3bad (patch) | |
| tree | 082671e90b6da26a0c06c1a5abc7a4571e0dcc84 /modules/build | |
| parent | 8eae39e8e670f228e9675fb3bc432ce512560396 (diff) | |
| download | kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.gz kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.bz2 kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.lz kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.xz kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.tar.zst kobo-manager-5cb16c34a8c5b803ec723934c1dc828c0e8e3bad.zip | |
Trying to get everything to actually work
Diffstat (limited to 'modules/build')
| -rw-r--r-- | modules/build/default.nix | 5 | ||||
| -rw-r--r-- | modules/build/firmware.nix | 60 |
2 files changed, 65 insertions, 0 deletions
diff --git a/modules/build/default.nix b/modules/build/default.nix new file mode 100644 index 0000000..be3f3b0 --- /dev/null +++ b/modules/build/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./firmware.nix + ]; +} diff --git a/modules/build/firmware.nix b/modules/build/firmware.nix new file mode 100644 index 0000000..673c379 --- /dev/null +++ b/modules/build/firmware.nix @@ -0,0 +1,60 @@ +{ config, pkgs, lib, ... }: +with builtins // lib; +let + cfg = config.build; +in { + options.build = { + firmware = { + checkDevice = mkOption { + internal = true; + readOnly = true; + type = types.package; + default = pkgs.writeShellApplication { + name = "check-firmware"; + runtimeInputs = with pkgs; [ + kobo-utils + ]; + text = '' + echo "hi" + ''; + }; + }; + + bundle = + let + b = pkgs.runCommandLocal "package-firmware" {} '' + cp -r "${config.firmware.package.out}" $out + tar czvf $out/KoboRoot.tgz --directory="${config.firmware.package.KoboRoot}" + ''; + in pkgs.runCommandLocal "bundle-firmware" {} '' + tar czvf $out --directory "${b}" + ''; + + + deploy = pkgs.writeShellApplication { + name = "deploy-firmware"; + runtimeInputs = with pkgs; [ + gnutar + kobo-utils + ]; + text = '' + echo "Looking for kobo" + KOBOPATH="$(kobo-find -f -w)" + + if [ -z "$KOBOPATH" ]; then + >&2 echo "Cannot locate kobo device" + exit 1 + fi + + echo "Found kobo device at $KOBOPATH" + + echo "Placing firmware on device" + + tar xzvf "${cfg.fimware.bundle}" --directory="$KOBOPATH/.kobo/" + + echo "Successfully installed kobo firmware. Please eject your device so it can install." + ''; + }; + }; + }; +} |
