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
91
nixos/modules/services/networking/pdnsd.nix
Normal file
91
nixos/modules/services/networking/pdnsd.nix
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.pdnsd;
|
||||
pdnsd = pkgs.pdnsd;
|
||||
pdnsdUser = "pdnsd";
|
||||
pdnsdGroup = "pdnsd";
|
||||
pdnsdConf = pkgs.writeText "pdnsd.conf"
|
||||
''
|
||||
global {
|
||||
run_as=${pdnsdUser};
|
||||
cache_dir="${cfg.cacheDir}";
|
||||
${cfg.globalConfig}
|
||||
}
|
||||
|
||||
server {
|
||||
${cfg.serverConfig}
|
||||
}
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
in
|
||||
|
||||
{ options =
|
||||
{ services.pdnsd =
|
||||
{ enable = mkEnableOption "pdnsd";
|
||||
|
||||
cacheDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/cache/pdnsd";
|
||||
description = "Directory holding the pdnsd cache";
|
||||
};
|
||||
|
||||
globalConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Global configuration that should be added to the global directory
|
||||
of <literal>pdnsd.conf</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
serverConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Server configuration that should be added to the server directory
|
||||
of <literal>pdnsd.conf</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Extra configuration directives that should be added to
|
||||
<literal>pdnsd.conf</literal>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users.users.${pdnsdUser} = {
|
||||
uid = config.ids.uids.pdnsd;
|
||||
group = pdnsdGroup;
|
||||
description = "pdnsd user";
|
||||
};
|
||||
|
||||
users.groups.${pdnsdGroup} = {
|
||||
gid = config.ids.gids.pdnsd;
|
||||
};
|
||||
|
||||
systemd.services.pdnsd =
|
||||
{ wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
preStart =
|
||||
''
|
||||
mkdir -p "${cfg.cacheDir}"
|
||||
touch "${cfg.cacheDir}/pdnsd.cache"
|
||||
chown -R ${pdnsdUser}:${pdnsdGroup} "${cfg.cacheDir}"
|
||||
'';
|
||||
description = "pdnsd";
|
||||
serviceConfig =
|
||||
{
|
||||
ExecStart = "${pdnsd}/bin/pdnsd -c ${pdnsdConf}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue