This commit is contained in:
Buliway 2024-08-19 08:02:55 +03:00
parent 13b82aa5ac
commit 28de853ad5
9 changed files with 477 additions and 499 deletions

203
README.md
View file

@ -1,6 +1,109 @@
# Навигация # Навигация
- - [Бинды](#бинды)
- [Другие README файлы в этих дотсах](#другие-readme-файлы-в-этих-дотсах)
- [Проблемы](#проблемы)
- [TODO](#todo)
- [Описание](#описание)
- [Настройки для игр](#настройки-для-игр)
- [MangeHud](#mangohud)
- [gamemode](#gamemode)
- [gamescope](#gamescope)
- [Параметры запуска Steam](#параметры-запуска-steam)
- [Настройки мониторов](#настройка-мониторов)
- [Системная тема на всех вебсайтах](#системная-тема-на-всех-вебсайтах)
- [Мини гайд по NixOS](#мини-гайд-по-nixos)
- [Процесс установки](#процесс-установки)
- [Первый способ](#первый-способ)
- [Второй способ](#второй-способ)
- [После установки надо](#после-установки-надо)
- [Иконки](#иконки)
- [Темы](#темы)
## Бинды
Клавиша `Super` это клавиша `Win`
| Bspwm | Описание | Работает? |
| --------------------------------- | ------------------------------------------------------------------------------------------- | --------- |
| `Super + L` | Lock screen | Да |
| `Super + Q` | Quit. Выключить приложение | Да |
| `Super + Shift + Q` | Kill. Если приложение не отвечает, то убить его | Да |
| `Super + F` | Floating toggle | Да |
| `Super + Enter` | Fullscreen toggle | Да |
| `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора | Да |
| `Super + ЛКМ` | Переместить окно | Да |
| `Super + ПКМ` | Ресайзить окно | Да |
| `Super + Arrows` | Менять фокус приложения в указанном направлении | Да |
| `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 | Да |
| `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге | Да |
| `Super + Ctrl + Down` | Переключает на первый пустой воркспейс | Да |
| `Super + Ctrl + Left/Right` | Переключает на предыдущий/следующий воркспейс. Тоесть делает -1 или +1 от текущего | Да |
| `Super + Ctrl + Alt + Down` | Свапает активное окно с самым большим на экране |хз|
| `Super + Ctrl + Alt + Left/Right` | Перекидывает активное окно на предыдущий/следующий воркспейс и следует за ним | Да |
| `Super + Alt + Arrows` | Move floating window | Да |
| `Super + Shift + Arrows` | Resize window на 30 пикселей в указанном направлении наружу | Да |
| `Super + Shift + Alt + Arrows` | Resize window на 30 пикселей в указанном направлении внутрь | Да |
| `Super + Shift + Ctrl + Arrows` | Перемещает активное окно в указанном направлении | Криво |
| `Super + S` | Split toggle. Меняет позиционирование с горизонтального на вертикальный и обратно. | Не понял |
| `Super + Ctrl + Shift + R` | Make sxhkd reload its config files | Да |
| `Super + Alt + Ctrn + Shift + R` | Restart bspwm | Да |
| `Super + Alt + Ctrn + Shift + Q` | Quit bspwm | Да |
| Rofi | Описание | Работает? |
| ------------------- | ---------------------------------------------------------------------------------------------- | --------- |
| `Super + A` | Applications. Запускатор софта | Да |
| `Super + C` | Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. | Да |
| `Super + P` | Passwords. Пароли из утилиты pass |нет|
| `Super + V` | История буфера обмена. Как ctrl+v, но через win. |нет|
| `Super + Tab` | Как alt+tab, переключение окон. На нужный воркспейс само перекинет |хз|
| `Super + Alt + T` | Timer. Думаю сделать через утилиту timer |хз|
| `Super + Shift + N` | Notification history. История оповещений. Мб сделать только в баре кнопку? Мб не делать вообще |хз|
| `Super + Backspace` | PowerMenu. Выключение пк |нет|
| Applications | Описание | Работает? |
| -------------------------- | ----------------------------------------- | --------- |
| `Super + B` | Browser LibreWolf. Основа | Да |
| `Super + Shift + B` | Browser Firefox. Паблик активность | Да |
| `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет | Да |
| `Super + N` | Note taking app (obsidian) | Да |
| `Super + E` | Explorer. Thunar file manager | Да |
| `Super + I` | IDE, text editor, NeoVim | Да |
| `Super + M` | Monitor of resources (btop) | Да |
| `Super + G` | Goals. Todo manager. Task tracker | Да |
| `Super + Shift + C` | Color picker. Получить hex в буфер обмена | Да |
| `Super + Ctrl + C` | Color picker. Получить rgb в буфер обмена | Да |
| Terminal | Описание | Работает? |
| -------------------------- | ---------------------------------------------------------------------------- | --------- |
| `Super + T` | Terminal основной | Да |
| `Super + Shift + T` | Floating Terminal основной в центре экрана с размерами треть на треть экрана | Да |
| `Super + Ctrl + T` | Terminal запасной | Да |
| `Super + Shift + Ctrl + T` | Floating Terminal запасной в центре экрана с размерами треть на треть экрана | Да |
| Колдунские кнопки | Описание | Работает? |
| ----------------------- | ---------------------- | --------- |
| `XF86AudioMute` | Toggle audio mute |хз|
| `XF86AudioMicMute` | Toggle microphone mute |хз|
| `XF86AudioLowerVolume` | Decrease volume |хз|
| `XF86AudioRaiseVolume` | Increase volume |хз|
| `XF86AudioPlay` | Play/pause |хз|
| `XF86AudioPause` | Play/pause |хз|
| `XF86AudioNext` | Next track |хз|
| `XF86AudioPrev` | Previous track |хз|
| `XF86MonBrightnessUp` | Increase brightness |хз|
| `XF86MonBrightnessDown` | Decrease brightness |хз|
| Not sxhkd | Описание | Работает? |
| --------------- | ---------------------- | --------- |
| `Print` | Выделить область | Да |
| `Print + Alt` | Все мониторы целиком | Да |
| `Print + Ctrl` | Активный монитор | Да |
| `Print + Shift` | Активное окно | Да |
| `CapsLock` | Switch keyboard layout | Да |
Так же есть бинд на зажим дальней боковой кнопки мыши. Если эту кнопку нажимать, то она работает как обычно. Если её зажать и начать двигать мышку, то вместо движения курсора будет плавный скрол. Обычно такое делают на трекболах без колеса мыши, но я люблю этот метод скрола на любом девайсе. Можно скролить с нужной скоростью и точностью куда надо без долгого кручения колеса.
## Другие README файлы в этих дотсах ## Другие README файлы в этих дотсах
@ -95,7 +198,7 @@ ip a
SteamOS session compositing window manager. Можно назвать мини wm внутри wm (хотя можно и в tty запустить, без стороннего wm). Не совсем понимаю когда его надо использовать. Иногда, если у игры есть проблемы с обычным linux, то она может нормально запускаться через `gamescope` SteamOS session compositing window manager. Можно назвать мини wm внутри wm (хотя можно и в tty запустить, без стороннего wm). Не совсем понимаю когда его надо использовать. Иногда, если у игры есть проблемы с обычным linux, то она может нормально запускаться через `gamescope`
### Параметры запуска steam ### Параметры запуска Steam
Если в параметры запуска захочется добавить что-то помимо того, что я напишу, то надо учитывать порядок написания. Как я понял, если надо используется переменная, то её надо писать в начале. Например, если в игре не работает печать на русском языке, то надо в начало добавить `LC_ALL="ru_RU.UTF-8"`. Если же речь про стандартные параметры запуска стима, по типу `-dev` или `-novid`, то их надо писать после `%command%`. Слово `%command%` скорее всего является игрой, тоесть команда для запуска игры. Тоесть синтаксис как в обычном терминале. Сначала переменные окружения, потом команда, потом параметры запуска через `-параметр`. Если в параметры запуска захочется добавить что-то помимо того, что я напишу, то надо учитывать порядок написания. Как я понял, если надо используется переменная, то её надо писать в начале. Например, если в игре не работает печать на русском языке, то надо в начало добавить `LC_ALL="ru_RU.UTF-8"`. Если же речь про стандартные параметры запуска стима, по типу `-dev` или `-novid`, то их надо писать после `%command%`. Слово `%command%` скорее всего является игрой, тоесть команда для запуска игры. Тоесть синтаксис как в обычном терминале. Сначала переменные окружения, потом команда, потом параметры запуска через `-параметр`.
@ -136,9 +239,13 @@ xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
## Процесс установки ## Процесс установки
Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик. Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик. При установке выбираем минимальный вариант, без DE.
Дальше есть два способа. Оба нужны, чтоб заменить имя юзера на своё перед установкой моих дотсов. Для этого надо открыть файл `./nixos/configuration.nix` и заменить переменную `username` на ник своего юзера. Дальше есть два способа. Оба нужны, чтоб заменить имя юзера на своё перед установкой моих дотсов. Для этого надо открыть файл `nixos/configuration.nix` и заменить переменную `username` на ник своего юзера.
Ещё надо изменить параметры мониторов в `modules/home-manager/wm/bspwm/bspwm.nix`. Для этого через xrandr надо узнать параметры мониторов
Так же надо изменить gpu драйвера, если видеокарта не от amd. Самый простой вариант - закомментировать `videoDrivers` в `modules/nixos/xserver.nix` и `boot.initrd.kernelModules` в `modules/nixos/hardware.nix`. Мб он сам подберёт подходящий драйвер. Если же знаешь конкретные настройки, которые надо ставить, то пишешь их.
### Первый способ ### Первый способ
@ -187,96 +294,12 @@ gpg --edit-key ID-ключа
``` ```
В этом режиме надо написать trust и выбрать степень доверия. Например 5 для своих ключей можно задать, это прям самое максимально доверие. Потом Ctrl + D чтоб выйти. В этом режиме надо написать trust и выбрать степень доверия. Например 5 для своих ключей можно задать, это прям самое максимально доверие. Потом Ctrl + D чтоб выйти.
## Бинды
Клавиша `Super` это клавиша `Win`
| Bspwm | Описание | Работает? |
| --------------------------------- | ------------------------------------------------------------------------------------------- | --------- |
| `Super + L` | Lock screen | Да |
| `Super + Q` | Quit. Выключить приложение | Да |
| `Super + Shift + Q` | Kill. Если приложение не отвечает, то убить его | Да |
| `Super + F` | Floating toggle | Да |
| `Super + Enter` | Fullscreen toggle | Да |
| `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора | Да |
| `Super + ЛКМ` | Переместить окно | Да |
| `Super + ПКМ` | Ресайзить окно | Да |
| `Super + Arrows` | Менять фокус приложения в указанном направлении | Да |
| `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 | Да |
| `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге | Да |
| `Super + Ctrl + Down` | Переключает на первый пустой воркспейс |нет|
| `Super + Ctrl + Left/Right` | Переключает на предыдущий/следующий воркспейс. Тоесть делает -1 или +1 от текущего | Да |
| `Super + Ctrl + Alt + Down` | Свапает активное окно с самым большим на экране |хз|
| `Super + Ctrl + Alt + Left/Right` | Перекидывает активное окно на предыдущий/следующий воркспейс и следует за ним | Да |
| `Super + Alt + Arrows` | Move floating window | Да |
| `Super + Shift + Arrows` | Resize window на 30 пикселей в указанном направлении наружу | Да |
| `Super + Shift + Alt + Arrows` | Resize window на 30 пикселей в указанном направлении внутрь | Да |
| `Super + Shift + Ctrl + Arrows` | Перемещает активное окно в указанном направлении | Криво |
| `Super + S` | Split toggle. Меняет позиционирование с горизонтального на вертикальный и обратно. | Не понял |
| `Super + Ctrl + Shift + R` | Make sxhkd reload its config files | Да |
| `Super + Alt + Ctrn + Shift + R` | Restart bspwm | Да |
| `Super + Alt + Ctrn + Shift + Q` | Quit bspwm | Да |
| Rofi | Описание | Работает? |
| ------------------- | ---------------------------------------------------------------------------------------------- | --------- |
| `Super + A` | Applications. Запускатор софта | Да |
| `Super + C` | Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. | Да |
| `Super + P` | Passwords. Пароли из утилиты pass |нет|
| `Super + V` | История буфера обмена. Как ctrl+v, но через win. |нет|
| `Super + Tab` | Как alt+tab, переключение окон. На нужный воркспейс само перекинет |хз|
| `Super + Alt + T` | Timer. Думаю сделать через утилиту timer |хз|
| `Super + Shift + N` | Notification history. История оповещений. Мб сделать только в баре кнопку? Мб не делать вообще |хз|
| `Super + Backspace` | PowerMenu. Выключение пк |нет|
| Applications | Описание | Работает? |
| -------------------------- | ----------------------------------------- | --------- |
| `Super + B` | Browser LibreWolf. Основа | Да |
| `Super + Shift + B` | Browser Firefox. Паблик активность | Да |
| `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет | Да |
| `Super + N` | Note taking app (obsidian) | Да |
| `Super + E` | Explorer. Thunar file manager | Да |
| `Super + I` | IDE, text editor, NeoVim | Да |
| `Super + M` | Monitor of resources (btop) | Да |
| `Super + G` | Goals. Todo manager. Task tracker | Да |
| `Super + Shift + C` | Color picker. Получить hex в буфер обмена | Да |
| `Super + Ctrl + C` | Color picker. Получить rgb в буфер обмена | Да |
| Terminal | Описание | Работает? |
| -------------------------- | ---------------------------------------------------------------------------- | --------- |
| `Super + T` | Terminal основной | Да |
| `Super + Shift + T` | Floating Terminal основной в центре экрана с размерами треть на треть экрана | Да |
| `Super + Ctrl + T` | Terminal запасной | Да |
| `Super + Shift + Ctrl + T` | Floating Terminal запасной в центре экрана с размерами треть на треть экрана | Да |
| Колдунские кнопки | Описание | Работает? |
| ----------------------- | ---------------------- | --------- |
| `XF86AudioMute` | Toggle audio mute |хз|
| `XF86AudioMicMute` | Toggle microphone mute |хз|
| `XF86AudioLowerVolume` | Decrease volume |хз|
| `XF86AudioRaiseVolume` | Increase volume |хз|
| `XF86AudioPlay` | Play/pause |хз|
| `XF86AudioPause` | Play/pause |хз|
| `XF86AudioNext` | Next track |хз|
| `XF86AudioPrev` | Previous track |хз|
| `XF86MonBrightnessUp` | Increase brightness |хз|
| `XF86MonBrightnessDown` | Decrease brightness |хз|
| Not sxhkd | Описание | Работает? |
| --------------- | ---------------------- | --------- |
| `Print` | Выделить область | Да |
| `Print + Alt` | Все мониторы целиком | Да |
| `Print + Ctrl` | Активный монитор | Да |
| `Print + Shift` | Активное окно | Да |
| `CapsLock` | Switch keyboard layout | Да |
Так же есть бинд на зажим дальней боковой кнопки мыши. Если эту кнопку нажимать, то она работает как обычно. Если её зажать и начать двигать мышку, то вместо движения курсора будет плавный скрол. Обычно такое делают на трекболах без колеса мыши, но я люблю этот метод скрола на любом девайсе. Можно скролить с нужной скоростью и точностью куда надо без долгого кручения колеса.
## Иконки ## Иконки
Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet). Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet).
Соберу сюда список nerd иконок, которые могут пригодиться Соберу сюда список nerd иконок, которые могут пригодиться. Для их отображения нужен специальный шрифт
CPU (мб не юзать, а писать текстом и cpu и gpu) -  CPU (мб не юзать, а писать текстом и cpu и gpu) - 
@ -336,7 +359,7 @@ Wifi
У меня в vscode цвета отображаются. Так что я для себя сохраню цвета разных вариантов gruvbox У меня в vscode цвета отображаются. Так что я для себя сохраню цвета разных вариантов gruvbox
Цвет это название цвета. Потом идёт название gruvbox-имя Цвет это имя цвета в stylix. Потом идёт название gruvbox-имя
Я использую gruvbox-dark-medium Я использую gruvbox-dark-medium

View file

@ -40,7 +40,7 @@
enableBashIntegration = true; enableBashIntegration = true;
enableZshIntegration = true; enableZshIntegration = true;
enableFishIntegration = true; # enableFishIntegration = true;
# enableNushellIntegration = true; # enableNushellIntegration = true;
}; };
} }

View file

@ -25,7 +25,7 @@
./wm/rofi.nix ./wm/rofi.nix
./wm/dunst.nix ./wm/dunst.nix
./wm/lockscreen.nix ./wm/lockscreen.nix
./wm/polybar.nix # ./wm/polybar.nix
./wm/sxhkd.nix ./wm/sxhkd.nix
./mangohud.nix ./mangohud.nix

View file

@ -4,8 +4,8 @@
shellIntegration = { # https://sw.kovidgoyal.net/kitty/shell-integration/ shellIntegration = { # https://sw.kovidgoyal.net/kitty/shell-integration/
enableBashIntegration = true; enableBashIntegration = true;
enableFishIntegration = true;
enableZshIntegration = true; enableZshIntegration = true;
# enableFishIntegration = true;
}; };
settings = { settings = {

View file

@ -4,7 +4,7 @@
enableBashIntegration = true; enableBashIntegration = true;
enableZshIntegration = true; enableZshIntegration = true;
enableFishIntegration = true; # enableFishIntegration = true;
# enableNushellIntegration = true; # enableNushellIntegration = true;
enableTransience = true; # Fish Shell only. Отображает пустую строку при нажатии enter? enableTransience = true; # Fish Shell only. Отображает пустую строку при нажатии enter?

View file

@ -1,8 +1,8 @@
{ {
programs.zellij = { # Аналог tmux programs.zellij = { # Аналог tmux
enable = true; enable = true;
enableBashIntegration = true; # enableBashIntegration = true;
enableZshIntegration = true; # enableZshIntegration = true;
enableFishIntegration = true; # enableFishIntegration = true;
}; };
} }

View file

@ -37,31 +37,31 @@
# double-click-middle # double-click-middle
# double-click-right # double-click-right
# { config, ... }: let { config, ... }: let
# gruvbox = { gruvbox = {
# black = "#000000"; black = "#000000";
# dark = "#1d1d1d"; dark = "#1d1d1d";
# disabled = "${config.lib.stylix.colors.base00}"; # #282828 disabled = "${config.lib.stylix.colors.base00}"; # #282828
# red = "${config.lib.stylix.colors.base08}"; # #fb4934 red = "${config.lib.stylix.colors.base08}"; # #fb4934
# red-alt = "#b22222"; red-alt = "#b22222";
# orange = "${config.lib.stylix.colors.base09}"; # #fe8019 orange = "${config.lib.stylix.colors.base09}"; # #fe8019
# orange-mat = "#e78a4e"; orange-mat = "#e78a4e";
# yellow = "${config.lib.stylix.colors.base0A}"; # #fabd2f yellow = "${config.lib.stylix.colors.base0A}"; # #fabd2f
# yellow-mat = "#d8a657"; yellow-mat = "#d8a657";
# green = "${config.lib.stylix.colors.base0B}"; # #b8bb26 green = "${config.lib.stylix.colors.base0B}"; # #b8bb26
# green-alt = "#98971a"; green-alt = "#98971a";
# aqua = "${config.lib.stylix.colors.base0C}"; # #8ec07c aqua = "${config.lib.stylix.colors.base0C}"; # #8ec07c
# aqua-alt = "#689d6a"; aqua-alt = "#689d6a";
# blue = "#458588"; blue = "#458588";
# blue-alt = "${config.lib.stylix.colors.base0D}"; # #83a598 blue-alt = "${config.lib.stylix.colors.base0D}"; # #83a598
# grey = "#313131"; grey = "#313131";
# dark-grey = "#222222"; dark-grey = "#222222";
# cream = "${config.lib.stylix.colors.base07}"; # #fbf1c7 cream = "${config.lib.stylix.colors.base07}"; # #fbf1c7
# white = "#FFFFFF"; white = "#FFFFFF";
# transparent = "#00000000"; transparent = "#00000000";
# Stransparent = "#CC000000"; Stransparent = "#CC000000";
# }; };
# in in
{ # Статус бар внизу { # Статус бар внизу
services.polybar = { services.polybar = {
enable = true; enable = true;
@ -75,273 +75,237 @@
fi fi
''; '';
settings = { settings = { # Или переимоневать в "config"? Не понял в чём разница
# "colors" = {};
"global/wm" = { "global/wm" = {
margin-bottom = 0; margin-bottom = 0;
}; };
# bottom это просто имя, это не говорит бару быть внизу, можно написать что угодно
"bar/bottom" = { "bar/bottom" = {
monitor = "$\{env:MONITOR:}"; # monitor = "polybar -M | cut -d ':' -f 1"; # содержит список мониторов
fixed-center = true; # Мидл модуль будет по центру экрана. При false будет между левым и правым модулями # monitor-strict = false; # Require the monitor to be in connected state
# monitor-exact = true; # Зачем? Нечёткий поиск мониторов, если они называются по разному с разными драйверами
bottom = true; # Put the bar at the bottom of the screen bottom = true; # Put the bar at the bottom of the screen
fixed-center = true; # Мидл модуль будет по центру экрана. При false будет между левым и правым модулями
enable-ipc = true; # Enable support for inter-process messaging
double-click-interval = 400; # If two clicks are received within this interval (ms), they are recognized as a double click.
offset-x = 0; # Offset the bar window in the x and/or y direction.
offset-y = 0; # Supports any percentage with offset relative to the monitor width or height
width = "100%"; # Ширина относительно ширины монитора
height = "20pt"; # Высота относительно высоты монитора. Не ебу что значит pt
radius = 0;
dpi = 100; # Для ppi монитора
background = gruvbox.transparent; # Фон бара
foreground = gruvbox.cream; # Передний план
border-color = gruvbox.transparent; # Цвет контура
border-size = "3pt"; # Размер контура
module-margin = 0; # Margin to add before/after each module. Можно юзать module-margin-{left,right}
padding = "4pt"; # Padding to add at the beginning/end of the bar. Можно юзать padding-{left,right}
separator-foreground = gruvbox.transparent;
separator = " "; # The separator will be inserted between the output of each module
# If you don't explicitly set the font-index for a tag,
# the bar will iterate the font list and pick the first one that is able to draw the character
font-0 = "Roboto condensed:size=11:weight=bold;2";
font-1 = "Font Awesome 6 Free:pixelsize=11;2";
font-2 = "Font Awesome 6 Free Solid:pixelsize=11;2";
font-3 = "Font Awesome 6 Brands:pixelsize=11;2";
font-4 = "JetBrainsMono Nerd Font Mono:size=24:weight=bold;5";
font-5 = "Noto Sans:size=11:weight=bold;1"; # Мб надо добавить CJK версии
modules-left = "bspwm title";
modules-center = "time"; modules-center = "time";
modules-right = "cpu memory pulseaudio tray xkeyboard rofi";
# Для модула right ещё можно добавить следующие модули:
# "battery", ""
# Restack the bar window and put it above the selected window manager's root
# Fixes the issue where the bar is being drawn on top of fullscreen window's
# Currently supported values:
# generic (Tries the ewmh strategy and falls back to the bottom strategy.
# This is a best-effort strategy and may change and be tweaked in
# the future, the individual strategies are available on their own)
# (New in version 3.6.0)
# (Changed in version 3.7.0: Tries the ewmh strategy instead of just the bottom strategy)
# bspwm (Moves the bar window above all bspwm root windows)
# bottom (Moves the bar window above the first window in the window stack.
# Works in xmonad, may not work on other WMs
# New in version 3.7.0)
# ewmh (Moves the bar above the window specified in _NET_SUPPORTING_WM_CHECK, if it is set
# New in version 3.7.0)
# i3 (requires `override-redirect = true`)
wm-restack = "bspwm";
}; };
"module/rofi" = {
type = "custom/text";
click-left = "exec rofi -show drun -show-icons";
label = " ";
# click-right= exec ~/.config/i3/scripts/power.sh;
content-foreground = gruvbox.orange;
content-background = gruvbox.black;
};
"module/bspwm" = { # Воркспейсы bspwm
type = "internal/bspwm";
pin-workspaces = true; # Only show workspaces defined on the same output as the bar
inline-mode = true; # Output mode flags after focused state label. Не понял что значит
enable-click = true; # Create click handler used to focus workspace
enable-scroll = false; # Create scroll handlers used to cycle workspaces
reverse-scroll = false; # Set the scroll cycle direction
occupied-scroll = true; # Only scroll through occupied workspaces
ws-icon-1 = "1;1";
ws-icon-2 = "2;2";
ws-icon-3 = "3;3";
ws-icon-4 = "4;4";
ws-icon-5 = "5;5";
ws-icon-6 = "6;6";
ws-icon-7 = "7;7";
ws-icon-8 = "8;8";
ws-icon-9 = "9;9";
ws-icon-10 = "10;10";
format = "<label-state> <label-mode>"; # Это невозможно описать. Я сам не до конца понял
label-mode = "%mode%";
label-mode-padding = 1;
label-mode-background = gruvbox.red-alt;
label-mode-foreground = gruvbox.white;
label-focused = "%icon%";
label-focused-font = 5;
label-focused-foreground = gruvbox.yellow;
label-focused-background = gruvbox.black;
label-focused-padding = 2;
label-unfocused = "%icon%";
label-unfocused-font = 5;
label-unfocused-foreground = gruvbox.cream;
label-unfocused-background= gruvbox.black;
label-unfocused-padding = 2;
label-visible = "%icon%";
label-visible-padding = 2;
label-urgent = "%icon%";
label-urgent-font = 5;
label-urgent-foreground = gruvbox.red-alt;
label-urgent-background = gruvbox.black;
label-urgent-padding = 2;
label-separator = "";
label-separator-padding = 0;
label-separator-foreground = gruvbox.transparent;
};
"module/title" = { # Отображение имени окна
type = "internal/xwindow";
format-prefix = " ";
format-prefix-foreground = gruvbox.yellow-mat;
format-prefix-background = gruvbox.black;
label = "%title%";
label-maxlen = 50;
label-foreground = gruvbox.cream;
label-background = gruvbox.dark;
label-padding-left = 2;
label-padding-right = 2;
};
# %A: Полное название дня недели (например, "Monday")
# %d: День месяца в формате двух цифр (например, "01")
# %b или %B: Сокращённое или полное название месяца ("Jan", "January")
# %m: Месяц в формате двух цифр (например, "01" для января)
"module/time" = { "module/time" = {
type = "internal/date"; type = "internal/date";
interval = 1; interval = 1;
# format = "🕓 <label>"; format-prefix = " ";
# format-prefix = "  "; format-prefix-foreground = gruvbox.aqua;
# format-prefix-foreground = gruvbox.aqua; format-prefix-background = gruvbox.black;
# format-prefix-background = gruvbox.black;
# date = "%A %d %b %Y | %H:%M:%S"; # date = "%A %d %b %Y | %H:%M:%S";
date = "%d %B %Y"; date = "%d %B %Y";
time = "%H:%M:%S"; time = "%H:%M:%S";
date-alt = "%d-%m-%Y"; # If defined, clicking will toggle between formats date-alt = "%d-%m-%Y"; # If defined, clicking will toggle between formats
time-alt = "%H:%M"; # If defined, clicking will toggle between formats time-alt = "%H:%M"; # If defined, clicking will toggle between formats
label = "%date% %time%"; label = "%date% %time%";
# label-foreground = gruvbox.cream; label-foreground = gruvbox.cream;
# label-background = gruvbox.dark; label-background = gruvbox.dark;
# label-font = 3;
label-padding-left = 2; label-padding-left = 2;
label-padding-right = 2; label-padding-right = 2;
}; };
"module/xkeyboard" = {
type = "internal/xkeyboard";
blacklist-0 = "num lock";
blacklist-1 = "scroll lock";
format = "<label-layout> <label-indicator>";
label-layout-padding = 1;
label-layout-foreground = gruvbox.cream;
label-indicator-on = "%name%";
# layout-icon-default = "some-icon";
layout-icon-0 = "RU";
layout-icon-1 = "EN";
label-indicator-on-capslock = "!";
label-indicator-off-capslock = "";
}; };
# settings = { # Или переимоневать в "config"? Не понял в чём разница "module/tray" = {
# # "colors" = {}; type = "internal/tray";
format = "<tray>";
format-prefix = "󱊖 ";
format-prefix-foreground = gruvbox.orange;
format-prefix-background = gruvbox.black;
# "global/wm" = { # tray-size = "66%"; # relative to bar height, non-negative
# margin-bottom = 0; tray-spacing = "8px";
# }; format-padding = "5px";
format-background = gruvbox.black;
tray-background = gruvbox.black;
# tray-foreground = gruvbox.cream; # сам добавил
};
# # bottom это просто имя, это не говорит бару быть внизу, можно написать что угодно "module/pulseaudio" = {
# "bar/bottom" = { type = "internal/pulseaudio";
# monitor = "polybar -M | cut -d ':' -f 1"; # содержит список мониторов # click-left = "exec pavucontrol";
# monitor-strict = false; # Require the monitor to be in connected state format-volume-prefix = " ";
# monitor-exact = true; # Зачем? Нечёткий поиск мониторов, если они называются по разному с разными драйверами format-volume-prefix-foreground = gruvbox.blue-alt;
# bottom = true; # Put the bar at the bottom of the screen format-volume-prefix-background= gruvbox.black;
# fixed-center = true; # Мидл модуль будет по центру экрана. При false будет между левым и правым модулями format-volume = "<label-volume>";
# width = "100%"; # Ширина относительно ширины монитора
# height = "20pt"; # Высота относительно высоты монитора. Не ебу что значит pt
# offset-x = 0; # Offset the bar window in the x and/or y direction.
# offset-y = 0; # Supports any percentage with offset relative to the monitor width or height
# padding = 0; # Padding to add at the beginning/end of the bar. Можно юзать padding-{left,right}
# enable-ipc = true; # Enable support for inter-process messaging
# double-click-interval = 400; # If two clicks are received within this interval (ms), they are recognized as a double click.
# module-margin = 1; # Margin to add before/after each module. Можно юзать module-margin-{left,right} label-volume = "%percentage%%";
# # separator = " "; # The separator will be inserted between the output of each module label-volume-foreground= gruvbox.cream;
# # separator-foreground = gruvbox.transparent; label-volume-background= gruvbox.dark;
label-volume-padding-left=2;
label-volume-padding-right=2;
# # background = gruvbox.transparent; # Фон бара format-muted-prefix = " ";
# # foreground = gruvbox.cream; # Передний план format-muted-foreground = gruvbox.orange;
# # border-color = gruvbox.transparent; # Цвет контура format-muted-background = gruvbox.black;
# # border-size = "3pt"; # Размер контура
# # line-color = "#f00"; # Under-/overline argb color. Может быть {overline,underline}-color
# # line-size = 0; # Under-/overline pixel size. Может быть {overline,underline}-size
# # If you don't explicitly set the font-index for a tag, label-muted = "muted";
# # the bar will iterate the font list and pick the first one that is able to draw the character label-muted-foreground = gruvbox.orange-mat;
# # font-0 = "JetBrainsMono Nerd Font"; label-muted-background = gruvbox.dark;
label-muted-padding = 2;
};
# modules-left = "bspwm title"; "module/memory" = {
# modules-center = "time"; type = "internal/memory";
# modules-right = "cpu cpu-temp gpu-temp battery memory pulseaudio tray xkeyboard rofi"; interval = 1;
format-prefix = " ";
format-prefix-foreground = gruvbox.blue;
format-prefix-background = gruvbox.black;
# # Restack the bar window and put it above the selected window manager's root label = "RAM: %gb_used%/%gb_total% | SWAP: %gb_swap_used%/%gb_swap_total%";
# # Fixes the issue where the bar is being drawn on top of fullscreen window's label-foreground = gruvbox.cream;
# # Currently supported values: label-background = gruvbox.dark;
# # generic (Tries the ewmh strategy and falls back to the bottom strategy. label-padding-left = 2;
# # This is a best-effort strategy and may change and be tweaked in label-padding-right = 2;
# # the future, the individual strategies are available on their own) };
# # (New in version 3.6.0)
# # (Changed in version 3.7.0: Tries the ewmh strategy instead of just the bottom strategy)
# # bspwm (Moves the bar window above all bspwm root windows)
# # bottom (Moves the bar window above the first window in the window stack.
# # Works in xmonad, may not work on other WMs
# # New in version 3.7.0)
# # ewmh (Moves the bar above the window specified in _NET_SUPPORTING_WM_CHECK, if it is set
# # New in version 3.7.0)
# # i3 (requires `override-redirect = true`)
# wm-restack = "bspwm";
# };
# "module/rofi" = {
# type = "custom/text";
# click-left = "exec rofi -show drun";
# label = " ";
# };
# "module/bspwm" = { # Воркспейсы bspwm
# type = "internal/bspwm";
# pin-workspaces = true; # Only show workspaces defined on the same output as the bar
# inline-mode = true; # Output mode flags after focused state label. Не понял что значит
# enable-click = true; # Create click handler used to focus workspace
# enable-scroll = false; # Create scroll handlers used to cycle workspaces
# reverse-scroll = false; # Set the scroll cycle direction
# occupied-scroll = true; # Only scroll through occupied workspaces
# ws-icon-0 = "0;0";
# ws-icon-1 = "1;1";
# ws-icon-2 = "2;2";
# ws-icon-3 = "3;3";
# ws-icon-4 = "4;4";
# ws-icon-5 = "5;5";
# ws-icon-6 = "6;6";
# ws-icon-7 = "7;7";
# ws-icon-8 = "8;8";
# ws-icon-9 = "9;9";
# ws-icon-10 = "10;10";
# format = "<label-state> <label-mode>"; # Это невозможно описать. Я сам не до конца понял
# # label-mode = "%mode%";
# # label-mode-padding = 1;
# # label-mode-background = gruvbox.red-alt;
# # label-mode-foreground = gruvbox.white;
# # label-separator = "";
# # label-separator-padding = 0;
# # label-separator-foreground = gruvbox.transparen;
# # label-focused = "%icon% %name%";
# # label-focused-font = 5;
# # label-focused-foreground = gruvbox.yellow;
# # label-focused-underline = "#565c64";
# # label-focused-padding = 1;
# # label-focused-background = gruvbox.black;
# # label-occupied = "%icon%";
# # label-occupied-foreground = "#646870";
# # label-occupied-background = "#2b2f37";
# # label-occupied-padding = 1;
# # label-empty = "%icon%";
# # label-empty-foreground = gruvbox.yellow;
# # label-empty-padding = 1;
# # label-empty-background = "#2b2f37";
# # label-unfocused = "%icon%";
# # label-unfocused-font = 5;
# # label-unfocused-foreground = gruvbox.cream;
# # label-unfocused-background= gruvbox.black;
# # label-unfocused-padding = 2;
# # label-visible = "%icon%";
# # label-visible-padding = 2;
# # label-urgent = "%icon%";
# # label-urgent-font = 5
# # label-urgent-foreground = gruvbox.red-alt;
# # label-urgent-background = gruvbox.black;
# # label-urgent-padding = 2;
# };
# "module/title" = { # Отображение имени окна
# type = "internal/xwindow";
# format-prefix = "  ";
# # format-prefix-foreground = gruvbox.yellow-mat;
# # format-prefix-background = gruvbox.black;
# # format-background = "#f00";
# # format-foreground = "#000";
# # format-padding = 4;
# # label = "%title%";
# label = "%class%";
# label-maxlen = 60;
# # label-foreground = gruvbox.cream;
# # label-background = gruvbox.dark;
# label-padding-left = 2;
# label-padding-right = 2;
# };
# # %A: Полное название дня недели (например, "Monday")
# # %d: День месяца в формате двух цифр (например, "01")
# # %b или %B: Сокращённое или полное название месяца ("Jan", "January")
# # %m: Месяц в формате двух цифр (например, "01" для января)
# "module/date" = {
# type = "internal/date";
# interval = 1;
# # format = "🕓 <label>";
# # format-prefix = "  ";
# # format-prefix-foreground = gruvbox.aqua;
# # format-prefix-background = gruvbox.black;
# # date = "%A %d %b %Y | %H:%M:%S";
# date = "%d %B %Y";
# time = "%H:%M:%S";
# date-alt = "%d-%m-%Y"; # If defined, clicking will toggle between formats
# # time-alt = "%H:%M:%S"; # If defined, clicking will toggle between formats
# label = "%date% %time%";
# # label-foreground = gruvbox.cream;
# # label-background = gruvbox.dark;
# # label-font = 3;
# label-padding-left = 2;
# label-padding-right = 2;
# };
# "module/xkeyboard" = {
# type = "internal/xkeyboard";
# blacklist-0 = "num lock";
# blacklist-1 = "scroll lock";
# format = "<label-layout> <label-indicator>";
# label-layout-padding = 1;
# # label-layout-foreground = "#fff";
# label-indicator-on = "%name%";
# # layout-icon-default = "some-icon";
# layout-icon-0 = "RU";
# layout-icon-1 = "EN";
# label-indicator-on-capslock = "!";
# label-indicator-off-capslock = "";
# };
# "module/tray" = {
# type = "internal/tray";
# format = "<tray>";
# # format-prefix = " 󱊖 ";
# # format-prefix-foreground = gruvbox.orange;
# # format-prefix-background = gruvbox.black;
# tray-spacing = "8px";
# # tray-size = "66%"; # relative to bar height, non-negative
# format-padding = "5px";
# # format-background = gruvbox.black;
# # tray-background = gruvbox.black;
# # tray-foreground = gruvbox.cream; # сам добавил
# };
# "module/pulseaudio" = {
# type = "internal/pulseaudio";
# format-volume-prefix = "  ";
# # format-volume-prefix-foreground = gruvbox.blue-alt;
# # format-volume-prefix-background= gruvbox.black;
# format-volume = "<label-volume>";
# label-volume = "%percentage%%";
# # label-volume-foreground= gruvbox.cream;
# # label-volume-background= gruvbox.dark;
# label-volume-padding-left=2;
# label-volume-padding-right=2;
# format-muted-prefix = "  ";
# # format-muted-foreground = gruvbox.orange;
# # format-muted-background = gruvbox.black;
# label-muted = "muted";
# # label-muted-foreground = gruvbox.orange-mat;
# # label-muted-background = gruvbox.dark;
# label-muted-padding = 2;
# };
# "module/memory" = {
# type = "internal/memory";
# interval = 3;
# # format-prefix = "  ";
# # format-prefix-foreground = gruvbox.blue;
# # format-prefix-background = gruvbox.black;
# label = "RAM: %gb_used%/%gb_total% | SWAP: %gb_swap_used%/%gb_swap_total%";
# # label-foreground = gruvbox.cream;
# # label-background = gruvbox.dark;
# label-padding-left = 2;
# label-padding-right = 2;
# };
# "module/battery" = { # "module/battery" = {
# type = internal/battery; # type = internal/battery;
@ -468,36 +432,22 @@
# animation-low-framerate = 200; # animation-low-framerate = 200;
# }; # };
# "module/cpu" = { "module/cpu" = {
# type = "internal/cpu"; type = "internal/cpu";
# warn-percentage = 95; interval = 1;
# label = "CPU %percentage%%"; # format-prefix = " ";
# label-warn = "CPU %percentage%%"; # format-prefix-foreground = gruvbox.orange-mat;
# }; # format-prefix-background = gruvbox.black;
warn-percentage = 95;
# # Full path of temperature sysfs path label = "CPU %percentage%%";
# # Use `sensors` to find preferred temperature source, then run label-foreground = gruvbox.cream;
# # $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done label-background = gruvbox.dark;
# # to find path to desired file label-padding-left = 2;
# # Default reverts to thermal zone setting label-padding-right = 2;
# "module/cpu-temp" = { label-warn = "CPU %percentage%%";
# type = "internal/temperature"; };
# hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon4/temp1_input"; };
# warn-temperature = 80;
# label = "%temperature-c% °C";
# label-warn = "%temperature-c% °C";
# # label-warn-foreground = "#f00";
# };
# "module/gpu-temp" = {
# type = "internal/temperature";
# hwmon-path = "/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0/hwmon/hwmon5/temp3_input";
# warn-temperature = 80;
# label = "GPU %temperature-c% °C";
# label-warn = "GPU %temperature-c% °C";
# # label-warn-foreground = "#f00";
# };
# };
}; };
} }

View file

@ -63,7 +63,7 @@ in {
"super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} {1-9,10}.local"; "super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} {1-9,10}.local";
# Переключает на первый пустой воркспейс # Переключает на первый пустой воркспейс
"super + ctrl + Down" = "bspk desktop -f next.!occupied"; "super + ctrl + Down" = "bspc desktop -f next.!occupied";

View file

@ -163,7 +163,8 @@
nekoray # VPN nekoray # VPN
ksnip # Скрины. Аналоги - Flameshot ksnip # Скрины. Аналоги - Flameshot
kdePackages.ark # Архиватор # kdePackages.ark # Архиватор от kde. Имеет в зависимостях blowjob
file-roller # Архиватор от gnome
qbittorrent # Торренты качать qbittorrent # Торренты качать
thunderbird # Почтовый клиент для своей почты thunderbird # Почтовый клиент для своей почты
screenkey # A screencast tool to display your keys screenkey # A screencast tool to display your keys
@ -352,6 +353,10 @@
clinfo # Проверяет работоспособность OpenCL? clinfo # Проверяет работоспособность OpenCL?
libcap # Мб надо для nekoray libcap # Мб надо для nekoray
polybar
# lxqt.lxqt-policykit # Меню для воода пароля при запуске с правами админа. Пока юзаю от гнома # lxqt.lxqt-policykit # Меню для воода пароля при запуске с правами админа. Пока юзаю от гнома
]; ];
environment.
} }