summaryrefslogtreecommitdiff
path: root/modules/nixos/x11.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/x11.nix')
-rw-r--r--modules/nixos/x11.nix92
1 files changed, 92 insertions, 0 deletions
diff --git a/modules/nixos/x11.nix b/modules/nixos/x11.nix
new file mode 100644
index 0000000..cd8dfbe
--- /dev/null
+++ b/modules/nixos/x11.nix
@@ -0,0 +1,92 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+with lib; let
+ cfg = config.nixfiles.modules.x11;
+in {
+ options.nixfiles.modules.x11.enable = mkEnableOption "X11";
+
+ config = mkIf cfg.enable {
+ nixfiles.modules.fonts.enable = true;
+
+ hm = {
+ home.sessionVariables = with config.dirs; {
+ XCOMPOSEFILE = "${cache}/XComposeFile";
+ XCOMPOSECACHE = "${cache}/XComposeCache";
+ };
+
+ xsession.scriptPath = ".xinitrc";
+
+ xresources.properties =
+ (let
+ font = with config.fontScheme.monospaceFont; "${family}:style=${style}:size=${toString size}";
+ in {
+ "*.font" = font;
+
+ "Xft.antialias" = 1;
+ "Xft.autohint" = 0;
+ "Xft.dpi" = 96;
+ "Xft.hinting" = 1;
+ "Xft.hintstyle" = "hintslight";
+ "Xft.lcdfilter" = "lcddefault";
+ "Xft.rgba" = "rgb";
+ })
+ // (with config.colourScheme; {
+ "*.color0" = black;
+ "*.color8" = brightBlack;
+ "*.color1" = red;
+ "*.color9" = brightRed;
+ "*.color2" = green;
+ "*.color10" = brightGreen;
+ "*.color3" = yellow;
+ "*.color11" = brightYellow;
+ "*.color4" = blue;
+ "*.color12" = brightBlue;
+ "*.color5" = magenta;
+ "*.color13" = brightMagenta;
+ "*.color6" = cyan;
+ "*.color14" = brightCyan;
+ "*.color7" = white;
+ "*.color15" = brightWhite;
+
+ "*.background" = background;
+ "*.foreground" = foreground;
+ });
+ };
+
+ services.xserver = {
+ enable = true;
+
+ tty = mkDefault 1;
+
+ autoRepeatDelay = 200;
+ autoRepeatInterval = 25;
+
+ 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"
+ ''
+ ];
+ };
+ };
+}