diff options
Diffstat (limited to 'hosts/local/wayland.nix')
-rw-r--r-- | hosts/local/wayland.nix | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/hosts/local/wayland.nix b/hosts/local/wayland.nix new file mode 100644 index 0000000..c94a1dc --- /dev/null +++ b/hosts/local/wayland.nix @@ -0,0 +1,188 @@ +{pkgs, ...}: { + hardware.graphics = { + enable = true; + enable32Bit = true; + extraPackages = [ + pkgs.mesa.drivers + pkgs.vaapiIntel + pkgs.vaapiVdpau + pkgs.libvdpau-va-gl + pkgs.intel-media-driver + ]; + }; + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + extraOptions = ["--verbose" "--debug"]; + extraPackages = with pkgs; [ + xdg-utils + xdg-desktop-portal + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + alacritty + calibre + # nyxt + wofi + imv + swaylock + brightnessctl + swayidle + foot + (waybar.override { + wireplumberSupport = false; + }) + mako + kanshi + grim + slurp + wl-clipboard + wf-recorder + viewnior + playerctl + blueman + wdisplays + ]; + extraSessionCommands = '' + ''; + }; + # environment.loginShellInit = '' + # if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then + # exec swayc + # fi + #''; + + environment.sessionVariables = { + NIXOS_OZONE_WL = "1"; + SDL_VIDEODRIVER = "wayland"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + _JAVA_AWT_WM_NONREPARENTING = "1"; + MOZ_ENABLE_WAYLAND = "1"; + + # GTK_IM_MODULE = "fcitx"; + # QT_IM_MODULE = "fcitx"; + # SDL_IM_MODULE = "fcitx"; + + XDG_CURRENT_DESKTOP = "sway"; + GDK_BACKEND = "wayland"; + XDG_SESSION_TYPE = "wayland"; + XMODIFIERS = "@im=fcitx"; + }; + + environment.systemPackages = with pkgs; [ + obsidian + signal-desktop + tdesktop + brave + gimp + vlc + mpv + celluloid + thunderbird + kmail + firefox + chromium + pavucontrol + # icons + polkit_gnome + gnome-themes-extra + gtk-engine-murrine + gtk_engines + gsettings-desktop-schemas + lxappearance + adwaita-qt + adwaita-icon-theme + xfce.thunar + libreoffice + qbittorrent + zathura + # + libcamera # pipewire seems to want this + easyeffects + tigervnc + foliate + # code + kompare + meld + # tmp + grapejuice + dosbox + ]; + + # cjk input + i18n = { + inputMethod = { + type = "fcitx5"; + fcitx5 = { + # enabled = true; + addons = with pkgs; [fcitx5-rime fcitx5-mozc]; + waylandFrontend = true; + }; + }; + }; + + 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 + nerdfonts + arphic-ukai + arphic-uming + dejavu_fonts + font-awesome + inconsolata # monospaced + noto-fonts + noto-fonts-cjk + 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 + ]; + }; + + # screen capture + # + + xdg.portal.enable = true; + 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 + 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; +} |