diff --git a/modules/desktop/office/libreoffice.nix b/modules/desktop/office/libreoffice.nix index 8ba9e54..6e1e00d 100644 --- a/modules/desktop/office/libreoffice.nix +++ b/modules/desktop/office/libreoffice.nix @@ -1,6 +1,24 @@ { config, lib, pkgs, ... }: -let cfg = config.modules.desktop.office.libreoffice; +let + cfg = config.modules.desktop.office.libreoffice; + libreoffice-gtk4 = pkgs.libreoffice.override { + extraMakeWrapperArgs = [ + "--set SAL_USE_VCLPLUGIN gtk4" + ]; + unwrapped = pkgs.libreoffice-unwrapped.overrideAttrs (oldAttrs: { + buildInputs = oldAttrs.buildInputs ++ [ + pkgs.gtk4 + ]; + configureFlags = oldAttrs.configureFlags ++ [ + "--disable-werror" + "--enable-gtk4" + ]; + passthru = oldAttrs.passthru // { + inherit (pkgs) gtk4; + }; + }); + }; in { options.modules.desktop.office.libreoffice = { enable = lib.mkOption { @@ -11,7 +29,7 @@ in { config = lib.mkIf cfg.enable { user.packages = with pkgs; [ - (if config.modules.desktop.kde.enable == true then libreoffice-qt else libreoffice) + (if config.modules.desktop.kde.enable == true then libreoffice-qt else libreoffice-gtk4) hunspell hunspellDicts.en-gb-large hunspellDicts.en-us-large