39 lines
985 B
Nix
39 lines
985 B
Nix
{ lib, config, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.roles.desktop;
|
|
in
|
|
{
|
|
config = mkIf (cfg.enable && cfg.x11) {
|
|
services.xserver = {
|
|
enable = true;
|
|
|
|
windowManager.i3 = {
|
|
enable = true;
|
|
extraPackages = with pkgs; [
|
|
dmenu
|
|
i3status
|
|
i3lock
|
|
polkit_gnome # GNOME polkit authentication agent (more stable with i3)
|
|
picom # Compositor for smooth rendering (important for Nvidia)
|
|
networkmanagerapplet # NetworkManager system tray applet
|
|
ddcutil # DDC/CI monitor control for brightness
|
|
];
|
|
};
|
|
};
|
|
|
|
# Enable DDC/CI support for monitor brightness control
|
|
boot.kernelModules = [ "i2c-dev" ];
|
|
|
|
# Add ddcutil udev rules and user permissions
|
|
hardware.i2c.enable = true;
|
|
|
|
# Install ddcutil system-wide
|
|
environment.systemPackages = with pkgs; [
|
|
ddcutil
|
|
];
|
|
};
|
|
}
|