Merge pull request #128724 from fortuneteller2k/nixos/iwd
nixos/iwd: add settings option
This commit is contained in:
commit
8813af6821
|
@ -693,6 +693,15 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The
|
||||||
|
<link xlink:href="options.html#opt-networking.wireless.iwd.enable">networking.wireless.iwd</link>
|
||||||
|
module has a new
|
||||||
|
<link xlink:href="options.html#opt-networking.wireless.iwd.settings">networking.wireless.iwd.settings</link>
|
||||||
|
option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -181,3 +181,5 @@ pt-services.clipcat.enable).
|
||||||
- NSS modules which should be queried after `resolved`, `files` and
|
- NSS modules which should be queried after `resolved`, `files` and
|
||||||
`myhostname`, but before `dns` should use the default priority
|
`myhostname`, but before `dns` should use the default priority
|
||||||
- NSS modules which should come after `dns` should use mkAfter.
|
- NSS modules which should come after `dns` should use mkAfter.
|
||||||
|
|
||||||
|
- The [networking.wireless.iwd](options.html#opt-networking.wireless.iwd.enable) module has a new [networking.wireless.iwd.settings](options.html#opt-networking.wireless.iwd.settings) option.
|
||||||
|
|
|
@ -4,8 +4,31 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.networking.wireless.iwd;
|
cfg = config.networking.wireless.iwd;
|
||||||
|
ini = pkgs.formats.ini { };
|
||||||
|
configFile = ini.generate "main.conf" cfg.settings;
|
||||||
in {
|
in {
|
||||||
options.networking.wireless.iwd.enable = mkEnableOption "iwd";
|
options.networking.wireless.iwd = {
|
||||||
|
enable = mkEnableOption "iwd";
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
type = ini.type;
|
||||||
|
default = { };
|
||||||
|
|
||||||
|
example = {
|
||||||
|
Settings.AutoConnect = true;
|
||||||
|
|
||||||
|
Network = {
|
||||||
|
EnableIPv6 = true;
|
||||||
|
RoutePriorityOffset = 300;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
description = ''
|
||||||
|
Options passed to iwd.
|
||||||
|
See <link xlink:href="https://iwd.wiki.kernel.org/networkconfigurationsettings">here</link> for supported options.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
assertions = [{
|
assertions = [{
|
||||||
|
@ -15,6 +38,8 @@ in {
|
||||||
'';
|
'';
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
environment.etc."iwd/main.conf".source = configFile;
|
||||||
|
|
||||||
# for iwctl
|
# for iwctl
|
||||||
environment.systemPackages = [ pkgs.iwd ];
|
environment.systemPackages = [ pkgs.iwd ];
|
||||||
|
|
||||||
|
@ -27,7 +52,10 @@ in {
|
||||||
linkConfig.NamePolicy = "keep kernel";
|
linkConfig.NamePolicy = "keep kernel";
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.iwd.wantedBy = [ "multi-user.target" ];
|
systemd.services.iwd = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
restartTriggers = [ configFile ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ mic92 dtzWill ];
|
meta.maintainers = with lib.maintainers; [ mic92 dtzWill ];
|
||||||
|
|
Loading…
Reference in a new issue