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
|
|
@ -0,0 +1,100 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.litestream;
|
||||
settingsFormat = pkgs.formats.yaml {};
|
||||
in
|
||||
{
|
||||
options.services.litestream = {
|
||||
enable = mkEnableOption "litestream";
|
||||
|
||||
package = mkOption {
|
||||
description = "Package to use.";
|
||||
default = pkgs.litestream;
|
||||
defaultText = literalExpression "pkgs.litestream";
|
||||
type = types.package;
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
description = ''
|
||||
See the <link xlink:href="https://litestream.io/reference/config/">documentation</link>.
|
||||
'';
|
||||
type = settingsFormat.type;
|
||||
example = {
|
||||
dbs = [
|
||||
{
|
||||
path = "/var/lib/db1";
|
||||
replicas = [
|
||||
{
|
||||
url = "s3://mybkt.litestream.io/db1";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = "/run/secrets/litestream";
|
||||
description = ''
|
||||
Environment file as defined in <citerefentry>
|
||||
<refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>.
|
||||
|
||||
Secrets may be passed to the service without adding them to the
|
||||
world-readable Nix store, by specifying placeholder variables as
|
||||
the option value in Nix and setting these variables accordingly in the
|
||||
environment file.
|
||||
|
||||
By default, Litestream will perform environment variable expansion
|
||||
within the config file before reading it. Any references to ''$VAR or
|
||||
''${VAR} formatted variables will be replaced with their environment
|
||||
variable values. If no value is set then it will be replaced with an
|
||||
empty string.
|
||||
|
||||
<programlisting>
|
||||
# Content of the environment file
|
||||
LITESTREAM_ACCESS_KEY_ID=AKIAxxxxxxxxxxxxxxxx
|
||||
LITESTREAM_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx
|
||||
</programlisting>
|
||||
|
||||
Note that this file needs to be available on the host on which
|
||||
this exporter is running.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
environment.etc = {
|
||||
"litestream.yml" = {
|
||||
source = settingsFormat.generate "litestream-config.yaml" cfg.settings;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.litestream = {
|
||||
description = "Litestream";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "networking.target" ];
|
||||
serviceConfig = {
|
||||
EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||
ExecStart = "${cfg.package}/bin/litestream replicate";
|
||||
Restart = "always";
|
||||
User = "litestream";
|
||||
Group = "litestream";
|
||||
};
|
||||
};
|
||||
|
||||
users.users.litestream = {
|
||||
description = "Litestream user";
|
||||
group = "litestream";
|
||||
isSystemUser = true;
|
||||
};
|
||||
users.groups.litestream = {};
|
||||
};
|
||||
meta.doc = ./litestream.xml;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue