Loading maintainers/scripts/luarocks-packages.csv +1 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ lrexlib-pcre,,,,,,vyp lrexlib-posix,,,,,, lua-cjson,,,,,, lua-cmsgpack,,,,,, lua-curl,,,,,, lua-iconv,,,,,, lua-lsp,,,,,, lua-messagepack,,,,,, Loading nixos/doc/manual/release-notes/rl-2305.section.md +2 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,8 @@ In addition to numerous new and upgraded packages, this release has the followin replacement. It stores backups as volume dump files and thus better integrates into contemporary backup solutions. - `services.maddy` now allows to configure users and their credentials using `services.maddy.ensureCredentials`. - The `dnsmasq` service now takes configuration via the `services.dnsmasq.settings` attribute set. The option `services.dnsmasq.extraConfig` will be deprecated when NixOS 22.11 reaches Loading nixos/modules/services/mail/maddy.nix +36 −2 Original line number Diff line number Diff line Loading @@ -228,8 +228,8 @@ in { default = []; description = lib.mdDoc '' List of IMAP accounts which get automatically created. Note that for a complete setup, user credentials for these accounts are required too and can be created using the command `maddyctl creds`. a complete setup, user credentials for these accounts are required and can be created using the `ensureCredentials` option. This option does not delete accounts which are not (anymore) listed. ''; example = [ Loading @@ -238,6 +238,33 @@ in { ]; }; ensureCredentials = mkOption { default = {}; description = lib.mdDoc '' List of user accounts which get automatically created if they don't exist yet. Note that for a complete setup, corresponding mail boxes have to get created using the `ensureAccounts` option. This option does not delete accounts which are not (anymore) listed. ''; example = { "user1@localhost".passwordFile = /secrets/user1-localhost; "user2@localhost".passwordFile = /secrets/user2-localhost; }; type = types.attrsOf (types.submodule { options = { passwordFile = mkOption { type = types.path; example = "/path/to/file"; default = null; description = lib.mdDoc '' Specifies the path to a file containing the clear text password for the user. ''; }; }; }); }; }; }; Loading Loading @@ -265,6 +292,13 @@ in { fi '') cfg.ensureAccounts} ''} ${optionalString (cfg.ensureCredentials != {}) '' ${concatStringsSep "\n" (mapAttrsToList (name: cfg: '' if ! ${pkgs.maddy}/bin/maddyctl creds list | grep "${name}"; then ${pkgs.maddy}/bin/maddyctl creds create --password $(cat ${escapeShellArg cfg.passwordFile}) ${name} fi '') cfg.ensureCredentials)} ''} ''; serviceConfig = { Type = "oneshot"; Loading nixos/modules/services/monitoring/grafana-agent.nix +1 −1 Original line number Diff line number Diff line Loading @@ -140,7 +140,7 @@ in # We can't use Environment=HOSTNAME=%H, as it doesn't include the domain part. export HOSTNAME=$(< /proc/sys/kernel/hostname) exec ${cfg.package}/bin/agent -config.expand-env -config.file ${configFile} exec ${lib.getExe cfg.package} -config.expand-env -config.file ${configFile} ''; serviceConfig = { Restart = "always"; Loading nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix +6 −6 Original line number Diff line number Diff line Loading @@ -4,12 +4,12 @@ with lib; let cfg = config.services.prometheus.exporters.smartctl; args = concatStrings [ "--web.listen-address=\"${cfg.listenAddress}:${toString cfg.port}\" " "--smartctl.path=\"${pkgs.smartmontools}/bin/smartctl\" " "--smartctl.interval=\"${cfg.maxInterval}\" " "${concatMapStringsSep " " (device: "--smartctl.device=${device}") cfg.devices}" ] ++ cfg.extraFlags; args = lib.escapeShellArgs ([ "--web.listen-address=${cfg.listenAddress}:${toString cfg.port}" "--smartctl.path=${pkgs.smartmontools}/bin/smartctl" "--smartctl.interval=${cfg.maxInterval}" ] ++ map (device: "--smartctl.device=${device}") cfg.devices ++ cfg.extraFlags); in { port = 9633; Loading Loading
maintainers/scripts/luarocks-packages.csv +1 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ lrexlib-pcre,,,,,,vyp lrexlib-posix,,,,,, lua-cjson,,,,,, lua-cmsgpack,,,,,, lua-curl,,,,,, lua-iconv,,,,,, lua-lsp,,,,,, lua-messagepack,,,,,, Loading
nixos/doc/manual/release-notes/rl-2305.section.md +2 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,8 @@ In addition to numerous new and upgraded packages, this release has the followin replacement. It stores backups as volume dump files and thus better integrates into contemporary backup solutions. - `services.maddy` now allows to configure users and their credentials using `services.maddy.ensureCredentials`. - The `dnsmasq` service now takes configuration via the `services.dnsmasq.settings` attribute set. The option `services.dnsmasq.extraConfig` will be deprecated when NixOS 22.11 reaches Loading
nixos/modules/services/mail/maddy.nix +36 −2 Original line number Diff line number Diff line Loading @@ -228,8 +228,8 @@ in { default = []; description = lib.mdDoc '' List of IMAP accounts which get automatically created. Note that for a complete setup, user credentials for these accounts are required too and can be created using the command `maddyctl creds`. a complete setup, user credentials for these accounts are required and can be created using the `ensureCredentials` option. This option does not delete accounts which are not (anymore) listed. ''; example = [ Loading @@ -238,6 +238,33 @@ in { ]; }; ensureCredentials = mkOption { default = {}; description = lib.mdDoc '' List of user accounts which get automatically created if they don't exist yet. Note that for a complete setup, corresponding mail boxes have to get created using the `ensureAccounts` option. This option does not delete accounts which are not (anymore) listed. ''; example = { "user1@localhost".passwordFile = /secrets/user1-localhost; "user2@localhost".passwordFile = /secrets/user2-localhost; }; type = types.attrsOf (types.submodule { options = { passwordFile = mkOption { type = types.path; example = "/path/to/file"; default = null; description = lib.mdDoc '' Specifies the path to a file containing the clear text password for the user. ''; }; }; }); }; }; }; Loading Loading @@ -265,6 +292,13 @@ in { fi '') cfg.ensureAccounts} ''} ${optionalString (cfg.ensureCredentials != {}) '' ${concatStringsSep "\n" (mapAttrsToList (name: cfg: '' if ! ${pkgs.maddy}/bin/maddyctl creds list | grep "${name}"; then ${pkgs.maddy}/bin/maddyctl creds create --password $(cat ${escapeShellArg cfg.passwordFile}) ${name} fi '') cfg.ensureCredentials)} ''} ''; serviceConfig = { Type = "oneshot"; Loading
nixos/modules/services/monitoring/grafana-agent.nix +1 −1 Original line number Diff line number Diff line Loading @@ -140,7 +140,7 @@ in # We can't use Environment=HOSTNAME=%H, as it doesn't include the domain part. export HOSTNAME=$(< /proc/sys/kernel/hostname) exec ${cfg.package}/bin/agent -config.expand-env -config.file ${configFile} exec ${lib.getExe cfg.package} -config.expand-env -config.file ${configFile} ''; serviceConfig = { Restart = "always"; Loading
nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix +6 −6 Original line number Diff line number Diff line Loading @@ -4,12 +4,12 @@ with lib; let cfg = config.services.prometheus.exporters.smartctl; args = concatStrings [ "--web.listen-address=\"${cfg.listenAddress}:${toString cfg.port}\" " "--smartctl.path=\"${pkgs.smartmontools}/bin/smartctl\" " "--smartctl.interval=\"${cfg.maxInterval}\" " "${concatMapStringsSep " " (device: "--smartctl.device=${device}") cfg.devices}" ] ++ cfg.extraFlags; args = lib.escapeShellArgs ([ "--web.listen-address=${cfg.listenAddress}:${toString cfg.port}" "--smartctl.path=${pkgs.smartmontools}/bin/smartctl" "--smartctl.interval=${cfg.maxInterval}" ] ++ map (device: "--smartctl.device=${device}") cfg.devices ++ cfg.extraFlags); in { port = 9633; Loading