mirror of
https://github.com/nix-community/home-manager.git
synced 2025-12-04 16:11:06 +01:00
onlyoffice: add module (#6667)
This commit is contained in:
parent
94605dcade
commit
c36cc49e55
7 changed files with 87 additions and 0 deletions
|
|
@ -24,6 +24,12 @@
|
|||
github = "afresquet";
|
||||
githubId = 29437693;
|
||||
};
|
||||
aguirre-matteo = {
|
||||
name = "aguirre-matteo";
|
||||
email = "aguirre.matteo.nix@gmail.com";
|
||||
github = "aguirre-matteo";
|
||||
githubId = 158215792;
|
||||
};
|
||||
amesgen = {
|
||||
name = "amesgen";
|
||||
email = "amesgen@amesgen.de";
|
||||
|
|
|
|||
|
|
@ -195,6 +195,7 @@ let
|
|||
./programs/octant.nix
|
||||
./programs/offlineimap.nix
|
||||
./programs/oh-my-posh.nix
|
||||
./programs/onlyoffice.nix
|
||||
./programs/opam.nix
|
||||
./programs/openstackclient.nix
|
||||
./programs/pandoc.nix
|
||||
|
|
|
|||
50
modules/programs/onlyoffice.nix
Normal file
50
modules/programs/onlyoffice.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
types isBool boolToString concatStringsSep mapAttrsToList mkIf
|
||||
mkEnableOption mkPackageOption mkOption;
|
||||
|
||||
cfg = config.programs.onlyoffice;
|
||||
|
||||
attrToString = name: value:
|
||||
let newvalue = if (isBool value) then (boolToString value) else value;
|
||||
in "${name}=${newvalue}";
|
||||
|
||||
getFinalConfig = set:
|
||||
(concatStringsSep "\n" (mapAttrsToList attrToString set)) + "\n";
|
||||
in {
|
||||
meta.maintainers = with lib.hm.maintainers; [ aguirre-matteo ];
|
||||
|
||||
options.programs.onlyoffice = {
|
||||
enable = mkEnableOption "onlyoffice";
|
||||
|
||||
package =
|
||||
mkPackageOption pkgs "onlyoffice-desktopeditors" { nullable = true; };
|
||||
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf (either bool str);
|
||||
default = { };
|
||||
example = ''
|
||||
UITheme = "theme-contrast-dark";
|
||||
editorWindowMode = false;
|
||||
forcedRtl = false;
|
||||
maximized = true;
|
||||
titlebar = "custom";
|
||||
'';
|
||||
description = ''
|
||||
Configuration settings for Onlyoffice.
|
||||
|
||||
All configurable options can be deduced by enabling them through the
|
||||
GUI and observing the changes in ~/.config/onlyoffice/DesktopEditors.conf.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = lib.mkIf (cfg.package != null) [ cfg.package ];
|
||||
|
||||
xdg.configFile."onlyoffice/DesktopEditors.conf".source =
|
||||
pkgs.writeText "DesktopEditors.conf" (getFinalConfig cfg.settings);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue