xsession.enable
Whether to enable X Session.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.initExtra
Extra shell commands to run during initialization.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.numlock.enable
Whether to enable Num Lock.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.pointerCursor.package
Alias of home.pointerCursor.package.
Type: submodule
Declared by:
xsession.pointerCursor.defaultCursor
Alias of home.pointerCursor.x11.defaultCursor.
Type: submodule
Declared by:
xsession.pointerCursor.name
Alias of home.pointerCursor.name.
Type: submodule
Declared by:
xsession.pointerCursor.size
Alias of home.pointerCursor.size.
Type: submodule
Declared by:
xsession.preferStatusNotifierItems
Whether tray applets should prefer using the Status Notifier Items (SNI) protocol, commonly called App Indicators. Note, not all tray applets or status bars support SNI.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.profileExtra
Extra shell commands to run before session start.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.profilePath
Path, relative to HOME, where Home Manager
should write the X profile script.
Type: string
Default:
".xprofile"
Example:
".xprofile-hm"
Declared by:
xsession.scriptPath
Path, relative to HOME, where Home Manager
should write the X session script.
Type: string
Default:
".xsession"
Example:
".xsession-hm"
Declared by:
xsession.windowManager.awesome.enable
Whether to enable Awesome window manager.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.awesome.package
The awesome package to use. to use for running the Awesome WM
Type: package
Default:
pkgs.awesome
Declared by:
xsession.windowManager.awesome.luaModules
List of lua packages available for being used in the Awesome configuration.
Type: list of package
Default:
[ ]
Example:
[ pkgs.luaPackages.vicious ]
Declared by:
xsession.windowManager.awesome.noArgb
Disable client transparency support, which can be greatly detrimental to performance in some setups
Type: boolean
Default:
false
Declared by:
xsession.windowManager.bspwm.enable
Whether to enable bspwm window manager.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.bspwm.package
The bspwm package to use.
Type: package
Default:
pkgs.bspwm
Example:
pkgs.bspwm-unstable
Declared by:
xsession.windowManager.bspwm.alwaysResetDesktops
If set to true, desktops configured in monitors will be reset
every time the config is run.
If set to false, desktops will only be configured the first time the config is run.
This is useful if you want to dynamically add desktops and you don’t want them to be destroyed if you
re-run bspwmrc.
Type: boolean
Default:
true
Declared by:
xsession.windowManager.bspwm.extraConfig
Additional shell commands to be run at the end of the config file.
Type: strings concatenated with “\n”
Default:
""
Example:
''
bspc subscribe all > ~/bspc-report.log &
''
Declared by:
xsession.windowManager.bspwm.extraConfigEarly
Like extraConfig, except commands are run at the start of the config file.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.bspwm.monitors
Specifies the names of desktops to create on each monitor.
Type: attribute set of list of string
Default:
{ }
Example:
{
HDMI-0 = [
"web"
"terminal"
"III"
"IV"
];
}
Declared by:
xsession.windowManager.bspwm.rules
Rule configuration. The keys of the attribute set are the targets of the rules.
Type: attribute set of (open submodule of attribute set of (boolean or signed integer or floating point number or string))
Default:
{ }
Example:
{
Gimp = {
desktop = "^8";
follow = true;
state = "floating";
};
"Kupfer.py" = {
focus = true;
};
Screenkey = {
manage = false;
};
}
Declared by:
xsession.windowManager.bspwm.rules.<name>.border
Whether the node should have border.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.center
Whether the node will be put in the center, in floating mode.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.desktop
The desktop where the rule should be applied.
Type: null or string
Default:
null
Example:
"^8"
Declared by:
xsession.windowManager.bspwm.rules.<name>.focus
Whether the node should gain focus on creation.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.follow
Whether focus should follow the node when it is moved.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.hidden
Whether the node should occupy any space.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.layer
The layer where a new window should spawn.
Type: null or one of “below”, “normal”, “above”
Default:
null
Example:
"above"
Declared by:
xsession.windowManager.bspwm.rules.<name>.locked
Whether the node should ignore node --close
messages.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.manage
Whether the window should be managed by bspwm. If false, the window will be ignored by bspwm entirely. This is useful for overlay apps, e.g. screenshot tools.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.marked
Whether the node will be marked for deferred actions.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.monitor
The monitor where the rule should be applied.
Type: null or string
Default:
null
Example:
"HDMI-0"
Declared by:
xsession.windowManager.bspwm.rules.<name>.node
The node where the rule should be applied.
Type: null or string
Default:
null
Example:
"1"
Declared by:
xsession.windowManager.bspwm.rules.<name>.private
Whether the node should stay in the same tiling position and size.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.rules.<name>.rectangle
The node’s geometry, in the format WxH+X+Y.
Type: null or string
Default:
null
Example:
"800x600+32+32"
Declared by:
xsession.windowManager.bspwm.rules.<name>.splitDir
The direction where the container is going to be split.
Type: null or one of “north”, “west”, “south”, “east”
Default:
null
Example:
"south"
Declared by:
xsession.windowManager.bspwm.rules.<name>.splitRatio
The ratio between the new window and the previous existing window in the desktop.
Type: null or floating point number
Default:
null
Example:
0.65
Declared by:
xsession.windowManager.bspwm.rules.<name>.state
The state in which a new window should spawn.
Type: null or one of “tiled”, “pseudo_tiled”, “floating”, “fullscreen”
Default:
null
Example:
"floating"
Declared by:
xsession.windowManager.bspwm.rules.<name>.sticky
Whether the node should stay on the focused desktop.
Type: null or boolean
Default:
null
Example:
true
Declared by:
xsession.windowManager.bspwm.settings
General settings given to bspc config.
Type: attribute set of (boolean or signed integer or floating point number or string or list of (boolean or signed integer or floating point number or string))
Default:
{ }
Example:
{
border_width = 2;
gapless_monocle = true;
split_ratio = 0.52;
}
Declared by:
xsession.windowManager.bspwm.startupPrograms
Programs to be executed during startup.
Type: list of string
Default:
[ ]
Example:
[
"numlockx on"
"tilda"
]
Declared by:
xsession.windowManager.command
Command to use to start the window manager.
The default value allows integration with NixOS’ generated xserver configuration.
Extra actions and commands can be specified in xsession.initExtra.
Type: string
Default:
"test -n \"$1\" && eval \"$@\""
Example:
let
xmonad = pkgs.xmonad-with-packages.override {
packages = self: [ self.xmonad-contrib self.taffybar ];
};
in
"${xmonad}/bin/xmonad";
Declared by:
xsession.windowManager.exwm.enable
Whether to enable exwm.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.exwm.package
The emacs package to use.
Type: package
Default:
pkgs.emacs
Example:
pkgs.emacs-gtk
Declared by:
xsession.windowManager.exwm.extraPackages
Extra packages available to Emacs. The value must be a
function which receives the attrset defined in
emacs.pkgs as the sole argument.
Type: function that evaluates to a(n) list of package
Default:
epkgs: []
Example:
epkgs: [
epkgs.emms
epkgs.magit
epkgs.proof-general
]
Declared by:
xsession.windowManager.exwm.loadScript
Emacs lisp code to be run after loading the user’s init file.
Type: strings concatenated with “\n”
Default:
"(require 'exwm)"
Example:
''
(require 'exwm)
(exwm-enable)
''
Declared by:
xsession.windowManager.fluxbox.enable
Whether to enable Fluxbox window manager.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.fluxbox.package
The fluxbox package to use.
Type: null or package
Default:
pkgs.fluxbox
Declared by:
xsession.windowManager.fluxbox.apps
Apps configuration for Fluxbox, written to
~/.fluxbox/apps. Look at the
fluxbox(1) manpage for details.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.fluxbox.extraCommandLineArgs
Extra command line arguments to pass to fluxbox.
Look at the
fluxbox(1) manpage for details.
Type: list of string
Default:
[ ]
Example:
[
"-log"
"/tmp/fluxbox.log"
]
Declared by:
xsession.windowManager.fluxbox.init
Init configuration for Fluxbox, written to
~/.fluxbox/init. Look at the
fluxbox(1) manpage for details.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.fluxbox.keys
Keyboard shortcuts configuration for Fluxbox, written to
~/.fluxbox/keys. Look at the
fluxbox-keys(1) manpage for details.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.fluxbox.menu
Menu configuration for Fluxbox, written to
~/.fluxbox/menu. Look at the
fluxbox-menu(1) manpage for details.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.fluxbox.slitlist
Slitlist configuration for Fluxbox, written to
~/.fluxbox/slitlist. Look at the
fluxbox(1) manpage for details.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.fluxbox.windowmenu
Window menu configuration for Fluxbox, written to
~/.fluxbox/windowmenu. Look at the
fluxbox-menu(1)
manpage for details.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.herbstluftwm.enable
Whether to enable herbstluftwm window manager.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.herbstluftwm.enableAlias
Set an alias for the herbstclient command in the
autostart script that only stores its arguments and executes
them all at once at the end of the autostart script.
This reduces the amount of flickering you get while all options are being applied and improves the performance.
On the other hand, this makes it more difficult to write bash functions
that call herbstclient. You can work around this by calling
command herbstclient in your functions to still get some of
the benefits of enabling this alias.
Type: boolean
Default:
true
Declared by:
xsession.windowManager.herbstluftwm.package
The herbstluftwm package to use.
Type: package
Default:
pkgs.herbstluftwm
Declared by:
xsession.windowManager.herbstluftwm.extraConfig
Extra configuration lines to add verbatim to
$XDG_CONFIG_HOME/herbstluftwm/autostart.
Type: strings concatenated with “\n”
Default:
""
Example:
''
herbstclient set_layout max
herbstclient detect_monitors
''
Declared by:
xsession.windowManager.herbstluftwm.keybinds
Herbstluftwm keybinds.
Type: attribute set of string
Default:
{ }
Example:
{
Mod4-o = "split right";
Mod4-u = "split bottom";
}
Declared by:
xsession.windowManager.herbstluftwm.mousebinds
Herbstluftwm mousebinds.
Type: attribute set of string
Default:
{ }
Example:
{
Mod4-B1 = "move";
Mod4-B3 = "resize";
}
Declared by:
xsession.windowManager.herbstluftwm.rules
Herbstluftwm rules.
Type: list of string
Default:
[ ]
Example:
[
"windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' focus=on pseudotile=on"
"windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off"
]
Declared by:
xsession.windowManager.herbstluftwm.settings
Herbstluftwm settings.
Type: attribute set of (boolean or signed integer or string)
Default:
{ }
Example:
{
gapless_grid = false;
window_border_width = 1;
window_border_active_color = "#FF0000";
}
Declared by:
xsession.windowManager.herbstluftwm.tags
Tags to create on startup.
Type: list of string
Default:
[ ]
Example:
[
"work"
"browser"
"music"
"gaming"
]
Declared by:
xsession.windowManager.i3.enable
Whether to enable i3 window manager.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.i3.package
The i3 package to use.
Type: null or package
Default:
pkgs.i3
Declared by:
xsession.windowManager.i3.config
i3 configuration options.
Type: null or (submodule)
Default:
{ }
Declared by:
xsession.windowManager.i3.config.assigns
An attribute set that assigns applications to workspaces based on criteria.
Type: attribute set of list of attribute set of (string or boolean)
Default:
{ }
Example:
{
"0: extra" = [
{
class = "^Firefox$";
window_role = "About";
}
];
"1: web" = [
{
class = "^Firefox$";
}
];
}
Declared by:
xsession.windowManager.i3.config.bars
i3 bars settings blocks. Set to empty list to remove bars completely.
Type: list of (submodule)
Default:
see code
Declared by:
xsession.windowManager.i3.config.bars.*.colors
Bar color settings. All color classes can be specified using submodules with ‘border’, ‘background’, ‘text’, fields and RGB color hex-codes as values. See default values for the reference. Note that ‘background’, ‘status’, and ‘separator’ parameters take a single RGB value.
See https://i3wm.org/docs/userguide.html#_colors.
Type: submodule
Default:
{ }
Declared by:
xsession.windowManager.i3.config.bars.*.colors.activeWorkspace
Border, background and text color for a workspace button when the workspace is active.
Type: null or (submodule)
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.colors.background
Background color of the bar.
Type: null or string
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.colors.bindingMode
Border, background and text color for the binding mode indicator
Type: null or (submodule)
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.colors.focusedBackground
Background color of the bar on the currently focused monitor output.
Type: null or string
Default:
null
Example:
"#000000"
Declared by:
xsession.windowManager.i3.config.bars.*.colors.focusedSeparator
Text color to be used for the separator on the currently focused monitor output.
Type: null or string
Default:
null
Example:
"#666666"
Declared by:
xsession.windowManager.i3.config.bars.*.colors.focusedStatusline
Text color to be used for the statusline on the currently focused monitor output.
Type: null or string
Default:
null
Example:
"#ffffff"
Declared by:
xsession.windowManager.i3.config.bars.*.colors.focusedWorkspace
Border, background and text color for a workspace button when the workspace has focus.
Type: null or (submodule)
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.colors.inactiveWorkspace
Border, background and text color for a workspace button when the workspace does not have focus and is not active.
Type: null or (submodule)
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.colors.separator
Text color to be used for the separator.
Type: null or string
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.colors.statusline
Text color to be used for the statusline.
Type: null or string
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.colors.urgentWorkspace
Border, background and text color for a workspace button when the workspace contains a window with the urgency hint set.
Type: null or (submodule)
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.command
Command that will be used to start a bar.
Type: string
Default:
i3bar
Example:
"\${pkgs.i3}/bin/i3bar -t"
Declared by:
xsession.windowManager.i3.config.bars.*.extraConfig
Extra configuration lines for this bar.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.i3.config.bars.*.fonts
Font configuration for this bar.
Type: (list of string) or (submodule)
Default:
{ }
Example:
{
names = [
"DejaVu Sans Mono"
"FontAwesome5Free"
];
size = 11.0;
style = "Bold Semi-Condensed";
}
Declared by:
xsession.windowManager.i3.config.bars.*.fonts.names
List of font names list used for window titles. Only FreeType fonts are supported. The order here is important (e.g. icons font should go before the one used for text).
Type: list of string
Default:
[ "monospace" ]
Example:
[
"FontAwesome"
"Terminus"
]
xsession.windowManager.i3.config.bars.*.fonts.size
The font size to use for window titles.
Type: floating point number or string
Default:
8.0
Example:
11.5
xsession.windowManager.i3.config.bars.*.fonts.style
The font style to use for window titles.
Type: string
Default:
""
Example:
"Bold Semi-Condensed"
xsession.windowManager.i3.config.bars.*.hiddenState
The default bar mode when ‘bar.mode’ == ‘hide’.
Type: null or one of “hide”, “show”
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.id
Specifies the bar ID for the configured bar instance. If this option is missing, the ID is set to bar-x, where x corresponds to the position of the embedding bar block in the config file.
Type: null or string
Default:
null
Declared by:
xsession.windowManager.i3.config.bars.*.mode
Bar visibility mode.
Type: null or one of “dock”, “hide”, “invisible”
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.position
The edge of the screen i3bar should show up.
Type: null or one of “top”, “bottom”
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.statusCommand
Command that will be used to get status lines.
Type: null or string
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.trayOutput
Where to output tray.
Type: null or string
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.trayPadding
Sets the pixel padding of the system tray. This padding will surround the tray on all sides and between each item.
Type: null or signed integer
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.workspaceButtons
Whether workspace buttons should be shown or not.
Type: null or boolean
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.bars.*.workspaceNumbers
Whether workspace numbers should be displayed within the workspace buttons.
Type: null or boolean
Default:
null for state version ≥ 20.09, as example otherwise
Declared by:
xsession.windowManager.i3.config.colors
Color settings. All color classes can be specified using submodules with ‘border’, ‘background’, ‘text’, ‘indicator’ and ‘childBorder’ fields and RGB color hex-codes as values. See default values for the reference. Note that ‘i3.config.colors.background’ parameter takes a single RGB value.
See https://i3wm.org/docs/userguide.html#_changing_colors.
Type: submodule
Default:
{ }
Declared by:
xsession.windowManager.i3.config.colors.background
Background color of the window. Only applications which do not cover the whole area expose the color.
Type: string
Default:
"#ffffff"
Declared by:
xsession.windowManager.i3.config.colors.focused
A window which currently has the focus.
Type: submodule
Default:
{
background = "#285577";
border = "#4c7899";
childBorder = "#285577";
indicator = "#2e9ef4";
text = "#ffffff";
}
Declared by:
xsession.windowManager.i3.config.colors.focusedInactive
A window which is the focused one of its container, but it does not have the focus at the moment.
Type: submodule
Default:
{
background = "#5f676a";
border = "#333333";
childBorder = "#5f676a";
indicator = "#484e50";
text = "#ffffff";
}
Declared by:
xsession.windowManager.i3.config.colors.placeholder
Background and text color are used to draw placeholder window contents (when restoring layouts). Border and indicator are ignored.
Type: submodule
Default:
{
background = "#0c0c0c";
border = "#000000";
childBorder = "#0c0c0c";
indicator = "#000000";
text = "#ffffff";
}
Declared by:
xsession.windowManager.i3.config.colors.unfocused
A window which is not focused.
Type: submodule
Default:
{
background = "#222222";
border = "#333333";
childBorder = "#222222";
indicator = "#292d2e";
text = "#888888";
}
Declared by:
xsession.windowManager.i3.config.colors.urgent
A window which has its urgency hint activated.
Type: submodule
Default:
{
background = "#900000";
border = "#2f343a";
childBorder = "#900000";
indicator = "#900000";
text = "#ffffff";
}
Declared by:
xsession.windowManager.i3.config.defaultWorkspace
The default workspace to show when i3 is launched. This must to correspond to the value of the keybinding of the default workspace.
Type: null or string
Default:
null
Example:
"workspace number 9"
Declared by:
xsession.windowManager.i3.config.floating
Floating window settings.
Type: submodule
Default:
{ }
Declared by:
xsession.windowManager.i3.config.floating.border
Floating windows border width.
Type: signed integer
Default:
2
Declared by:
xsession.windowManager.i3.config.floating.criteria
List of criteria for windows that should be opened in a floating mode.
Type: list of attribute set of (string or boolean)
Default:
[ ]
Example:
[
{
title = "Steam - Update News";
}
{
class = "Pavucontrol";
}
]
Declared by:
xsession.windowManager.i3.config.floating.modifier
Modifier key or keys that can be used to drag floating windows.
Type: string
Default:
"i3.config.modifier"
Example:
"Mod4"
Declared by:
xsession.windowManager.i3.config.floating.titlebar
Whether to show floating window titlebars.
Type: boolean
Default:
''
true for state version ≥ 23.05
config.gaps == null for state version < 23.05
''
Declared by:
xsession.windowManager.i3.config.focus
Focus related settings.
Type: submodule
Default:
{ }
Declared by:
xsession.windowManager.i3.config.focus.followMouse
Whether focus should follow the mouse.
Type: boolean
Default:
true
Declared by:
xsession.windowManager.i3.config.focus.forceWrapping
Whether to force focus wrapping in tabbed or stacked containers.
This option is deprecated, use focus.wrapping instead.
Type: boolean
Default:
false
Declared by:
xsession.windowManager.i3.config.focus.mouseWarping
Whether mouse cursor should be warped to the center of the window when switching focus to a window on a different output.
Type: boolean
Default:
true
Declared by:
xsession.windowManager.i3.config.focus.newWindow
This option modifies focus behavior on new window activation.
See https://i3wm.org/docs/userguide.html#focus_on_window_activation
Type: one of “smart”, “urgent”, “focus”, “none”
Default:
"smart"
Example:
"none"
Declared by:
xsession.windowManager.i3.config.focus.wrapping
Whether the window focus commands automatically wrap around the edge of containers.
See https://i3wm.org/docs/userguide.html#_focus_wrapping
Type: one of “yes”, “no”, “force”, “workspace”
Default:
if focus.forceWrapping then "force" else "yes"
Declared by:
xsession.windowManager.i3.config.fonts
Font configuration for window titles, nagbar…
Type: (list of string) or (submodule)
Default:
{ }
Example:
{
names = [
"DejaVu Sans Mono"
"FontAwesome5Free"
];
size = 11.0;
style = "Bold Semi-Condensed";
}
Declared by:
xsession.windowManager.i3.config.fonts.names
List of font names list used for window titles. Only FreeType fonts are supported. The order here is important (e.g. icons font should go before the one used for text).
Type: list of string
Default:
[ "monospace" ]
Example:
[
"FontAwesome"
"Terminus"
]
xsession.windowManager.i3.config.fonts.size
The font size to use for window titles.
Type: floating point number or string
Default:
8.0
Example:
11.5
xsession.windowManager.i3.config.fonts.style
The font style to use for window titles.
Type: string
Default:
""
Example:
"Bold Semi-Condensed"
xsession.windowManager.i3.config.gaps
Gaps related settings.
Type: null or (submodule)
Default:
null
Declared by:
xsession.windowManager.i3.config.gaps.bottom
Bottom gaps value.
Type: null or signed integer
Default:
null
Example:
5
Declared by:
xsession.windowManager.i3.config.gaps.horizontal
Horizontal gaps value.
Type: null or signed integer
Default:
null
Example:
5
Declared by:
xsession.windowManager.i3.config.gaps.inner
Inner gaps value.
Type: null or signed integer
Default:
null
Example:
12
Declared by:
xsession.windowManager.i3.config.gaps.left
Left gaps value.
Type: null or signed integer
Default:
null
Example:
5
Declared by:
xsession.windowManager.i3.config.gaps.outer
Outer gaps value.
Type: null or signed integer
Default:
null
Example:
5
Declared by:
xsession.windowManager.i3.config.gaps.right
Right gaps value.
Type: null or signed integer
Default:
null
Example:
5
Declared by:
xsession.windowManager.i3.config.gaps.smartBorders
This option controls whether to disable container borders on workspace with a single container.
Type: one of “on”, “off”, “no_gaps”
Default:
"off"
Declared by:
xsession.windowManager.i3.config.gaps.smartGaps
This option controls whether to disable all gaps (outer and inner) on workspace with a single container.
Type: boolean or one of “on”, “off”, “inverse_outer”
Default:
"off"
Example:
"on"
Declared by:
xsession.windowManager.i3.config.gaps.top
Top gaps value.
Type: null or signed integer
Default:
null
Example:
5
Declared by:
xsession.windowManager.i3.config.gaps.vertical
Vertical gaps value.
Type: null or signed integer
Default:
null
Example:
5
Declared by:
xsession.windowManager.i3.config.keybindings
An attribute set that assigns a key press to an action using a key symbol. See https://i3wm.org/docs/userguide.html#keybindings.
Consider to use lib.mkOptionDefault function to extend or override
default keybindings instead of specifying all of them from scratch.
Type: attribute set of (null or string)
Default:
"Default i3 keybindings."
Example:
let
modifier = config.xsession.windowManager.i3.config.modifier;
in lib.mkOptionDefault {
"${modifier}+Return" = "exec i3-sensible-terminal";
"${modifier}+Shift+q" = "kill";
"${modifier}+d" = "exec ${pkgs.dmenu}/bin/dmenu_run";
}
Declared by:
xsession.windowManager.i3.config.keycodebindings
An attribute set that assigns keypress to an action using key code. See https://i3wm.org/docs/userguide.html#keybindings.
Type: attribute set of (null or string)
Default:
{ }
Example:
{
"214" = "exec /bin/script.sh";
}
Declared by:
xsession.windowManager.i3.config.menu
Default launcher to use.
Type: string
Default:
${pkgs.dmenu}/bin/dmenu_run
Example:
"bemenu-run"
Declared by:
xsession.windowManager.i3.config.modes
An attribute set that defines binding modes and keybindings inside them
Only basic keybinding is supported (bindsym keycomb action), for more advanced setup use ‘i3.extraConfig’.
Type: attribute set of attribute set of string
Default:
{
resize = {
Down = "resize grow height 10 px or 10 ppt";
Escape = "mode default";
Left = "resize shrink width 10 px or 10 ppt";
Return = "mode default";
Right = "resize grow width 10 px or 10 ppt";
Up = "resize shrink height 10 px or 10 ppt";
};
}
Declared by:
xsession.windowManager.i3.config.modifier
Modifier key that is used for all default keybindings.
Type: one of “Shift”, “Control”, “Mod1”, “Mod2”, “Mod3”, “Mod4”, “Mod5” or string
Default:
"Mod1"
Example:
"Mod4"
Declared by:
xsession.windowManager.i3.config.startup
Commands that should be executed at startup.
See https://i3wm.org/docs/userguide.html#_automatically_starting_applications_on_i3_startup.
Type: list of (submodule)
Default:
[ ]
Example:
[
{ command = "systemctl --user restart polybar"; always = true; notification = false; }
{ command = "dropbox start"; notification = false; }
{ command = "firefox"; }
];
Declared by:
xsession.windowManager.i3.config.startup.*.always
Whether to run command on each i3 restart.
Type: boolean
Default:
false
Declared by:
xsession.windowManager.i3.config.startup.*.command
Command that will be executed on startup.
Type: string
Declared by:
xsession.windowManager.i3.config.startup.*.notification
Whether to enable startup-notification support for the command.
See --no-startup-id option description in the i3 user guide.
Type: boolean
Default:
true
Declared by:
xsession.windowManager.i3.config.startup.*.workspace
Launch application on a particular workspace. DEPRECATED: Use instead. See https://github.com/nix-community/home-manager/issues/265.
Type: null or string
Default:
null
Declared by:
xsession.windowManager.i3.config.terminal
Default terminal to run.
Type: string
Default:
"i3-sensible-terminal"
Example:
"alacritty"
Declared by:
xsession.windowManager.i3.config.window
Window titlebar and border settings.
Type: submodule
Default:
{ }
Declared by:
xsession.windowManager.i3.config.window.border
Window border width.
Type: signed integer
Default:
2
Declared by:
xsession.windowManager.i3.config.window.commands
List of commands that should be executed on specific windows.
See for_window i3wm option documentation.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
command = "border pixel 1";
criteria = {
class = "XTerm";
};
}
]
Declared by:
xsession.windowManager.i3.config.window.commands.*.command
i3wm command to execute.
Type: string
Example:
"border pixel 1"
Declared by:
xsession.windowManager.i3.config.window.commands.*.criteria
Criteria of the windows on which command should be executed.
A value of true is equivalent to using an empty
criteria (which is different from an empty string criteria).
Type: attribute set of (string or boolean)
Default:
{ }
Example:
{
title = "x200: ~/work";
floating = true;
};
Declared by:
xsession.windowManager.i3.config.window.hideEdgeBorders
Hide window borders adjacent to the screen edges.
Type: one of “none”, “vertical”, “horizontal”, “both”, “smart”
Default:
"none"
Declared by:
xsession.windowManager.i3.config.window.titlebar
Whether to show window titlebars.
Type: boolean
Default:
''
true for state version ≥ 23.05
config.gaps == null for state version < 23.05
''
Declared by:
xsession.windowManager.i3.config.workspaceAutoBackAndForth
Assume you are on workspace “1: www” and switch to “2: IM” using mod+2 because somebody sent you a message. You don’t need to remember where you came from now, you can just press $mod+2 again to switch back to “1: www”.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.i3.config.workspaceLayout
The mode in which new containers on workspace level will start.
Type: one of “default”, “stacking”, “tabbed”
Default:
"default"
Example:
"tabbed"
Declared by:
xsession.windowManager.i3.config.workspaceOutputAssign
Assign workspaces to outputs.
Type: list of (submodule)
Default:
[ ]
Declared by:
xsession.windowManager.i3.config.workspaceOutputAssign.*.output
Name(s) of the output(s) from i3-msg -t get_outputs .
Type: string or list of string
Default:
""
Example:
"eDP"
Declared by:
xsession.windowManager.i3.config.workspaceOutputAssign.*.workspace
Name of the workspace to assign.
Type: string
Default:
""
Example:
"Web"
Declared by:
xsession.windowManager.i3.extraConfig
Extra configuration lines to add to ~/.config/i3/config.
Type: strings concatenated with “\n”
Default:
""
Declared by:
xsession.windowManager.spectrwm.enable
Whether to enable Spectrwm window manager.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.spectrwm.package
The spectrwm package to use. providing the spectrwm command
Type: package
Default:
pkgs.spectrwm
Declared by:
xsession.windowManager.spectrwm.bindings
Spectrwm keybindings.
Type: attribute set of string
Default:
{ }
Example:
{
quit = "Mod+Shift+q";
restart = "Mod+Shift+r";
term = "Mod+Return";
}
Declared by:
xsession.windowManager.spectrwm.programs
Spectrwm programs variables.
Type: attribute set of string
Default:
{ }
Example:
{
term = "alacritty";
search = "dmenu -ip -p 'Window name/id:';
}
Declared by:
xsession.windowManager.spectrwm.quirks
Spectrwm quicks (custom window rules).
Type: attribute set of string
Default:
{ }
Example:
{
Matplotlib = "FLOAT";
Pavucontrol = "FLOAT";
}
Declared by:
xsession.windowManager.spectrwm.settings
Spectrwm settings.
Type: attribute set of (boolean or signed integer or string)
Default:
{ }
Example:
{
focus_close = "next";
focus_mode = "manual";
modkey = "Mod4";
workspace_limit = 5;
}
Declared by:
xsession.windowManager.spectrwm.unbindings
List of keybindings to disable from default Spectrwm configuration.
Type: list of string
Default:
[ ]
Example:
[
"MOD+e"
"MOD+f"
"MOD+m"
"MOD+s"
"MOD+u"
"MOD+t"
]
Declared by:
xsession.windowManager.xmonad.enable
Whether to enable xmonad window manager.
Type: boolean
Default:
false
Example:
true
Declared by:
xsession.windowManager.xmonad.enableContribAndExtras
Enable xmonad-{contrib,extras} in xmonad.
Type: boolean
Default:
false
Declared by:
xsession.windowManager.xmonad.buildScript
Build script for your xmonad configuration.
Type: null or absolute path
Default:
null
Example:
pkgs.writeText "build" ''
#!/bin/sh
# Enable -threaded
ghc --make xmonad.hs -threaded -i -ilib -fforce-recomp -main-is main -v0 -O2 -o "$1"
''
Declared by:
xsession.windowManager.xmonad.config
The configuration file to be used for xmonad. This must be
an absolute path or null in which case
~/.xmonad/xmonad.hs will not be managed
by Home Manager.
If this option is set to a non-null value,
recompilation of xmonad outside of Home Manager (e.g. via
xmonad --recompile) will fail.
Type: null or absolute path
Default:
null
Example:
pkgs.writeText "xmonad.hs" ''
import XMonad
main = xmonad defaultConfig
{ terminal = "urxvt"
, modMask = mod4Mask
, borderWidth = 3
}
''
Declared by:
xsession.windowManager.xmonad.extraPackages
Extra packages available to GHC when rebuilding xmonad. The
value must be a function which receives the attribute set
defined in haskellPackages as the sole
argument.
Type: unspecified value
Default:
"self: []"
Example:
haskellPackages: [
haskellPackages.xmonad-contrib
haskellPackages.monad-logger
]
Declared by:
xsession.windowManager.xmonad.haskellPackages
The haskellPackages used to build xmonad
and other packages. This can be used to change the GHC
version used to build xmonad and the packages listed in
extraPackages.
Type: unspecified value
Default:
pkgs.haskellPackages
Example:
pkgs.haskell.packages.ghc784
Declared by:
xsession.windowManager.xmonad.libFiles
Additional files that will be saved in
~/.xmonad/lib/ and included in the configuration
build. The keys are the file names while the values are paths to the
contents of the files.
Type: attribute set of absolute path
Default:
{ }
Example:
{
"Tools.hs" = pkgs.writeText "Tools.hs" ''
module Tools where
screenshot = "scrot"
'';
}
Declared by: