2026-03-19 19:42:15 +01:00
|
|
|
{
|
|
|
|
|
description = "Calculator C++ UI plugin for Logos - widget frontend for calc_module";
|
|
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
|
logos-module-builder.url = "github:logos-co/logos-module-builder";
|
2026-03-20 20:07:17 +01:00
|
|
|
logos-nix.url = "github:logos-co/logos-nix";
|
|
|
|
|
nixpkgs.follows = "logos-nix/nixpkgs";
|
2026-03-19 19:42:15 +01:00
|
|
|
|
|
|
|
|
logos-standalone-app.url = "github:logos-co/logos-standalone-app";
|
|
|
|
|
logos-standalone-app.inputs.logos-liblogos.inputs.nixpkgs.follows =
|
2026-03-20 20:07:17 +01:00
|
|
|
"logos-nix/nixpkgs";
|
2026-03-19 19:42:15 +01:00
|
|
|
|
|
|
|
|
calc_module.url = "github:logos-co/logos-tutorial?dir=logos-calc-module";
|
|
|
|
|
};
|
|
|
|
|
|
2026-03-20 20:07:17 +01:00
|
|
|
outputs = { self, logos-module-builder, logos-standalone-app, nixpkgs, calc_module, ... }:
|
2026-03-19 19:42:15 +01:00
|
|
|
let
|
|
|
|
|
systems = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ];
|
|
|
|
|
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
|
|
|
|
|
moduleOutputs = logos-module-builder.lib.mkLogosModule {
|
|
|
|
|
src = ./.;
|
|
|
|
|
configFile = ./module.yaml;
|
|
|
|
|
moduleInputs = { inherit calc_module; };
|
|
|
|
|
};
|
|
|
|
|
in
|
|
|
|
|
moduleOutputs // {
|
|
|
|
|
apps = forAllSystems (system:
|
|
|
|
|
let
|
|
|
|
|
pkgs = import nixpkgs { inherit system; };
|
|
|
|
|
standalone = logos-standalone-app.packages.${system}.default;
|
|
|
|
|
plugin = moduleOutputs.packages.${system}.default;
|
|
|
|
|
pluginDir = pkgs.runCommand "calc-ui-cpp-plugin-dir" {} ''
|
|
|
|
|
mkdir -p $out/icons
|
|
|
|
|
cp ${plugin}/lib/*_plugin.* $out/
|
|
|
|
|
cp ${./metadata.json} $out/metadata.json
|
|
|
|
|
cp ${./icons/calc.png} $out/icons/calc.png
|
|
|
|
|
'';
|
|
|
|
|
run = pkgs.writeShellScript "run-calc-ui-cpp-standalone" ''
|
|
|
|
|
exec ${standalone}/bin/logos-standalone-app "${pluginDir}" "$@"
|
|
|
|
|
'';
|
|
|
|
|
in { default = { type = "app"; program = "${run}"; }; }
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
}
|