diff --git a/assets/icons/png/appflowy.png b/assets/icons/png/appflowy.png new file mode 100644 index 0000000000..3f0ba71192 Binary files /dev/null and b/assets/icons/png/appflowy.png differ diff --git a/assets/icons/svg/appflowy.svg b/assets/icons/svg/appflowy.svg new file mode 100644 index 0000000000..3958a1a253 --- /dev/null +++ b/assets/icons/svg/appflowy.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/modules/desktop/graphics/demo-apps.nix b/modules/desktop/graphics/demo-apps.nix index 5c10fc0720..5175537b6f 100644 --- a/modules/desktop/graphics/demo-apps.nix +++ b/modules/desktop/graphics/demo-apps.nix @@ -39,6 +39,7 @@ in { gala-app = mkProgramOption "Gala App" false; element-desktop = mkProgramOption "Element desktop" config.ghaf.graphics.enableDemoApplications; zathura = mkProgramOption "zathura" config.ghaf.graphics.enableDemoApplications; + appflowy = mkProgramOption "Appflowy" config.ghaf.graphics.enableDemoApplications; }; config = lib.mkIf config.ghaf.profiles.graphics.enable { @@ -67,12 +68,18 @@ in { name = "zathura"; path = "${pkgs.zathura}/bin/zathura"; icon = "${pkgs.zathura}/share/icons/hicolor/32x32/apps/org.pwmt.zathura.png"; + } + ++ lib.optional cfg.appflowy { + name = "appflowy"; + path = "${pkgs.appflowy}/bin/appflowy"; + icon = ../../../assets/icons/svg/appflowy.svg; }; environment.systemPackages = lib.optional cfg.chromium pkgs.chromium ++ lib.optional cfg.element-desktop pkgs.element-desktop ++ lib.optional cfg.firefox pkgs.firefox ++ lib.optional cfg.gala-app pkgs.gala-app - ++ lib.optional cfg.zathura pkgs.zathura; + ++ lib.optional cfg.zathura pkgs.zathura + ++ lib.optional cfg.appflowy pkgs.appflowy; }; } diff --git a/targets/lenovo-x1/appvms/appflowy.nix b/targets/lenovo-x1/appvms/appflowy.nix new file mode 100644 index 0000000000..a107897058 --- /dev/null +++ b/targets/lenovo-x1/appvms/appflowy.nix @@ -0,0 +1,17 @@ +# Copyright 2024 TII (SSRC) and the Ghaf contributors +# SPDX-License-Identifier: Apache-2.0 +# +{pkgs, ...}: +{ + name = "appflowy"; + packages = if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then [ pkgs.appflowy ] else []; + macAddress = "02:00:00:03:08:01"; + ramMb = 512; + cores = 1; + extraModules = [ + { + hardware.opengl.enable = true; + time.timeZone = "Asia/Dubai"; + } + ]; +} diff --git a/targets/lenovo-x1/appvms/default.nix b/targets/lenovo-x1/appvms/default.nix index d6b3ad303b..e42800fa41 100644 --- a/targets/lenovo-x1/appvms/default.nix +++ b/targets/lenovo-x1/appvms/default.nix @@ -5,8 +5,11 @@ chromium = import ./chromium.nix {inherit pkgs;}; gala = import ./gala.nix {inherit pkgs;}; zathura = import ./zathura.nix {inherit pkgs;}; + appflowy = import ./appflowy.nix {inherit pkgs;}; in [ chromium gala zathura + appflowy ] + diff --git a/targets/lenovo-x1/guivmExtraModules.nix b/targets/lenovo-x1/guivmExtraModules.nix index f5f18fecc4..f4dfef6ef9 100644 --- a/targets/lenovo-x1/guivmExtraModules.nix +++ b/targets/lenovo-x1/guivmExtraModules.nix @@ -62,6 +62,12 @@ icon = "${../../assets/icons/png/pdf.png}"; } + { + name = "appflowy"; + path = "${pkgs.openssh}/bin/ssh -i ${configH.ghaf.security.sshKeys.sshKeyPath} -o StrictHostKeyChecking=no appflowy-vm.ghaf run-waypipe appflowy"; + icon = "${../../assets/icons/svg/appflowy.svg}"; + } + { name = "windows"; path = "${pkgs.virt-viewer}/bin/remote-viewer -f spice://${winConfig.spice-host}:${toString winConfig.spice-port}";