{pkgs, ...}: { environment.pathsToLink = ["/libexec"]; services.xserver = { xkb.layout = "us"; xkb.variant = ""; enable = true; autorun = false; desktopManager = { xterm.enable = false; }; windowManager.i3 = { enable = true; extraPackages = with pkgs; [ dmenu i3status i3status-rust i3lock i3blocks ]; }; }; # Boot to terminal services.displayManager = { defaultSession = "none+i3"; }; environment.sessionVariables = { GTK_IM_MODULE = "fcitx"; QT_IM_MODULE = "fcitx"; XMODIFIERS = "@im=fcitx"; }; # gnome stuff services.gvfs.enable = true; programs.dconf.enable = true; # screen tearing services.picom = { enable = true; vSync = true; }; environment.systemPackages = with pkgs; [ #notifications dunst polybar rofi # screenshots flameshot shutter xclip pavucontrol # icons polkit_gnome gnome-themes-extra gtk-engine-murrine gtk_engines gsettings-desktop-schemas lxappearance adwaita-qt adwaita-icon-theme ]; services.flatpak.enable = true; # cjk input # i18n = { # inputMethod = { # type = "fcitx5"; # fcitx5.addons = with pkgs; [fcitx5-rime fcitx5-mozc]; # }; # }; fonts = { enableDefaultPackages = true; fontconfig = { defaultFonts.emoji = ["Noto Color Emoji"]; defaultFonts.monospace = ["Hack" "Sarasa Mono SC"]; defaultFonts.sansSerif = ["DejaVu Sans"]; defaultFonts.serif = ["DejaVu Serif" "Source Han Serif SC"]; }; packages = with pkgs; [ fira-code fira cooper-hewitt ibm-plex jetbrains-mono iosevka spleen fira-code-symbols powerline-fonts arphic-ukai arphic-uming dejavu_fonts font-awesome inconsolata # monospaced noto-fonts noto-fonts-cjk-sans noto-fonts-emoji noto-fonts-extra powerline-fonts source-han-sans-japanese source-han-sans-korean source-han-sans-simplified-chinese source-han-sans-traditional-chinese source-sans-pro ubuntu_font_family wqy_microhei wqy_zenhei ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); }; # screen capture # xdg.portal.enable = true; xdg.portal.config.common.default = "*"; xdg.portal.wlr.enable = true; services.dbus.enable = true; ## Remove sound.enable or set it to false if you had it set previously, as sound.enable is only meant for ALSA-based configurations # rtkit is optional but recommended services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; wireplumber.enable = true; # If you want to use JACK applications, uncomment this jack.enable = true; }; # pipewire requires these off # sound.enable = true; # hardware.pulseaudio.enable = true; hardware.bluetooth = { enable = true; powerOnBoot = true; }; services.blueman.enable = true; }