diff options
Diffstat (limited to 'modules/sway.nix')
| -rw-r--r-- | modules/sway.nix | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/modules/sway.nix b/modules/sway.nix new file mode 100644 index 0000000..550b01e --- /dev/null +++ b/modules/sway.nix @@ -0,0 +1,153 @@ +# General Desktop-related config +{ config, pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + firefox-wayland + wl-clipboard + pulseaudioFull + screen-message + qbittorrent + dino + gajim + imv + mpv + zathura + brightnessctl + pulsemixer + cmus + termusic + gsettings-desktop-schemas + xdg-utils + nextcloud-client + foot + qt5.qtwayland + bashmount + ]; + + #on the desktop, we need nice fonts ^^ + fonts.fonts = with pkgs; [ + monoid + font-awesome + dejavu_fonts + julia-mono + uw-ttyp0 + gohufont + spleen + terminus_font + creep + corefonts + dina-font + fira + fira-mono + hack-font + liberation_ttf + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + noto-fonts-extra + proggyfonts + symbola + open-sans + twemoji-color-font + twitter-color-emoji + ]; + + fonts.enableDefaultFonts = true; + fonts.fontconfig = { + enable = true; + allowBitmaps = true; + useEmbeddedBitmaps = true; + defaultFonts.emoji = [ + "Noto Color Emoji" + "Twitter Color Emoji" + ]; + }; + + # Enable sound. + security.rtkit.enable = true; + hardware.pulseaudio = { + enable = false; + zeroconf.discovery.enable = true; + extraClientConf = '' + autospawn=yes + ''; + }; + + services.pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + }; + + hardware.bluetooth = { + enable = true; + package = pkgs.bluez; + }; + + programs.zsh.vteIntegration = true; + programs.bash.vteIntegration = true; + services.upower.enable = true; + + services.acpid.enable = true; + programs.light.enable = true; + + services.blueman.enable = true; + + programs.xwayland.enable = true; + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + extraSessionCommands = '' + export SDL_VIDEODRIVER=wayland + export QT_QPA_PLATFORM=wayland-egl + export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" + export QT_QPA_PLATFORMTHEME="gnome" + export QT_STYLE_OVERRIDE="adwaita-dark" + ''; + extraPackages = with pkgs; [ + pamixer + swaylock + swayidle + wl-clipboard + mako + foot + rofi-wayland + grim + slurp + gnome.adwaita-icon-theme + i3status-rust + ]; + }; + environment.sessionVariables = { GTK_THEME = "Adwaita:dark"; }; + xdg.portal = { + enable = true; + wlr.enable = true; + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + }; + + services.udisks2.enable = true; + environment.shellAliases = { + mnt = "udisksctl mount -b"; + umnt = "udisksctl unmount -b"; + unlock = "udisksctl unlock -b"; + lock = "udisksctl lock -b"; + }; + + qt5 = { + enable = true; + platformTheme = "gnome"; + style = "adwaita-dark"; + }; + + services.gnome.gnome-keyring.enable = true; + + # required to autounlock gnome-keyring + services.xserver = { + enable = true; + displayManager.gdm = { + enable = true; + wayland = true; + }; + }; + programs.gnupg.agent.pinentryFlavor = "curses"; +} |
