{ config, pkgs, lib, ... }: with lib; let xcfg = config.services.xserver; generalCfg = config.aviallon.general; in { config = { services.kmscon = { hwRender = mkDefault xcfg.enable; extraConfig = "" + optionalString ( ! isNull xcfg.layout ) "xkb-layout=${xcfg.layout}" + optionalString ( ! isNull xcfg.xkbVariant ) "xkb-variant=${xcfg.xkbVariant}" + optionalString ( ! isNull xcfg.xkbOptions ) "xkb-options=${xcfg.xkbOptions}" + "font-dpi=${toString (xcfg.dpi or 96)}" ; enable = mkDefault (! generalCfg.minimal ); }; }; }