python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / modules / services / networking / blocky.nix
blob9714485456161fc444a4e1e076fe174141da5731
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
6   cfg = config.services.blocky;
8   format = pkgs.formats.yaml { };
9   configFile = format.generate "config.yaml" cfg.settings;
12   options.services.blocky = {
13     enable = mkEnableOption (lib.mdDoc "blocky, a fast and lightweight DNS proxy as ad-blocker for local network with many features");
15     settings = mkOption {
16       type = format.type;
17       default = { };
18       description = lib.mdDoc ''
19         Blocky configuration. Refer to
20         <https://0xerr0r.github.io/blocky/configuration/>
21         for details on supported values.
22       '';
23     };
24   };
26   config = mkIf cfg.enable {
27     systemd.services.blocky = {
28       description = "A DNS proxy and ad-blocker for the local network";
29       wantedBy = [ "multi-user.target" ];
31       serviceConfig = {
32         DynamicUser = true;
33         ExecStart = "${pkgs.blocky}/bin/blocky --config ${configFile}";
35         AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
36         CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
37       };
38     };
39   };