diff options
Diffstat (limited to 'modules/x11.nix')
-rw-r--r-- | modules/x11.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/modules/x11.nix b/modules/x11.nix new file mode 100644 index 0000000..55ba0b5 --- /dev/null +++ b/modules/x11.nix @@ -0,0 +1,91 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; +let + cfg = config.nixfiles.modules.x11; +in +{ + options.nixfiles.modules.x11.enable = mkEnableOption "X11"; + + config = mkIf cfg.enable { + hm = { + home = { + sessionVariables = { + XCOMPOSEFILE = pkgs.writeText "XCompose" '' + include "${pkgs.xorg.libX11}/share/X11/locale/en_US.UTF-8/Compose" + ''; + XCOMPOSECACHE = "${config.dirs.cache}/libx11/compose"; + }; + + packages = with pkgs; [ xclip ]; + }; + + xresources.properties = { + "Xft.antialias" = mkDefault 1; + "Xft.autohint" = mkDefault 0; + "Xft.hinting" = mkDefault 1; + "Xft.hintstyle" = mkDefault "hintslight"; + "Xft.lcdfilter" = mkDefault "lcddefault"; + "Xft.rgba" = mkDefault "rgb"; + }; + + services.xsettingsd = { + enable = true; + # https://codeberg.org/derat/xsettingsd#settings + settings = + let + xprop = config.hm.xresources.properties; + in + { + "Net/CursorBlink" = 1; + "Net/CursorBlinkTime" = 1200; + "Net/DndDragThreshold" = 0; + "Net/DoubleClickDistance" = 5; + "Net/DoubleClickTime" = 250; + "Net/EnableEventSounds" = 1; + "Net/EnableInputFeedbackSounds" = 1; + "Xft/Antialias" = xprop."Xft.antialias"; + "Xft/HintStyle" = xprop."Xft.hintstyle"; + "Xft/Hinting" = xprop."Xft.hinting"; + "Xft/RGBA" = xprop."Xft.rgba"; + }; + }; + }; + + services.xserver = { + enable = true; + + tty = mkDefault 1; + + autoRepeatDelay = 200; + autoRepeatInterval = 50; + + libinput.enable = true; + + monitorSection = '' + Option "DPMS" "false" + ''; + + serverFlagsSection = '' + Option "BlankTime" "0" + Option "OffTime" "0" + Option "StandbyTime" "0" + Option "SuspendTime" "0" + ''; + + inputClassSections = [ + '' + Identifier "Mouse" + MatchIsPointer "yes" + Option "AccelerationNumerator" "2" + Option "AccelerationDenominator" "1" + Option "AccelerationThreshold" "4" + '' + ]; + }; + }; +} |