i3 & xfce modules: add extraSessionCommands for WM-specific user-defined xsession lines
Could be extended to other window managers/desktops as well
This commit is contained in:
parent
6e0b40af60
commit
0243ccfbff
@ -33,6 +33,14 @@ in
|
|||||||
default = false;
|
default = false;
|
||||||
description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
|
description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extraSessionCommands = mkOption {
|
||||||
|
default = "";
|
||||||
|
type = types.lines;
|
||||||
|
description = ''
|
||||||
|
Shell commands executed just before XFCE is started.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -45,6 +53,8 @@ in
|
|||||||
bgSupport = true;
|
bgSupport = true;
|
||||||
start =
|
start =
|
||||||
''
|
''
|
||||||
|
${cfg.extraSessionCommands}
|
||||||
|
|
||||||
# Set GTK_PATH so that GTK+ can find the theme engines.
|
# Set GTK_PATH so that GTK+ can find the theme engines.
|
||||||
export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0"
|
export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0"
|
||||||
|
|
||||||
|
@ -15,12 +15,21 @@ let
|
|||||||
If left at the default value, $HOME/.i3/config will be used.
|
If left at the default value, $HOME/.i3/config will be used.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
extraSessionCommands = mkOption {
|
||||||
|
default = "";
|
||||||
|
type = types.lines;
|
||||||
|
description = ''
|
||||||
|
Shell commands executed just before i3 is started.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
i3config = name: pkg: cfg: {
|
i3config = name: pkg: cfg: {
|
||||||
services.xserver.windowManager.session = [{
|
services.xserver.windowManager.session = [{
|
||||||
inherit name;
|
inherit name;
|
||||||
start = ''
|
start = ''
|
||||||
|
${cfg.extraSessionCommands}
|
||||||
|
|
||||||
${pkg}/bin/i3 ${optionalString (cfg.configFile != null)
|
${pkg}/bin/i3 ${optionalString (cfg.configFile != null)
|
||||||
"-c \"${cfg.configFile}\""
|
"-c \"${cfg.configFile}\""
|
||||||
} &
|
} &
|
||||||
|
Loading…
x
Reference in New Issue
Block a user