From c3c3d6f1fd19a5da015c9a9d3ae5c54f2d177be0 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Tue, 26 Aug 2025 21:36:16 -0500 Subject: reogranize files more only working on optiplex for now prepare for home manager refactoring --- archetypes/collections/desktop/xserver.nix | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 archetypes/collections/desktop/xserver.nix (limited to 'archetypes/collections/desktop/xserver.nix') diff --git a/archetypes/collections/desktop/xserver.nix b/archetypes/collections/desktop/xserver.nix new file mode 100644 index 0000000..4cbdae8 --- /dev/null +++ b/archetypes/collections/desktop/xserver.nix @@ -0,0 +1,34 @@ +{ pkgs, lib, config, ... }: let + cfg = config._archetypes.collections.desktop.xserver; +in { + options._archetypes.collections.desktop.xserver = { + enable = lib.mkEnableOption "installs xserver"; + utilities.enable = lib.mkEnableOption "installs basic xserver utilities"; + }; + + config = lib.mkIf cfg.enable { + services.xserver.enable = true; + services.xserver.displayManager.startx.enable = true; + services.libinput.enable = true; # Enable touchpad support + + # Install basic X utilities + environment.systemPackages = with pkgs; lib.optionals cfg.utilities.enable [ + unclutter + xcape + xclip + xdotool + xorg.setxkbmap + xorg.xinput + xorg.xkill + xorg.xrandr + xorg.xset + xwallpaper + ]; + + # Enable TearFree option by default + # Not all video drivers support this option + services.xserver.deviceSection = '' + Option "TearFree" "true" + ''; + }; +} -- cgit v1.2.3