summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/hw/network-manager.nix
blob: 5a1018df0c267aa5e93ba4fd0847b533b8b6ec95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{ pkgs, lib, ... }:
{
  users.users.makefu = {
    extraGroups = [ "networkmanager" ];
    packages = with pkgs;[
      networkmanagerapplet
      gnome3.gnome-keyring dconf
    ];
  };
  networking.wireless.enable = lib.mkForce false;

  systemd.services.modemmanager = {
    description = "ModemManager";
    bindsTo = [ "NetworkManager.service" ];
    wantedBy = [ "NetworkManager.service" "multi-user.target" ];
    serviceConfig = {
      ExecStart = "${pkgs.modemmanager}/bin/ModemManager";
      PrivateTmp = true;
      Restart = "always";
      RestartSec = "5";
    };
  };

# nixOSUnstable
  networking.networkmanager.enable = true;
  networking.networkmanager.wifi = {
    powersave = true;
    scanRandMacAddress = true;
    backend = "iwd";
  };
  services.gnome.gnome-keyring.enable = true;
  networking.wireless.iwd.enable = true;

  state = [
    "/etc/NetworkManager/system-connections"  #NM stateful config files
  ];
  networking.networkmanager.dispatcherScripts = [
    { source = "${pkgs.prison-break}/bin/prison-break"; }
  ];

  # TODO: not sure if this actually works
  systemd.services.NetworkManager-dispatcher.environment = {
    DISPLAY= ":0";
    DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/user/9001/bus";
  };

}