uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
150
nixos/modules/services/web-apps/documize.nix
Normal file
150
nixos/modules/services/web-apps/documize.nix
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.documize;
|
||||
|
||||
mkParams = optional: concatMapStrings (name: let
|
||||
predicate = optional -> cfg.${name} != null;
|
||||
template = " -${name} '${toString cfg.${name}}'";
|
||||
in optionalString predicate template);
|
||||
|
||||
in {
|
||||
options.services.documize = {
|
||||
enable = mkEnableOption "Documize Wiki";
|
||||
|
||||
stateDirectoryName = mkOption {
|
||||
type = types.str;
|
||||
default = "documize";
|
||||
description = ''
|
||||
The name of the directory below <filename>/var/lib/private</filename>
|
||||
where documize runs in and stores, for example, backups.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.documize-community;
|
||||
defaultText = literalExpression "pkgs.documize-community";
|
||||
description = ''
|
||||
Which package to use for documize.
|
||||
'';
|
||||
};
|
||||
|
||||
salt = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "3edIYV6c8B28b19fh";
|
||||
description = ''
|
||||
The salt string used to encode JWT tokens, if not set a random value will be generated.
|
||||
'';
|
||||
};
|
||||
|
||||
cert = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The <filename>cert.pem</filename> file used for https.
|
||||
'';
|
||||
};
|
||||
|
||||
key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The <filename>key.pem</filename> file used for https.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 5001;
|
||||
description = ''
|
||||
The http/https port number.
|
||||
'';
|
||||
};
|
||||
|
||||
forcesslport = mkOption {
|
||||
type = types.nullOr types.port;
|
||||
default = null;
|
||||
description = ''
|
||||
Redirect given http port number to TLS.
|
||||
'';
|
||||
};
|
||||
|
||||
offline = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Set <literal>true</literal> for offline mode.
|
||||
'';
|
||||
apply = v: if true == v then 1 else 0;
|
||||
};
|
||||
|
||||
dbtype = mkOption {
|
||||
type = types.enum [ "mysql" "percona" "mariadb" "postgresql" "sqlserver" ];
|
||||
default = "postgresql";
|
||||
description = ''
|
||||
Specify the database provider:
|
||||
<simplelist type='inline'>
|
||||
<member><literal>mysql</literal></member>
|
||||
<member><literal>percona</literal></member>
|
||||
<member><literal>mariadb</literal></member>
|
||||
<member><literal>postgresql</literal></member>
|
||||
<member><literal>sqlserver</literal></member>
|
||||
</simplelist>
|
||||
'';
|
||||
};
|
||||
|
||||
db = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
Database specific connection string for example:
|
||||
<itemizedlist>
|
||||
<listitem><para>MySQL/Percona/MariaDB:
|
||||
<literal>user:password@tcp(host:3306)/documize</literal>
|
||||
</para></listitem>
|
||||
<listitem><para>MySQLv8+:
|
||||
<literal>user:password@tcp(host:3306)/documize?allowNativePasswords=true</literal>
|
||||
</para></listitem>
|
||||
<listitem><para>PostgreSQL:
|
||||
<literal>host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable</literal>
|
||||
</para></listitem>
|
||||
<listitem><para>MSSQL:
|
||||
<literal>sqlserver://username:password@localhost:1433?database=Documize</literal> or
|
||||
<literal>sqlserver://sa@localhost/SQLExpress?database=Documize</literal>
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
'';
|
||||
};
|
||||
|
||||
location = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
reserved
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.documize-server = {
|
||||
description = "Documize Wiki";
|
||||
documentation = [ "https://documize.com/" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = concatStringsSep " " [
|
||||
"${cfg.package}/bin/documize"
|
||||
(mkParams false [ "db" "dbtype" "port" ])
|
||||
(mkParams true [ "offline" "location" "forcesslport" "key" "cert" "salt" ])
|
||||
];
|
||||
Restart = "always";
|
||||
DynamicUser = "yes";
|
||||
StateDirectory = cfg.stateDirectoryName;
|
||||
WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue