nixpkgs/nixos/modules/services
Maximilian Bosch de0a39166b
wpa_supplicant: allow both imperative and declarative networks
For a while now it's possible to specify an additional config file in
`wpa_supplicant`[1]. In contrast to the file specified via `-c` this was
supposed to be used for immutable settings and not e.g. additional
networks.

However I'm a little bit unhappy about the fact that one has to choose
between a fully imperative setup and a fully declarative one where the
one would have to write credentials for e.g. WPA2-enterprise networks
into the store.

The primary problem with the current state of `wpa_supplicant` is that
if the `SAVE_CONFIG` command is invoked (e.g. via `wpa_cli`), all known
networks will be written to `/etc/wpa_supplicant.conf` and thus all
declarative networks would get out of sync with the declarative
settings.

To work around this, I had to change the following things:

* The `networking.wireless`-module now uses `-I` for declarative config,
  so the user-controlled mode can be used along with the
  `networks`-option.

* I added an `ro`-field to the `ssid`-struct in the
  `wpa_supplicant`-sources. This will be set to `1` for each network
  specified in the config passed via `-I`.

  Whenever config is written to the disk, those networks will be
  skipped, so changes to declarative networks are only temporary.

[1] https://w1.fi/cgit/hostap/commit/wpa_supplicant?id=e6304cad47251e88d073553042f1ea7805a858d1
2021-04-16 13:18:25 +02:00
..
admin
amqp
audio Merge pull request #117554 from Zopieux/snapcast-meta 2021-04-07 10:30:32 +02:00
backup nixos/users: require one of users.users.name.{isSystemUser,isNormalUser} 2021-04-14 20:40:00 +02:00
blockchain/ethereum nixos/geth: initial service 2021-02-23 19:28:51 +01:00
cluster Merge pull request #103228 from ThinkChaos/fix_k3s_start 2021-04-14 09:01:33 +01:00
computing nixos/slurm: expose to path config files 2021-03-10 23:12:47 +01:00
continuous-integration nixos/github-runner: init at v2.277.1 (#116775) 2021-04-10 10:17:10 +00:00
databases nixos/users: require one of users.users.name.{isSystemUser,isNormalUser} 2021-04-14 20:40:00 +02:00
desktops pipewire: 0.3.24 -> 0.3.25 2021-04-07 16:23:43 +03:00
development
display-managers nixos/greetd: Add greetd module (#118294) 2021-04-06 19:35:32 +00:00
editors
games nixos/factorio: add nonBlockingSaving option 2021-03-12 10:34:59 -08:00
hardware nixos/sane: added lp and avahi group (#117952) 2021-04-12 21:29:49 +02:00
logging vector: remove deprecated --no-topology 2021-04-05 08:30:52 +09:00
mail nixos/dovecot: set isSystemUser for mailUser 2021-04-16 00:42:43 +02:00
misc nixos/etebase-server: set users.users.etebase-server.isSystemUser 2021-04-15 21:49:50 +02:00
monitoring nixos/users: require one of users.users.name.{isSystemUser,isNormalUser} 2021-04-14 20:40:00 +02:00
network-filesystems nixos/samba: remove bad example for "securityType" option 2021-04-07 14:18:01 +02:00
networking wpa_supplicant: allow both imperative and declarative networks 2021-04-16 13:18:25 +02:00
printing nixos/printing: simplify filterGutenprint function 2021-03-14 11:59:00 +01:00
scheduling
search
security Merge pull request #117928 from ymatsiuk/fprintd-tod 2021-04-15 11:51:09 -04:00
system treewide: fix eval without aliases after 9378fdf87e 2021-04-08 13:33:09 +02:00
torrent
ttys nixos/getty: add services.getty.extraArgs 2021-02-26 13:17:04 +01:00
video
wayland
web-apps nixos/users: require one of users.users.name.{isSystemUser,isNormalUser} 2021-04-14 20:40:00 +02:00
web-servers Revert "nixos/nginx: fix eval for tengine" 2021-04-14 16:34:10 +02:00
x11 Merge pull request #119259 from romildo/upd.e16 2021-04-13 01:23:27 +02:00