From 00082becabdc6f9f619056beb0a96e0fced4e238 Mon Sep 17 00:00:00 2001 From: Surma Date: Sat, 7 Sep 2024 00:21:50 +0100 Subject: [PATCH] Introduce mkInstallable --- codecs/resize/flake.nix | 16 +++------------ .../resize/wasm_build/squoosh_resize_bg.wasm | Bin 36811 -> 36811 bytes codecs/rotate/flake.nix | 14 ++----------- nix/for-each-option.nix | 6 ------ nix/mk-installable/default.nix | 19 ++++++++++++++++++ 5 files changed, 24 insertions(+), 31 deletions(-) delete mode 100644 nix/for-each-option.nix create mode 100644 nix/mk-installable/default.nix diff --git a/codecs/resize/flake.nix b/codecs/resize/flake.nix index 0901bb74..415b5222 100644 --- a/codecs/resize/flake.nix +++ b/codecs/resize/flake.nix @@ -15,13 +15,14 @@ system: let pkgs = nixpkgs.legacyPackages.${system}; - inherit (pkgs) callPackage writeShellScriptBin; + inherit (pkgs) callPackage; buildSquooshRustCodec= callPackage (import ../../nix/squoosh-rust-builder) {fenix = fenix.packages.${system};}; + mkInstallable = callPackage (import ../../nix/mk-installable) {}; src = ./.; in - { + mkInstallable { packages = rec { default = resize-squoosh; resize-squoosh = buildSquooshRustCodec { @@ -34,17 +35,6 @@ sha256 = "sha256-HTElSB76gqCpDu8S0ZJlfd/S4ftMrbwxFgJM9OXBRz8="; }; }; - - installScript = writeShellScriptBin "install.sh" '' - ${pkgs.coreutils}/bin/mkdir -p wasm_build - ${pkgs.rsync}/bin/rsync --chmod=u+w -r ${self.packages.${system}.resize-squoosh}/* wasm_build/ - ''; - }; - apps = { - install = { - type = "app"; - program = "${self.packages.${system}.installScript}/bin/install.sh"; - }; }; } ); diff --git a/codecs/resize/wasm_build/squoosh_resize_bg.wasm b/codecs/resize/wasm_build/squoosh_resize_bg.wasm index d37ebb14e1c64d7797b785af5e011ba9a03dc39f..3757062abee1ffcb8617084420aa53eca5de6be0 100644 GIT binary patch delta 46 zcmX>-pXu~`rVXpg-pXu~`rVXpgHlHkGk^}(2 CK@u7O diff --git a/codecs/rotate/flake.nix b/codecs/rotate/flake.nix index bbc33a12..4a56a6ed 100644 --- a/codecs/rotate/flake.nix +++ b/codecs/rotate/flake.nix @@ -19,10 +19,11 @@ inherit (pkgs) callPackage writeShellScriptBin; buildSquooshRustCodec= callPackage (import ../../nix/squoosh-rust-builder) {fenix = fenix.packages.${system};}; + mkInstallable = callPackage (import ../../nix/mk-installable) {}; src = ./.; in - { + mkInstallable { packages = rec { default = rotate-squoosh; rotate-squoosh = buildSquooshRustCodec { @@ -33,17 +34,6 @@ }; wasmBindgen = null; }; - - installScript = writeShellScriptBin "install.sh" '' - ${pkgs.coreutils}/bin/mkdir -p wasm_build - ${pkgs.rsync}/bin/rsync --chmod=u+w -r ${self.packages.${system}.rotate-squoosh}/* wasm_build/ - ''; - }; - apps = { - install = { - type = "app"; - program = "${self.packages.${system}.installScript}/bin/install.sh"; - }; }; } ); diff --git a/nix/for-each-option.nix b/nix/for-each-option.nix deleted file mode 100644 index 4c6a6694..00000000 --- a/nix/for-each-option.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ lib }: -f: opts: -let - derivations = (lib.attrsets.mapAttrsToList f opts); -in -lib.lists.fold (a: b: a // b) { } derivations diff --git a/nix/mk-installable/default.nix b/nix/mk-installable/default.nix new file mode 100644 index 00000000..e032bd2d --- /dev/null +++ b/nix/mk-installable/default.nix @@ -0,0 +1,19 @@ +{ + coreutils, + rsync, + writeShellScriptBin, + lib, +}: +flake: +let + installScript = writeShellScriptBin "install.sh" '' + ${coreutils}/bin/mkdir -p wasm_build + ${rsync}/bin/rsync --chmod=u+w -r ${flake.packages.default}/* wasm_build/ + ''; +in +lib.recursiveUpdate flake { + apps.install = { + type = "app"; + program = "${installScript}/bin/install.sh"; + }; +}