{ pkgs, unstable, ... }: { # Enable the X11 windowing system. services.xserver.enable = true; # Configure keymap in X11 # services.xserver.xkb.layout = "us"; # services.xserver.xkb.options = "eurosign:e,caps:escape"; # Enable CUPS to print documents. # services.printing.enable = true; # Enable sound. security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; wireplumber.enable = true; }; # Graphics and parallel compute configuration hardware.opengl.extraPackages = [ pkgs.libva ]; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; # Fonts fonts.packages = with pkgs; [ fira-code fira-code-symbols noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra (nerdfonts.override { fonts = [ "FiraCode" ]; }) ]; # Polkit is a dependency of Sway. It's responsible for handling security policies security.polkit.enable = true; # Enable the sway window manager programs.sway = { enable = true; package = unstable.sway; wrapperFeatures.gtk = true; }; # Use greetd as the displaymanager #services.xserver.displayManager.greetd.enable = true; #services.xserver.displayManager.lightdm.enable = false; services.xserver.displayManager.sddm.enable = true; services.xserver.displayManager.defaultSession = "none+i3"; services.xserver.displayManager.autoLogin = { enable = true; user = "noah"; }; # i3, for when I need XOrg services.xserver.windowManager.i3 = { enable = true; extraPackages = with pkgs; [ dmenu i3status i3lock i3blocks ]; }; xdg.portal = { enable = true; wlr.enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; services.dbus.enable = true; services.gnome.gnome-keyring.enable = true; }