diff --git a/modules/module-list.nix b/modules/module-list.nix index b81512efc086..40b310829024 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -90,6 +90,7 @@ ./services/networking/ssh/sshd.nix ./services/networking/tftpd.nix ./services/networking/vsftpd.nix + ./services/networking/wicd.nix ./services/networking/wpa_supplicant.nix ./services/networking/xinetd.nix ./services/printing/cupsd.nix diff --git a/modules/services/networking/wicd.nix b/modules/services/networking/wicd.nix new file mode 100644 index 000000000000..b26511bcb528 --- /dev/null +++ b/modules/services/networking/wicd.nix @@ -0,0 +1,41 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + networking.wicd.enable = mkOption { + default = false; + description = '' + Whether to start wicd. Wired and + wireless network configurations can then be managed by + wicd-client. + ''; + }; + }; + + + ###### implementation + + config = mkIf config.networking.wicd.enable { + + environment.systemPackages = [pkgs.wicd]; + + jobs.wicd = + { startOn = "started network-interfaces"; + stopOn = "stopping network-interfaces"; + + script = + "${pkgs.wicd}/sbin/wicd -f"; + }; + + services.dbus.enable = true; + services.dbus.packages = [pkgs.wicd]; + + }; + +}