From 7a1b8ad40468f0e93e0be3322d32c8954c82c607 Mon Sep 17 00:00:00 2001 From: unexplrd Date: Mon, 11 May 2026 15:06:36 +0300 Subject: [PATCH] remove sway --- modules/home/desktop/sway/default.nix | 888 -------------------------- 1 file changed, 888 deletions(-) delete mode 100644 modules/home/desktop/sway/default.nix diff --git a/modules/home/desktop/sway/default.nix b/modules/home/desktop/sway/default.nix deleted file mode 100644 index 7728129..0000000 --- a/modules/home/desktop/sway/default.nix +++ /dev/null @@ -1,888 +0,0 @@ -{ - config, - pkgs, - # pkgs-51b85c, - lib, - ... -}: { - # imports = [./walker.nix]; - stylix.targets.sway.enable = true; - wayland.windowManager.sway = { - enable = true; - systemd.enable = true; - # xwayland.enable = false; - wrapperFeatures.gtk = true; - config = let - modifier = "Mod4"; - terminal = "ghostty"; - launcher = "walker"; - clipboard = "copyq toggle"; - left = "n"; - down = "e"; - up = "i"; - right = "o"; - in { - bars = [ - { - command = "${lib.getExe pkgs.waybar}"; - } - ]; - - modifier = "${modifier}"; - terminal = "${terminal}"; - menu = "${launcher}"; - - left = "${left}"; - down = "${down}"; - up = "${up}"; - right = "${right}"; - - workspaceLayout = "tabbed"; - - input = { - "*" = { - xkb_layout = "us,ua"; - repeat_delay = "200"; - repeat_rate = "50"; - accel_profile = "flat"; - }; - "type:touchpad" = { - tap = "enabled"; - scroll_method = "two_finger"; - }; - }; - output = { - "Samsung Electric Company S24R65x H4TMA03291" = { - mode = "1920x1080@74.973Hz"; - pos = "0 0"; - adaptive_sync = "on"; - allow_tearing = "yes"; - max_render_time = "off"; - }; - "AOC 27V2G5 0x0000026C" = { - pos = "1920 0"; - }; - }; - keybindings = lib.mkForce { - "${modifier}+Ctrl+q" = "kill"; - "${modifier}+Ctrl+Escape" = "exit"; - "${modifier}+Ctrl+r" = "reload"; - - "${modifier}+Ctrl+${left}" = "move left"; - "${modifier}+Ctrl+${down}" = "move down"; - "${modifier}+Ctrl+${up}" = "move up"; - "${modifier}+Ctrl+${right}" = "move right"; - "${modifier}+Ctrl+left" = "move left"; - "${modifier}+Ctrl+down" = "move down"; - "${modifier}+Ctrl+up" = "move up"; - "${modifier}+Ctrl+right" = "move right"; - "${modifier}+Ctrl+1" = "move window workspace 1"; - "${modifier}+Ctrl+2" = "move window workspace 2"; - "${modifier}+Ctrl+3" = "move window workspace 3"; - "${modifier}+Ctrl+4" = "move window workspace 4"; - "${modifier}+Ctrl+5" = "move window workspace 5"; - "${modifier}+Ctrl+6" = "move window workspace 6"; - "${modifier}+Ctrl+7" = "move window workspace 7"; - "${modifier}+Ctrl+8" = "move window workspace 8"; - "${modifier}+Ctrl+9" = "move window workspace 9"; - "${modifier}+Ctrl+0" = "move window workspace 10"; - "${modifier}+Ctrl+l" = "move window workspace prev"; - "${modifier}+Ctrl+y" = "move window workspace next"; - - "${modifier}+Shift+${left}" = "focus output left"; - "${modifier}+Shift+${down}" = "focus output down"; - "${modifier}+Shift+${up}" = "focus output up"; - "${modifier}+Shift+${right}" = "focus output right"; - "${modifier}+Shift+left" = "focus output left"; - "${modifier}+Shift+down" = "focus output down"; - "${modifier}+Shift+up" = "focus output up"; - "${modifier}+Shift+right" = "focus output right"; - - "${modifier}+Return" = "exec ${terminal}"; - "${modifier}+Shift+v" = "exec ${clipboard}"; - "${modifier}+Space" = "exec ${launcher}"; - - "${modifier}+c" = "splith"; - "${modifier}+d" = "splitv"; - "${modifier}+s" = "layout toggle split"; - "${modifier}+t" = "layout tabbed"; - "${modifier}+h" = "focus mode_toggle"; - "${modifier}+f" = "floating toggle"; - "${modifier}+m" = "fullscreen toggle"; - "${modifier}+g" = "sticky toggle"; - "${modifier}+b" = "bar mode toggle"; - - "--locked ${modifier}+Escape" = "exec swaymsg input \"*\" xkb_switch_layout next"; - "Print" = ''exec ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp -o -r -c '#ff0000ff')" -t ppm - | ${pkgs.satty}/bin/satty --filename - --fullscreen --output-filename ~/pics/screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png''; - - "${modifier}+1" = "workspace 1"; - "${modifier}+2" = "workspace 2"; - "${modifier}+3" = "workspace 3"; - "${modifier}+4" = "workspace 4"; - "${modifier}+5" = "workspace 5"; - "${modifier}+6" = "workspace 6"; - "${modifier}+7" = "workspace 7"; - "${modifier}+8" = "workspace 8"; - "${modifier}+9" = "workspace 9"; - "${modifier}+0" = "workspace 10"; - "${modifier}+l" = "workspace prev"; - "${modifier}+y" = "workspace next"; - - "${modifier}+${left}" = "focus left"; - "${modifier}+${down}" = "focus down"; - "${modifier}+${up}" = "focus up"; - "${modifier}+${right}" = "focus right"; - "${modifier}+left" = "focus left"; - "${modifier}+down" = "focus down"; - "${modifier}+up" = "focus up"; - "${modifier}+right" = "focus right"; - }; - window = { - border = 1; - # hideEdgeBorders = "smart"; - }; - gaps = { - # top = 6; - # bottom = 6; - # left = 6; - # right = 6; - outer = 6; - inner = 3; - }; - floating.criteria = [ - { - app_id = "com.github.hluk.copyq"; - } - { - app_id = "com.saivert.pwvucontrol"; - } - ]; - }; - }; - programs.swaylock.enable = true; - services.swayidle = { - enable = true; - systemdTarget = "sway-session.target"; - timeouts = [ - { - timeout = 300; - command = "${pkgs.swaylock}/bin/swaylock -fF"; - } - { - timeout = 301; - command = "${pkgs.sway}/bin/swaymsg \"output * dpms off\""; - resumeCommand = "${pkgs.sway}/bin/swaymsg \"output * dpms on\""; - } - ]; - events = [ - { - event = "lock"; - command = "${pkgs.swaylock}/bin/swaylock -fF &&"; - } - { - event = "unlock"; - command = "${pkgs.procps}/bin/pkill -SIGUSR1 swaylock"; - } - { - event = "lock"; - command = "${pkgs.swaylock}/bin/swaylock -fF & ${pkgs.playerctl}/bin/playerctl pause"; - } - ]; - }; - - services.playerctld.enable = true; - services.gnome-keyring = { - enable = true; - components = ["secrets" "ssh"]; - }; - services.ssh-agent.enable = true; - programs.keychain = { - enable = true; - keys = ["id_ed25519"]; - enableNushellIntegration = true; - extraFlags = [ - "--quiet" - "--noask" - ]; - }; - services = { - network-manager-applet.enable = true; - blueman-applet.enable = true; - copyq.enable = true; - }; - qt = { - enable = true; - platformTheme.name = "gtk3"; - #style.name = "gtk2"; - }; - stylix.targets.waybar.enable = false; - programs.waybar = { - enable = true; - #package = pkgs.waybar-0.11.0"; - # systemd = { - # enable = true; - # target = "graphical-session.target"; - # }; - settings = { - bar-0 = { - ipc = true; - id = "bar-0"; - layer = "top"; - position = "bottom"; - height = 32; - spacing = 6; - # margin-top = 8; - margin-left = 8; - margin-right = 8; - margin-bottom = 8; - reload_style_on_change = true; - modules-left = [ - #"custom/notification" - "group/sway" - "wlr/taskbar" - ]; - modules-center = ["clock"]; - modules-right = [ - "privacy" - "tray" - "wireplumber" - # "group/laptop" - "idle_inhibitor" - ]; - "sway/workspaces" = { - format = "{icon}"; - format-icons = { - "1" = "I"; - "2" = "II"; - "3" = "III"; - "4" = "IV"; - "5" = "V"; - "6" = "VI"; - "7" = "VII"; - "8" = "IIX"; - "9" = "IX"; - "10" = "X"; - #focused = "󰗝"; - #active = "󰻃"; - #default = "󰄰"; - }; - }; - "sway/language" = { - format = "{flag}"; - tooltip-format = "{long}"; - on-click = "swaymsg input type:keyboard xkb_switch_layout next"; - }; - "group/sway" = { - orientation = "inherit"; - modules = [ - "sway/language" - "sway/workspaces" - ]; - }; - "group/laptop" = { - orientation = "inherit"; - drawer = { - transition-duration = 500; - children-class = "laptop"; - transition-left-to-right = false; - }; - modules = [ - "battery" - "power-profiles-daemon" - "custom/separator" - "custom/kbd-backlight" - "custom/separator" - "custom/backlight" - "custom/separator" - ]; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = "󰈈"; - deactivated = "󰈉"; - }; - }; - "tray" = { - icon-size = 24; - spacing = 3; - }; - "clock" = { - interval = 1; - format = "{:%H:%M:%S}"; - tooltip-format = "{:%d.%m.%Y}"; - }; - # "custom/backlight" = { - # format = "{}% {icon}"; - # interval = 1; - # format-icons = ["󰃠"]; - # }; - # "custom/kbd-backlight" = { - # exec = "brightnessctl s 5%+"; - # interval = 1; - # format = "{}% {icon}"; - # format-icons = ["󰌌"]; - # on-scroll-up = "~/.local/bin/keyboard-brightness.nu increase"; - # on-scroll-down = "~/.local/bin/keyboard-brightness.nu decrease"; - # }; - # battery = { - # states = { - # good = 95; - # warning = 30; - # critical = 15; - # }; - # format = "{capacity}% {icon}"; - # format-full = "{capacity}% 󱟢"; - # format-charging = "{capacity}% 󰂄"; - # format-plugged = "{capacity}% 󰚥"; - # format-alt = "{icon} {time}"; - # format-icons = ["󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; - # }; - "upower" = { - icon-size = 16; - format = "{percentage}"; - hide-if-empty = true; - tooltip = true; - tooltip-spacing = 20; - }; - # "power-profiles-daemon" = { - # format = "{icon}"; - # tooltip-format = "Power profile: {profile}\nDriver: {driver}"; - # tooltip = true; - # format-icons = { - # default = "󱡮"; - # performance = "󱡮"; - # balanced = ""; - # power-saver = ""; - # }; - # }; - "wireplumber" = { - scroll-step = 3; - format = "{volume}% {icon}"; - format-muted = "󰖁"; - format-icons = ["󰕿" "󰖀" "󰕾"]; - on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol"; - on-click-right = "wpctl set-mute @DEFAULT_SINK@ toggle"; - }; - "custom/notification" = { - tooltip = false; - format = "{icon}"; - format-icons = { - notification = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - }; - return-type = "json"; - exec-if = "which swaync-client"; - exec = "swaync-client -swb"; - on-click = "swaync-client -t -sw"; - on-click-right = "swaync-client -d -sw"; - escape = true; - }; - "privacy" = { - # icon-spacing = 4; - icon-size = 16; - transition-duration = 250; - screenshare = { - type = "screenshare"; - tooltip = true; - tooltip-icon-size = 24; - }; - audio-in = { - type = "audio-in"; - tooltip = true; - tooltip-icon-size = 24; - }; - }; - "wlr/taskbar" = { - format = "{icon}"; - icon-size = 24; - icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}"; - tooltip-format = "{title}"; - on-click = "activate"; - }; - }; - }; - style = '' - @define-color base00 #${config.lib.stylix.colors.base00}; - @define-color base01 #${config.lib.stylix.colors.base01}; - @define-color base02 #${config.lib.stylix.colors.base02}; - @define-color base03 #${config.lib.stylix.colors.base03}; - @define-color base04 #${config.lib.stylix.colors.base04}; - @define-color base05 #${config.lib.stylix.colors.base05}; - @define-color base06 #${config.lib.stylix.colors.base06}; - @define-color base07 #${config.lib.stylix.colors.base07}; - @define-color base08 #${config.lib.stylix.colors.base08}; - @define-color base09 #${config.lib.stylix.colors.base09}; - @define-color base0A #${config.lib.stylix.colors.base0A}; - @define-color base0B #${config.lib.stylix.colors.base0B}; - @define-color base0C #${config.lib.stylix.colors.base0C}; - @define-color base0D #${config.lib.stylix.colors.base0D}; - @define-color base0E #${config.lib.stylix.colors.base0E}; - @define-color base0F #${config.lib.stylix.colors.base0F}; - * { - font-family: ${config.stylix.fonts.sansSerif.name}, FontAwesome; - font-weight: 500; - font-size: 100%; - /* margin: 0px 2px 2px 2px; */ - } - window#waybar { - background-color: @base00; - border: 1px solid @base0D; - /* border-top: 3px solid @overlay0; */ - color: @base05; - /* padding: 0px 2px 0px 0px; */ - transition-property: background-color; - transition-duration: 0.5s; - } - .modules-left, - .modules-center, - .modules-right { - padding: 1px; - margin-left: 4px; - margin-right: 4px; - } - tooltip { - background: @base01; - border: 1px solid @base0E; - } - tooltip label { - color: @base05; - } - button { - box-shadow: inset 0 -3px transparent; - border-radius: 12px; - } - - /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ - button:hover { - background: inherit; - box-shadow: inset 0 -3px transparent; - } - - #mode { - background-color: rgba(0, 0, 0, 0.2); - box-shadow: inset 0 -3px @base05; - } - - #clock, - #battery, - #cpu, - #memory, - #disk, - #temperature, - #backlight, - #custom-backlight, - #custom-kbd-backlight, - #workspaces, - #network, - #pulseaudio, - #wireplumber, - #custom-media, - #laptop, - #tray, - #mode, - #privacy - #privacy-item, - #idle_inhibitor, - #backlight-slider, - #custom-notification, - #scratchpad, - #power-profiles-daemon, - #taskbar, - #language, - #upower, - #mpris, - #mpd { - padding: 0 0.5em; - color: @base05; - background-color: @base00; - } - - /* #upower, - #battery, - #backlight, - #custom-kbd-backlight, - #backlight-slider, - #cpu, - #memory, - #disk, - #network, - #wireplumber, - #power-profiles-daemon { - padding-right: 0.5em; - } */ - - #taskbar button, - #workspaces button { - padding: 0 0.2em; - } - #workspaces button.focused, - #workspaces button.active { - color: @base0D; - } - #taskbar button:hover { - box-shadow: transparent; - } - #taskbar.empty, - window#empty { - background-color: transparent; - } - - #battery.critical:not(.charging) { - background-color: @base09; - color: @base00; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; - } - - #power-profiles-daemon.performance { - background-color: @base00; - color: @base0D; - } - - #power-profiles-daemon.balanced { - background-color: @base00; - color: @base0B; - } - - #power-profiles-daemon.power-saver { - background-color: @base00; - color: @base0A; - } - - label:focus { - background-color: #000000; - } - - #tray > .passive { - -gtk-icon-effect: dim; - } - - #tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: @base08; - } - #idle_inhibitor:hover { - box-shadow: inset 0 -3px @base05; - } - - #idle_inhibitor.activated { - background-color: @base05; - color: @base00; - } - - #idle_inhibitor.activated:hover { - box-shadow: inset 0 -3px @base00; - } - - #laptop, - #privacy { - padding: 0em; - } - - #privacy-item.screenshare { - background-color: @base00; - color: @base0C; - } - - #privacy-item.audio-in { - background-color: @base00; - color: @base0E; - } - - #privacy-item.audio-out { - background-color: @base; - } - ''; - }; - - programs.rofi = { - enable = true; - theme = { - window = { - height = 360; - border = 3; - }; - - inputbar = { - children = ["prompt" "entry"]; - border-radius = 5; - padding = 2; - }; - - prompt = { - padding = 6; - border-radius = 3; - margin = "20px 0px 0px 20px"; - }; - - textbox-prompt-colon = { - expand = false; - str = "~>"; - }; - - entry = { - padding = 6; - margin = "20px 0px 0px 10px"; - }; - - listview = { - border = "0px 0px 0px"; - padding = "6px 0px 0px"; - margin = "10px 0px 0px 20px"; - columns = 2; - lines = 5; - }; - - element = { - padding = 5; - }; - - element-icon = { - size = 25; - }; - - mode-switcher = { - spacing = 0; - }; - - button = { - padding = 10; - vertical-align = "0.5"; - horizontal-align = "0.5"; - }; - - message = { - margin = 2; - padding = 2; - border-radius = 5; - }; - - textbox = { - padding = 6; - margin = "20 0 0 20"; - }; - }; - extraConfig = { - show-icons = true; - modi = "run,drun,window"; - kb-primary-paste = "Control+V,Shift+Insert"; - kb-secondary-paste = "Control+v,Insert"; - }; - }; - programs.fuzzel = { - enable = true; - settings = { - main = { - terminal = "wezterm -e"; - fields = "filename,name,generic,keywords,categories,exec"; - dpi-aware = false; - horizontal-pad = 8; - show-actions = true; - match-mode = "fuzzy"; - icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}"; - }; - border = { - width = 2; - radius = 4; - }; - }; - }; - - services.dunst = { - enable = true; - settings = { - global = { - width = 300; - height = 300; - icon_theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}"; - corner_radius = 4; - #corners = "top-right,bottom-left"; - offset = "16x16"; - origin = "bottom-right"; - timeout = 15; - frame_width = 2; - notification_limit = 5; - }; - rule-telegram = { - "desktop_entry" = "org.telegram.desktop"; - "urgency" = "normal"; - }; - }; - }; - services.wlsunset = { - enable = true; - latitude = "49.6"; - longitude = "36.1"; - temperature = { - day = 6500; - night = 3000; - }; - systemdTarget = "graphical-session.target"; - }; - services.udiskie = { - enable = true; - automount = false; - notify = true; - tray = "auto"; - }; - # services.flameshot = { - # enable = true; - # settings = { - # General = { - # buttons = "@Variant(000x7f000vQList0000x130000000x1000x2000x3000x4000x5000x6000x12000xf000x13000b000 000x10000000v000x17000xe000f000x11)"; - # filenamePattern = "screenshot-%F_%H-%M-%S"; - # saveAsFileExtension = "png"; - # savePath = "/home/user/pics/screenshots"; - # uiColor = "#${config.lib.stylix.colors.base0D}"; - # showStartupLaunchMessage = false; - # showDesktopNotification = false; - # showHelp = false; - # }; - # }; - # }; - home.packages = with pkgs; [ - nautilus - helvum - loupe - evince - celluloid - mission-center - dconf - glib - libnotify - playerctl - wdisplays - pwvucontrol - wl-clipboard-rs - polkit_gnome - libqalculate - #papirus-icon-theme - ]; - xdg.userDirs = { - enable = true; - createDirectories = true; - templates = "${config.home.homeDirectory}/temps"; - publicShare = "${config.home.homeDirectory}/pub"; - desktop = "${config.home.homeDirectory}/desktop"; - download = "${config.home.homeDirectory}/downloads"; - documents = "${config.home.homeDirectory}/docs"; - pictures = "${config.home.homeDirectory}/pics"; - videos = "${config.home.homeDirectory}/vids"; - music = "${config.home.homeDirectory}/music"; - }; - xdg.mime.enable = true; - xdg.mimeApps = { - enable = true; - defaultApplications = let - file_manager = ["org.gnome.Nautilus.desktop"]; - web_browser = ["io.github.zen_browser.zen.desktop"]; - image_viewer = ["org.gnome.Loupe.desktop"]; - video_player = ["io.github.celluloid_player.Celluloid.desktop"]; - pdf_reader = ["org.gnome.Evince.desktop"]; - in { - "inode/directory" = file_manager; - "video/x-matroska" = video_player; - "video/mp4" = video_player; - "video/mpeg" = video_player; - "video/x-mpeg" = video_player; - "image/png" = image_viewer; - "image/jpeg" = image_viewer; - "application/pdf" = pdf_reader; - "text/html" = web_browser; - }; - }; - - systemd.user.settings.Manager.DefaultEnvironment = { - #DISPLAY = ":123"; - }; - systemd.user.targets.tray = { - # workaround for udiskie - Unit = { - Description = "Home Manager System Tray"; - }; - }; - systemd.user.services = { - udiskie = { - Unit = { - PartOf = ["graphical-session.target"]; - After = ["graphical-session.target"]; - Requisite = ["graphical-session.target"]; - }; - Install = { - WantedBy = ["sway-session.target"]; - }; - }; - # waybar = { - # Unit = { - # Description = "Swaync notification daemon"; - # # }; - # Unit = { - # PartOf = ["graphical-session.target"]; - # After = ["graphical-session.target"]; - # Requisite = ["graphical-session.target"]; - # }; - # Install = { - # WantedBy = ["sway-session.target"]; - # }; - # }; - copyq = { - Unit = { - PartOf = ["graphical-session.target"]; - After = ["graphical-session.target"]; - Requisite = ["graphical-session.target"]; - }; - Install = { - WantedBy = ["sway-session.target"]; - }; - Service = { - Environment = lib.mkForce "QT_QPA_PLATFORM=wayland"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; - network-manager-applet = { - Unit = { - PartOf = ["graphical-session.target"]; - After = ["graphical-session.target"]; - Requisite = ["graphical-session.target"]; - }; - Install = { - WantedBy = ["sway-session.target"]; - }; - }; - gnome-polkit-agent = { - Unit = { - PartOf = ["graphical-session.target"]; - After = ["graphical-session.target"]; - Requisite = ["graphical-session.target"]; - }; - Install = { - WantedBy = ["sway-session.target"]; - }; - Service = { - Type = "simple"; - ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; - wlsunset = { - Unit = { - PartOf = ["graphical-session.target"]; - After = ["graphical-session.target"]; - Requisite = ["graphical-session.target"]; - }; - Install = { - WantedBy = ["sway-session.target"]; - }; - }; - }; -}