{ config, lib, pkgs, ... }: with pkgs; { # Display manager services.greetd = { enable = true; settings = rec { initial_session = { command = "${sway}/bin/sway"; user = "coolneng"; }; default_session = initial_session; }; }; # Window manager programs.sway = { enable = true; extraPackages = [ xwayland swaylock swayidle swaybg rofi waybar cliphist wl-clipboard grim slurp swayimg kanshi kitty qt5.qtwayland glib udiskie brightnessctl ]; wrapperFeatures.gtk = true; }; # Session variables environment.sessionVariables = rec { MOZ_ENABLE_WAYLAND = "1"; MOZ_USE_XINPUT2 = "1"; GRIM_DEFAULT_DIR = "/home/coolneng/Photos/Screenshots"; _JAVA_AWT_WM_NONREPARENTING = "1"; SDL_VIDEODRIVER = "wayland"; XDG_SESSION_TYPE = "wayland"; XDG_CURRENT_DESKTOP = "sway"; NVIM_LISTEN_ADDRESS = "/tmp/nvimsocket"; GIT_CONFIG_NOSYSTEM = "true"; SYSTEMD_LESS = "FRSMK"; WLR_RENDERER = "vulkan"; }; # Blue light filter location.provider = "geoclue2"; services.redshift = { enable = true; package = gammastep; executable = "/bin/gammastep"; temperature = { day = 6500; night = 5300; }; }; # GPG agent programs.gnupg.agent = { enable = true; pinentryPackage = pinentry-gnome3; }; # Tmux programs.tmux = { enable = true; historyLimit = 5000; keyMode = "vi"; shortcut = "x"; terminal = "screen-256"; baseIndex = 1; }; # Integrate pass with the browser programs.browserpass.enable = true; programs.firefox.enable = true; # Enable WebRTC screensharing xdg.portal = { enable = true; wlr.enable = true; }; # Allow dbus to communicate with storage devices services.udisks2.enable = true; }