I’m trying to enable iwd
after watching this talk , but I noticed that wpa_supplicant.service
is still started, and iwd.service
actually isn’t.
Here’s my network config:
networking = {
hostName = "foobar"; # Define your hostname.
wireless.iwd.enable = true;
networkmanager = {
enable = true;
};
};
Should wpa_supplicant
be removed from this list , and made into an optional dependency?
Furthermore, is there any configuration necessary to have NetworkManager use iwd
as a backedn, as hinted at here ?
1 Like
eadwu
February 17, 2019, 12:44am
2
Currently to use iwd
, the only way supported in nixpkgs is to use it a standalone wireless daemon. However, there is a PR [1] that allows for iwd
to be used as a backend to networkmanager
.
[1] networkmanager: allow `iwd` as Wi-Fi backend by eliasp · Pull Request #51803 · NixOS/nixpkgs · GitHub
1 Like
Do you know why the iwd
systemd service isn’t started on boot though?
This is its definition:
❯ systemctl cat iwd
# /nix/store/zd6v08cfkrgf2q8kccj0vrsszw0i4jvh-iwd-0.7/lib/systemd/system/iwd.service
[Unit]
Description=Wireless service
Before=network.target
Wants=network.target
[Service]
Type=dbus
BusName=net.connman.iwd
ExecStart=/nix/store/zd6v08cfkrgf2q8kccj0vrsszw0i4jvh-iwd-0.7/libexec/iwd
LimitNPROC=1
[Install]
WantedBy=multi-user.target
And this is my network config in configuration.nix
(note i disabled NetworkManager and now use iwctl
directly):
networking = {
nameservers = [ "1.1.1.1" ];
hostName = "foobar"; # Define your hostname.
wireless.iwd.enable = true;
networkmanager = {
enable = false;
};
};
eadwu
February 26, 2019, 1:26am
4
Works fine on my system, try unstable
since stable
looks like it’s somewhat behind. Compared to stable
, it has this commit [1] but it shouldn’t make a difference since you already have it?
# /nix/store/x8r3y6885hhr6lr5ayrywg3x9y34si21-iwd-0.14/lib/systemd/system/iwd.service
[Unit]
Description=Wireless service
Before=network.target
Wants=network.target
[Service]
# /nix/store/x8r3y6885hhr6lr5ayrywg3x9y34si21-iwd-0.14/lib/systemd/system/iwd.service
[Unit]
Description=Wireless service
Before=network.target
Wants=network.target
[Service]
Type=dbus
BusName=net.connman.iwd
ExecStart=/nix/store/x8r3y6885hhr6lr5ayrywg3x9y34si21-iwd-0.14/libexec/iwd
LimitNPROC=1
Restart=on-failure
[Install]
WantedBy=multi-user.target
# /nix/store/akb43vr4cfiszqlpqjp2mapccjnyhzns-system-units/iwd.service.d/overrides.conf
[1] iwd: 0.7 -> 0.8 · NixOS/nixpkgs@3b7ecaa · GitHub
Yeah, weird, the Wants=
is already there for me…
I guess I’ll just wait for 19.03 to be released
Thanks for all the help!