nix-community / home-manager

Manage a user environment using Nix [maintainer=@rycee]
https://nix-community.github.io/home-manager/
MIT License
7.12k stars 1.84k forks source link

Possible LibreOffice `programs` option? #5612

Open wale opened 4 months ago

wale commented 4 months ago

Description

LibreOffice, the de-facto productivity software suite, already has a package available in nixpkgs, but the current status quo doesn't allow for declarative customisation of any of the facets of LibreOffice (e.g. extensions, preferences) (see: https://github.com/NixOS/nixpkgs/issues/235416)

Having a home-manager option would make for a simplistic declarative configuration of such configurations.

Caveats however, are that currently no LibreOffice extensions are packaged for Nix; however, with the exception of the Zotero reference manager, where the extension is currently bundled with the full package on nixpkgs.

IldenH commented 4 months ago
home.file.".config/libreoffice/4/user/registrymodifications.xcu".text = ''
<?xml version="1.0" encoding="UTF-8"?>
<oor:items xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<item oor:path="/org.openoffice.Setup/L10N"><prop oor:name="ooLocale" oor:op="fuse"><value>en-US</value></prop></item>
''

Sets the locale to en-US.

Kodi is currently the only home-manager module which uses toXML: https://github.com/search?q=repo%3Anix-community%2Fhome-manager+toXML&type=code

Looking at that module it seems quite annoying to configure.

wale commented 3 days ago

To add an extension manually, the Zotero extension calls a binary found in LibreOffice (unopkg). https://api.libreoffice.org/docs/tools.html#unopkg

For now, I could add an option specifically for the Zotero extension, then add a generic option for LO extensions when they arise in upstream nixpkgs.