1
1
Fork 0

Compare commits

...

2 commits

Author SHA1 Message Date
5588c3c1ba
niri: modify rules
Signed-off-by: Myned <dev@bjork.tech>
2025-02-22 09:53:59 -06:00
96c4118f31
onlyoffice: use hm xdg.desktopEntries
Signed-off-by: Myned <dev@bjork.tech>
2025-02-22 09:51:56 -06:00
2 changed files with 58 additions and 36 deletions

View file

@ -122,7 +122,6 @@ in {
{
# Editors
matches = [
{app-id = "^codium$";}
{app-id = "^obsidian$";}
{app-id = "^org\.gnome\.TextEditor$";}
];
@ -154,6 +153,20 @@ in {
variable-refresh-rate = true;
}
{
# IDEs
matches = [
{app-id = "^codium$";}
];
default-column-width.proportion =
if config.custom.ultrawide
then 0.4
else 0.8;
open-floating = false;
}
{
# Media
matches = [
@ -172,7 +185,7 @@ in {
matches = [
{app-id = "^draw\.io$";}
{app-id = "^libreoffice.*$";}
{app-id = "^ONLYOFFICE Desktop Editors$";}
{app-id = "^ONLYOFFICE$";}
{app-id = "^org\.gnome\.Papers$";}
];

View file

@ -5,48 +5,57 @@
...
}:
with lib; let
hyprctl = "${config.programs.hyprland.package}/bin/hyprctl";
onlyoffice-desktopeditors = "${pkgs.onlyoffice-bin}/bin/onlyoffice-desktopeditors --system-title-bar --xdg-desktop-portal";
cfg = config.custom.programs.onlyoffice;
onlyoffice-desktopeditors = "${getExe pkgs.onlyoffice-bin} --system-title-bar --xdg-desktop-portal";
in {
options.custom.programs.onlyoffice.enable = mkOption {default = false;};
options.custom.programs.onlyoffice = {
enable = mkOption {default = false;};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [onlyoffice-bin];
# https://github.com/ONLYOFFICE/DesktopEditors
environment.systemPackages = [pkgs.onlyoffice-bin];
home-manager.users.${config.custom.username} = {
home.file.".local/share/applications/onlyoffice-desktopeditors.desktop".text = ''
[Desktop Entry]
Version=1.0
Name=ONLYOFFICE Desktop Editors
GenericName=Document Editor
Comment=Edit office documents
Type=Application
Exec=${hyprctl} dispatch exec "[group override set; tile] ${onlyoffice-desktopeditors} %U"
Terminal=false
Icon=onlyoffice-desktopeditors
Keywords=Text;Document;OpenDocument Text;Microsoft Word;Microsoft Works;odt;doc;docx;rtf;
Categories=Office;WordProcessor;Spreadsheet;Presentation;
MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;text/spreadsheet;application/csv;application/excel;application/x-excel;application/x-msexcel;application/x-ms-excel;text/comma-separated-values;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;x-scheme-handler/oo-office;text/docxf;text/oform;
Actions=NewDocument;NewSpreadsheet;NewPresentation;NewForm;
home-manager.sharedModules = [
{
xdg.desktopEntries = {
# https://github.com/ONLYOFFICE/desktop-apps/blob/master/win-linux/package/linux/common/desktopeditors.desktop.m4
onlyoffice-desktopeditors = {
name = "ONLYOFFICE Desktop Editors";
genericName = "Document Editor";
comment = "Edit office documents";
type = "Application";
exec = "${onlyoffice-desktopeditors} %U";
terminal = false;
icon = "onlyoffice-desktopeditors";
categories = ["Office" "WordProcessor" "Spreadsheet" "Presentation"];
mimeType = ["application/vnd.oasis.opendocument.text" "application/vnd.oasis.opendocument.text-template" "application/vnd.oasis.opendocument.text-web" "application/vnd.oasis.opendocument.text-master" "application/vnd.sun.xml.writer" "application/vnd.sun.xml.writer.template" "application/vnd.sun.xml.writer.global" "application/msword" "application/vnd.ms-word" "application/x-doc" "application/rtf" "text/rtf" "application/vnd.wordperfect" "application/wordperfect" "application/vnd.openxmlformats-officedocument.wordprocessingml.document" "application/vnd.ms-word.document.macroenabled.12" "application/vnd.openxmlformats-officedocument.wordprocessingml.template" "application/vnd.ms-word.template.macroenabled.12" "application/vnd.oasis.opendocument.spreadsheet" "application/vnd.oasis.opendocument.spreadsheet-template" "application/vnd.sun.xml.calc" "application/vnd.sun.xml.calc.template" "application/msexcel" "application/vnd.ms-excel" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" "application/vnd.ms-excel.sheet.macroenabled.12" "application/vnd.openxmlformats-officedocument.spreadsheetml.template" "application/vnd.ms-excel.template.macroenabled.12" "application/vnd.ms-excel.sheet.binary.macroenabled.12" "text/csv" "text/spreadsheet" "application/csv" "application/excel" "application/x-excel" "application/x-msexcel" "application/x-ms-excel" "text/comma-separated-values" "text/tab-separated-values" "text/x-comma-separated-values" "text/x-csv" "application/vnd.oasis.opendocument.presentation" "application/vnd.oasis.opendocument.presentation-template" "application/vnd.sun.xml.impress" "application/vnd.sun.xml.impress.template" "application/mspowerpoint" "application/vnd.ms-powerpoint" "application/vnd.openxmlformats-officedocument.presentationml.presentation" "application/vnd.ms-powerpoint.presentation.macroenabled.12" "application/vnd.openxmlformats-officedocument.presentationml.template" "application/vnd.ms-powerpoint.template.macroenabled.12" "application/vnd.openxmlformats-officedocument.presentationml.slide" "application/vnd.openxmlformats-officedocument.presentationml.slideshow" "application/vnd.ms-powerpoint.slideshow.macroEnabled.12" "x-scheme-handler/oo-office" "text/docxf" "text/oform"];
[Desktop Action NewDocument]
Name=New document
Exec=${hyprctl} dispatch exec "[group override set; tile] ${onlyoffice-desktopeditors} --new:word"
actions = {
NewDocument = {
name = "New document";
exec = "${onlyoffice-desktopeditors} --new:word";
};
[Desktop Action NewSpreadsheet]
Name=New spreadsheet
Exec=${hyprctl} dispatch exec "[group override set; tile] ${onlyoffice-desktopeditors} --new:cell"
NewSpreadsheet = {
name = "New spreadsheet";
exec = "${onlyoffice-desktopeditors} --new:cell";
};
[Desktop Action NewPresentation]
Name=New presentation
Exec=${hyprctl} dispatch exec "[group override set; tile] ${onlyoffice-desktopeditors} --new:slide"
NewPresentation = {
name = "New presentation";
exec = "${onlyoffice-desktopeditors} --new:slide";
};
[Desktop Action NewForm]
Name=New PDF form
Exec=${hyprctl} dispatch exec "[group override set; tile] ${onlyoffice-desktopeditors} --new:form"
'';
};
NewForm = {
name = "New PDF form";
exec = "${onlyoffice-desktopeditors} --new:form";
};
};
};
};
}
];
};
}