NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.13k stars 14.17k forks source link

networkmanagerapplet: doesn't work with i3 as window manager and no desktop manager #425

Closed domenkozar closed 11 years ago

domenkozar commented 11 years ago

@garbas was working a bit on this yesterday, waiting for this input.

garbas commented 11 years ago

this is currently what i'm playing with ...

diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index d38bbca..a906381 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, networkmanager, GConf
 , libnotify, libgnome_keyring, dbus_glib, polkit, isocodes
-, mobile_broadband_provider_info }:
+, mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
+, makeWrapper }:

 let
   pn = "network-manager-applet";
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {

   buildInputs = [
     gtk libglade networkmanager GConf libnotify libgnome_keyring dbus_glib
-    polkit isocodes 
+    polkit isocodes makeWrapper
   ];

   nativeBuildInputs = [ intltool pkgconfig ];
@@ -27,6 +28,15 @@ stdenv.mkDerivation rec {
     ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
   ];

+  postInstall = ''
+    wrapProgram "$out/bin/nm-applet" \
+      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" \
+      --set GCONF_CONFIG_SOURCE "xml::~/.gconf" \
+      --prefix PATH ":" "${GConf}/bin" \
+      --suffix PATH ":" "$out/bin"
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://projects.gnome.org/NetworkManager/;
     description = "NetworkManager control applet for GNOME";
domenkozar commented 11 years ago

@rickynils so currently user needs to be in networkmanager group to have permissions to use nm-applet. How should that be handled (automatically)?

domenkozar commented 11 years ago

Fixed. It now only requires to set icon theme (for example gnome-icon-theme) and user to be in networkmanager group.