I3

From NixOS Wiki
Revision as of 09:30, 10 March 2019 by imported>LinArcX

i3 is a tiling window manager for X.

Enabling

To use i3 set services.xserver.windowManager.i3.enable to true. For example:

 
/etc/nixos/configuration.nix
{ config, pkgs, callPackage, ... }: {
  ...
  services.xserver = {
    enable = true;

    desktopManager = {
      default = "none";
      xterm.enable = false;
    };

    windowManager.i3 = {
      enable = true;
      extraPackages = with pkgs; [
        dmenu
        i3status
        i3lock
        i3blocks
     ];
    };
  };
  ...
}

With a desktop manager

i3 is a window manager and does not provide "cosmetic" services like managing multiple monitor configuration or media keys. This is what is usually delegated to a desktop manager. To use xfce as a desktop manager on top of i3, see Xfce#Using_as_a_desktop_manager_and_not_a_window_manager.

I3-gaps fork

To use i3-gaps fork, the following line should be added to the configuration.nix:

services.xserver.windowManager.i3.package = pkgs.i3-gaps;

DConf

If your settings aren't being saved for some applications (gtk3 applications, firefox), like the size of file selection windows, or the size of the save dialog, you will need to enable dconf:

 
/etc/nixos/configuration.nix
  programs.dconf.enable = true;
  services.dbus.packages = [ pkgs.gnome3.dconf ];

Wallpaper

If ~/.background-image exists then it will be displayed as a wallpaper. Options services.xserver.desktopManager.wallpaper.combineScreens and .mode control exactly how it is displayed.