diff --git a/nixos/modules/services/x11/window-managers/i3.nix b/nixos/modules/services/x11/window-managers/i3.nix index f9c75e80db41..c9b0669e7ba5 100644 --- a/nixos/modules/services/x11/window-managers/i3.nix +++ b/nixos/modules/services/x11/window-managers/i3.nix @@ -36,6 +36,21 @@ in i3 package to use. ''; }; + + extraPackages = mkOption { + type = with types; listOf package; + default = with pkgs; [ dmenu i3status i3lock ]; + example = literalExample '' + with pkgs; [ + dmenu + i3status + i3lock + ] + ''; + description = '' + Extra packages to be installed system wide. + ''; + }; }; config = mkIf cfg.enable { @@ -50,7 +65,7 @@ in waitPID=$! ''; }]; - environment.systemPackages = [ cfg.package ]; + environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages; }; imports = [ diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index fded295b0ef1..df7ba69c5c5f 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, which, pkgconfig, makeWrapper, libxcb, xcbutilkeysyms , xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification, libX11, pcre, libev , yajl, xcb-util-cursor, coreutils, perl, pango, perlPackages, libxkbcommon -, xorgserver, xvfb_run, dmenu, i3status }: +, xorgserver, xvfb_run }: stdenv.mkDerivation rec { name = "i3-${version}"; @@ -30,13 +30,6 @@ stdenv.mkDerivation rec { patchShebangs . ''; - postFixup = '' - substituteInPlace $out/etc/i3/config --replace dmenu_run ${dmenu}/bin/dmenu_run - substituteInPlace $out/etc/i3/config --replace "status_command i3status" "status_command ${i3status}/bin/i3status" - substituteInPlace $out/etc/i3/config.keycodes --replace dmenu_run ${dmenu}/bin/dmenu_run - substituteInPlace $out/etc/i3/config.keycodes --replace "status_command i3status" "status_command ${i3status}/bin/i3status" - ''; - # Tests have been failing (at least for some people in some cases) # and have been disabled until someone wants to fix them. Some # initial digging uncovers that the tests call out to `git`, which