124 lines
No EOL
4.9 KiB
Nix
124 lines
No EOL
4.9 KiB
Nix
{ pkgs, config, lib, ... }: {
|
||
# xsession.enable = true; # Хз надо ли
|
||
xsession.windowManager.bspwm = {
|
||
enable = true;
|
||
|
||
# Как я понял, эти команды выполняются в начале bspwmrc
|
||
# Ниже настройки для основного монитора. Мб вместе с --primary надо
|
||
# И настройки для второго (правого) монитора
|
||
extraConfigEarly = ''
|
||
xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165
|
||
xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
|
||
'';
|
||
|
||
startupPrograms = [
|
||
# "lxqt-policykit-agent" # Заменил нагномовский
|
||
"nm-applet"
|
||
"ksnip"
|
||
# "nekoray"
|
||
# "obsidian"
|
||
# "planify"
|
||
];
|
||
|
||
monitors = let
|
||
workspaces = [ "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"];
|
||
in {
|
||
"^1" = workspaces;
|
||
"^2" = workspaces;
|
||
};
|
||
|
||
rules = let # Это переменные
|
||
floating1600x900 = {
|
||
state = "floating";
|
||
center = true;
|
||
focus = true;
|
||
rectangle = "1600x900+0+0";
|
||
};
|
||
floating1200x800 = {
|
||
state = "floating";
|
||
center = true;
|
||
focus = true;
|
||
rectangle = "1200x800+0+0";
|
||
};
|
||
floating900x600 = {
|
||
state = "floating";
|
||
center = true;
|
||
focus = true;
|
||
rectangle = "900x600+0+0";
|
||
};
|
||
in { # А тут правила окон
|
||
"polybar" = { layer = "above"; };
|
||
"Screenkey" = { manage = false; };
|
||
"gcolor3" = { state = "floating"; };
|
||
"steam" = { state = "floating"; };
|
||
"steam:steamwebhelper:Steam" = { state = "tiled"; };
|
||
"SshAskpass" = { state = "floating"; };
|
||
"Nm-connection-editor" = { state = "floating"; };
|
||
"ksnip" = floating1600x900;
|
||
"ark" = floating1200x800;
|
||
"nekoray" = floating1200x800;
|
||
"floating-terminal" = floating1200x800;
|
||
"Kvantum Manager" = floating1200x800;
|
||
"qt5ct" = floating1200x800;
|
||
"qt6ct" = floating1200x800;
|
||
"pavucontrol" = floating900x600;
|
||
# blueman-манагер надо флоатинг
|
||
};
|
||
|
||
settings = {
|
||
# Цвет бордера для не активного окна
|
||
normal_border_color = lib.mkForce "#${config.lib.stylix.colors.base0B}"; # #b8bb26
|
||
|
||
# Цвет бордера для фокусед окна на анфокусед мониторе (считаей не активное окно)
|
||
active_border_color = lib.mkForce "#${config.lib.stylix.colors.base0B}"; # #b8bb26
|
||
|
||
# Цвет бордера для окна в фокусе
|
||
focused_border_color = lib.mkForce "#${config.lib.stylix.colors.base09}"; # #fe8019
|
||
|
||
# Устанавливает ширину границ окон в 2 пикселя.
|
||
border_width = 2;
|
||
|
||
# Задаёт расстояние между окнами (отступ) в 5 пикселей.
|
||
window_gap = 5;
|
||
|
||
# Коэффициент разделения окон. 0.5 означает, что при разделении окно будет занимать 50% доступного пространства.
|
||
split_ratio = 0.5;
|
||
|
||
# В режиме monocle (максимизация окна на весь экран) границы окон будут скрыты.
|
||
borderless_monocle = true;
|
||
|
||
# В режиме monocle будет отсутствовать отступ между окнами.
|
||
gapless_monocle = true;
|
||
|
||
# Eсли вы активируете режим "monocle" на одном мониторе, другие мониторы остаются в обычном режиме
|
||
single_monocle = false;
|
||
|
||
# Фокусировка следует за курсором
|
||
focus_follows_pointer = true;
|
||
|
||
# Какую кнопку надо зажать, чтоб кнопки мыши меняли окно?
|
||
pointer_modifier = "mod4"; # control lock mod1 mod2 mod3 mod4 mod5 shift
|
||
|
||
# Действия с кнопками мыши 1, 2 и 3
|
||
pointer_action1 = "move";
|
||
pointer_action2 = "resize_side";
|
||
pointer_action3 = "resize_corner";
|
||
};
|
||
};
|
||
|
||
gtk = lib.mkIf (pkgs.stdenv.hostPlatform.isLinux) {
|
||
# enable = true;
|
||
iconTheme = {
|
||
name = "Gruvbox-Plus-Dark"; # Имя каталога в /usr/share/icons/
|
||
package = pkgs.gruvbox-plus-icons; # Пакет иконок
|
||
};
|
||
};
|
||
|
||
stylix = { # Выключить стили у конкретного таргета походу можно лишь в home-manager
|
||
targets = {
|
||
vscode.enable = false; # Руками ставлю. Не нравится stylix вариант
|
||
firefox.enable = false; # Руками ставлю и бекаплю каталог браузера
|
||
# lightdm.enable = false; # Не хочу обои в lightdm (в сурсе есть, но не билдит, мать ебал)
|
||
};
|
||
};
|
||
} |