{ lib, pkgs, ... }: let dirs = { defaults = ../defaults; }; in { wayland.windowManager.sway = { enable = pkgs.stdenv.isLinux; extraOptions = []; # Extra arguments to pass into sway. If sway goes haywire, we might need something in here xwayland = true; systemd.enable = true; wrapperFeatures = { gtk = true; }; }; xdg = { configFile = { "sway/config".source = lib.mkForce (dirs.defaults + /sway/config); "waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config); "waybar/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css); }; }; services.mako = { enable = pkgs.stdenv.isLinux; settings = { text-color = "#cad3f5"; border-color = "#c6d0f5"; background-color = "#24273a"; width = 420; height = 110; padding = 10; border-size = 2; font = "Monaspace Krypton 9"; anchor = "top-right"; default-timeout = 5000; max-icon-size = 32; }; }; programs = { wofi = { enable = pkgs.stdenv.isLinux; settings = { width = 600; height = 350; location = "center"; show = "drun"; prompt = "Search..."; filter_rate = 100; allow_markup = true; no_actions = true; halign = "fill"; orientation = "vertical"; content_halign = "fill"; insensitive = true; allow_images = true; image_size = 40; gtk_dark = true; }; style = '' @define-color selected-text #8caaee; @define-color text #c6d0f5; @define-color base #24273a; * { font-family: 'Monaspace Krypton 9', monospace; font-size: 18px; } window { margin: 0px; padding: 20px; background-color: @base; opacity: 0.95; } #inner-box { margin: 0; padding: 0; border: none; background-color: @base; } #outer-box { margin: 0; padding: 20px; border: none; background-color: @base; } #scroll { margin: 0; padding: 0; border: none; background-color: @base; } #input { margin: 0; padding: 10px; border: none; background-color: @base; color: @text; } #input:focus { outline: none; box-shadow: none; border: none; } #text { margin: 5px; border: none; color: @text; } #entry { background-color: @base; } #entry:selected { outline: none; border: none; } #entry:selected #text { color: @selected-text; } #entry image { -gtk-icon-transform: scale(0.7); } ''; }; swaylock.enable = pkgs.stdenv.isLinux; waybar = { enable = pkgs.stdenv.isLinux; systemd.enable = true; }; }; }