From c2828e8479f84baaf176d0986164231e408d6e1a Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Tue, 5 Apr 2022 10:43:15 -0700 Subject: [PATCH 1/2] nixos/qtile: expose unwrapped package to systemPackages --- nixos/modules/services/x11/window-managers/qtile.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/window-managers/qtile.nix b/nixos/modules/services/x11/window-managers/qtile.nix index 835b41d4ada..8ac3a1c86bd 100644 --- a/nixos/modules/services/x11/window-managers/qtile.nix +++ b/nixos/modules/services/x11/window-managers/qtile.nix @@ -20,6 +20,11 @@ in ''; }]; - environment.systemPackages = [ pkgs.qtile ]; + environment.systemPackages = [ + # pkgs.qtile is currently a buildenv of qtile and its dependencies. + # For userland commands, we want the underlying package so that + # packages such as python don't bleed into userland and overwrite intended behavior. + (pkgs.qtile.unwrapped or pkgs.qtile) + ]; }; } From f8002a6687c52288f1f0796a5c757d5ab515afa0 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Tue, 5 Apr 2022 10:44:03 -0700 Subject: [PATCH 2/2] nixos/qtile: expose package option --- nixos/modules/services/x11/window-managers/qtile.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/x11/window-managers/qtile.nix b/nixos/modules/services/x11/window-managers/qtile.nix index 8ac3a1c86bd..4d455fdf7b2 100644 --- a/nixos/modules/services/x11/window-managers/qtile.nix +++ b/nixos/modules/services/x11/window-managers/qtile.nix @@ -7,15 +7,17 @@ let in { - options = { - services.xserver.windowManager.qtile.enable = mkEnableOption "qtile"; + options.services.xserver.windowManager.qtile = { + enable = mkEnableOption "qtile"; + + package = mkPackageOption pkgs "qtile" { }; }; config = mkIf cfg.enable { services.xserver.windowManager.session = [{ name = "qtile"; start = '' - ${pkgs.qtile}/bin/qtile start & + ${cfg.package}/bin/qtile start & waitPID=$! ''; }]; @@ -24,7 +26,7 @@ in # pkgs.qtile is currently a buildenv of qtile and its dependencies. # For userland commands, we want the underlying package so that # packages such as python don't bleed into userland and overwrite intended behavior. - (pkgs.qtile.unwrapped or pkgs.qtile) + (cfg.package.unwrapped or cfg.package) ]; }; }