{ inputs, outputs, lib, config, pkgs, ... }: { # so, funny thing i learned - "xserver" is basically the blanket term for all gui stuff in nixos. # this really confuses me, because i'm trying to keep xorg out of this install and only wayland in. # i may miss some spots though. # see: https://www.reddit.com/r/NixOS/comments/17ia1g8/i_dont_understand_nixoss_wayland_setup/ # EDIT: they changed it !!!! services.xserver.enable = true; # use sddm and only use its wayland session services.displayManager.sddm.enable = true; services.displayManager.sddm.wayland.enable = true; # default to plasma wayland session services.displayManager.defaultSession = "plasma"; # gyattde rizzma 6 services.desktopManager.plasma6 = { enable = true; }; programs.xwayland.enable = true; # Configure keymap in X11 services.xserver.xkb = { layout = "us"; }; # don't install some of the default packages since i don't need them environment.plasma6.excludePackages = with pkgs.kdePackages; [ elisa konsole ]; environment.variables = { # wayland related NIXOS_OZONE_WL = "1"; # custom sudo prompt for the xds SUDO_PROMPT = "[sudo] stick out your gyatt for the rizzler: "; }; fonts = { fontDir.enable = true; packages = with pkgs; [ noto-fonts lexend liberation_ttf unifont (nerdfonts.override {fonts = ["JetBrainsMono" "Iosevka" "FiraCode" "DroidSansMono"];}) noto-fonts-color-emoji ]; fontconfig = { defaultFonts = { emoji = ["Noto Color Emoji"]; }; }; }; # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; # If you want to use JACK applications, uncomment this #jack.enable = true; # wireplumber exists so, lets *not* use the example session wireplumber.enable = true; }; }