{ config, lib, pkgs, ... }: let cfg = config.custom.programs.i3; in { options.custom.programs.i3.enable = lib.mkOption { type = lib.types.bool; default = false; }; config = lib.mkIf cfg.enable { environment.systemPackages = with pkgs; [ i3status rofi arandr pavucontrol viewnior xfce.mousepad pcmanfm evince brightnessctl networkmanagerapplet ]; programs.i3lock.enable = true; services = { displayManager = { defaultSession = "none+i3"; }; xserver.windowManager.i3 = { enable = true; extraPackages = [ ]; configFile = "${(import ./embedded/i3.conf { inherit pkgs; })}"; }; }; }; }