ready1
This commit is contained in:
parent
00917c258f
commit
4d57b6b6f4
17 changed files with 915 additions and 83 deletions
84
README.md
84
README.md
|
|
@ -1,6 +1,15 @@
|
||||||
Это мои приватные дотсы
|
Это мои приватные дотсы
|
||||||
|
|
||||||
Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet).
|
Железо, на котором это работает:
|
||||||
|
- CPU: i5 10400f
|
||||||
|
- GPU: AMD RX6600
|
||||||
|
- RAM: 32gb (2x16) ddr4 3200
|
||||||
|
- Motherboard: MSI Z590-A PRO
|
||||||
|
|
||||||
|
Чтоб узнать sha256 для гитхаб репы, пишем в терминал эту команду:
|
||||||
|
```sh
|
||||||
|
nix-prefetch-git link-to-git-repo
|
||||||
|
```
|
||||||
|
|
||||||
## Бинды
|
## Бинды
|
||||||
|
|
||||||
|
|
@ -16,7 +25,6 @@
|
||||||
| `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора |
|
| `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора |
|
||||||
| `Super + ЛКМ` | Переместить окно |
|
| `Super + ЛКМ` | Переместить окно |
|
||||||
| `Super + ПКМ` | Ресайзить окно |
|
| `Super + ПКМ` | Ресайзить окно |
|
||||||
| `Super + Scroll` | Скролишь колесо вверх = +1 воркспейс. Если вниз, то -1 |
|
|
||||||
| `Super + Arrows` | Менять фокус приложения в указанном направлении |
|
| `Super + Arrows` | Менять фокус приложения в указанном направлении |
|
||||||
| `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 |
|
| `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 |
|
||||||
| `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге |
|
| `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге |
|
||||||
|
|
@ -91,22 +99,38 @@
|
||||||
|
|
||||||
## Иконки
|
## Иконки
|
||||||
|
|
||||||
|
Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet).
|
||||||
|
|
||||||
Соберу сюда список nerd иконок, которые могут пригодиться
|
Соберу сюда список nerd иконок, которые могут пригодиться
|
||||||
|
|
||||||
- CPU (мб не юзать, а писать текстом и cpu и gpu)
|
CPU (мб не юзать, а писать текстом и cpu и gpu) -
|
||||||
- RAM
|
|
||||||
- CapsLock
|
RAM -
|
||||||
или - Клавиатура
|
|
||||||
- Громкость
|
CapsLock -
|
||||||
- Яркость
|
|
||||||
- Календарь
|
Клавиатура - или
|
||||||
⏻ - Выключение пк
|
|
||||||
- Приложения
|
Громкость -
|
||||||
- Блютуз
|
|
||||||
- Network
|
Яркость -
|
||||||
- Clipboard
|
|
||||||
- Оповещения (bell)
|
Календарь -
|
||||||
- Reload
|
|
||||||
|
Выключение пк - ⏻
|
||||||
|
|
||||||
|
Приложения -
|
||||||
|
|
||||||
|
Блютуз -
|
||||||
|
|
||||||
|
Network -
|
||||||
|
|
||||||
|
Clipboard -
|
||||||
|
|
||||||
|
Оповещения (bell) -
|
||||||
|
|
||||||
|
Reload -
|
||||||
|
|
||||||
|
|
||||||
Wifi
|
Wifi
|
||||||
|
|
||||||
|
|
@ -131,3 +155,31 @@ Wifi
|
||||||
- Температура по цельсию
|
- Температура по цельсию
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Темы
|
||||||
|
|
||||||
|
У меня в vscode цвета отображаются. Так что я для себя сохраню цвета разных вариантов gruvbox
|
||||||
|
|
||||||
|
Цвет это название цвета. Потом идёт название gruvbox-имя
|
||||||
|
|
||||||
|
Я использую gruvbox-dark-medium
|
||||||
|
|
||||||
|
|Цвет |dark-hard|dark-medium|dark-pale|dark-soft|material-dark-hard|material-dark-medium|material-dark-soft|
|
||||||
|
|------|---------|-----------|---------|---------|------------------|--------------------|------------------|
|
||||||
|
|base00| #1d2021 | #282828 | #262626 | #32302f | #202020 | #292828 | #32302f |
|
||||||
|
|base01| #3c3836 | #3c3836 | #3a3a3a | #3c3836 | #2a2827 | #32302f | #3c3836 |
|
||||||
|
|base02| #504945 | #504945 | #4e4e4e | #504945 | #504945 | #504945 | #5a524c |
|
||||||
|
|base03| #665c54 | #665c54 | #8a8a8a | #665c54 | #5a524c | #665c54 | #7c6f64 |
|
||||||
|
|base04| #bdae93 | #bdae93 | #949494 | #bdae93 | #bdae93 | #bdae93 | #bdae93 |
|
||||||
|
|base05| #d5c4a1 | #d5c4a1 | #dab997 | #d5c4a1 | #ddc7a1 | #ddc7a1 | #ddc7a1 |
|
||||||
|
|base06| #ebdbb2 | #ebdbb2 | #d5c4a1 | #ebdbb2 | #ebdbb2 | #ebdbb2 | #ebdbb2 |
|
||||||
|
|base07| #fbf1c7 | #fbf1c7 | #ebdbb2 | #fbf1c7 | #fbf1c7 | #fbf1c7 | #fbf1c7 |
|
||||||
|
|base08| #fb4934 | #fb4934 | #d75f5f | #fb4934 | #ea6962 | #ea6962 | #ea6962 |
|
||||||
|
|base09| #fe8019 | #fe8019 | #ff8700 | #fe8019 | #e78a4e | #e78a4e | #e78a4e |
|
||||||
|
|base0A| #fabd2f | #fabd2f | #ffaf00 | #fabd2f | #d8a657 | #d8a657 | #d8a657 |
|
||||||
|
|base0B| #b8bb26 | #b8bb26 | #afaf00 | #b8bb26 | #a9b665 | #a9b665 | #a9b665 |
|
||||||
|
|base0C| #8ec07c | #8ec07c | #85ad85 | #8ec07c | #89b482 | #89b482 | #89b482 |
|
||||||
|
|base0D| #83a598 | #83a598 | #83adad | #83a598 | #7daea3 | #7daea3 | #7daea3 |
|
||||||
|
|base0E| #d3869b | #d3869b | #d485ad | #d3869b | #d3869b | #d3869b | #d3869b |
|
||||||
|
|base0F| #d65d0e | #d65d0e | #d65d0e | #d65d0e | #bd6f3e | #bd6f3e | #bd6f3e |
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
./file-managers/ranger/ranger.nix
|
./file-managers/ranger/ranger.nix
|
||||||
./file-managers/thunar/thunar.nix
|
./file-managers/thunar/thunar.nix
|
||||||
./file-managers/yazi/yazi.nix
|
# ./file-managers/yazi/yazi.nix
|
||||||
|
|
||||||
./gui/vscode.nix
|
./gui/vscode.nix
|
||||||
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
./obs/obs.nix
|
./obs/obs.nix
|
||||||
|
|
||||||
./terminal/alacritty.nix
|
./terminal/alacritty.nix
|
||||||
./terminal/fish.nix
|
# ./terminal/fish.nix
|
||||||
./terminal/git.nix
|
./terminal/git.nix
|
||||||
./terminal/kitty.nix
|
./terminal/kitty.nix
|
||||||
./terminal/starship.nix
|
./terminal/starship.nix
|
||||||
|
|
@ -32,5 +32,6 @@
|
||||||
|
|
||||||
./default-apps.nix
|
./default-apps.nix
|
||||||
./symlinks.nix
|
./symlinks.nix
|
||||||
|
./mangohud.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
@ -1,13 +1,43 @@
|
||||||
{
|
{ pkgs, ... }: { # https://nixos.wiki/wiki/Visual_Studio_Code
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
# package = pkgs.vscode.fhs; # Почему в вики написано ".fhs", если пакет называется "-fhs"?
|
||||||
|
# package = pkgs.vscode-with-extensions; # Мб это надо?
|
||||||
|
|
||||||
extensions = [
|
|
||||||
|
|
||||||
|
# Чтоб узнать sha256, я скачал расширение напрямую с сайта маркетплейса
|
||||||
|
# А потом в терминале написал "sha256sum filename"
|
||||||
|
# В оф репе юзают такой скрипт для установки расширений, не знаю поможет ли
|
||||||
|
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vscode/extensions/update_installed_exts.sh#L34
|
||||||
|
# Имя и паблишер берутся из ссылки. После "?itemName" идёт паблишер.нейм
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
eamodio.gitlens # GitLens - Git supercharged
|
||||||
|
jnoortheen.nix-ide # Nix language support - syntax highlighting, formatting, and error reporting.
|
||||||
|
sumneko.lua # Lua language server
|
||||||
|
naumovs.color-highlight # Highlight web colors in your editor
|
||||||
|
tamasfe.even-better-toml # Fully-featured TOML support
|
||||||
|
ms-python.python # Python language support
|
||||||
|
golang.go # Rich Go language support
|
||||||
|
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ # Руками с гита ставить
|
||||||
|
{ # https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode
|
||||||
|
name = "language-hugo-vscode";
|
||||||
|
publisher = "budparr";
|
||||||
|
version = "1.3.1";
|
||||||
|
sha256 = "f5da7cfe02c06fc3899e6b0b55b380280619e7085abcf5b6024f9684ba846c99";
|
||||||
|
}
|
||||||
|
{ # https://marketplace.visualstudio.com/items?itemName=Codeium.codeium
|
||||||
|
name = "codeium";
|
||||||
|
publisher = "Codeium";
|
||||||
|
version = "1.11.9";
|
||||||
|
sha256 = "0e07e78e487418d0c5289eeb2c530dd7dd18f82612e46c8b177f2a1f95acb730";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
userSettings = {
|
userSettings = {
|
||||||
|
# "workbench.colorTheme" = "Gruvbox Dark Medium";
|
||||||
"editor.fontFamily" = "JetBrainsMono Nerd Font";
|
"editor.fontFamily" = "JetBrainsMono Nerd Font";
|
||||||
|
"telemetry.telemetryLevel" = "off";
|
||||||
|
"update.showReleaseNotes" = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
globalSnippets = {};
|
globalSnippets = {};
|
||||||
|
|
|
||||||
67
modules/home-manager/mangohud.nix
Normal file
67
modules/home-manager/mangohud.nix
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
# Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
|
||||||
|
# https://github.com/flightlessmango/MangoHud/blob/master/data/MangoHud.conf
|
||||||
|
|
||||||
|
# To enable the MangoHud overlay layer for Vulkan and OpenGL, run: `mangohud /path/to/app`
|
||||||
|
# For Lutris games, go to the System options in Lutris (make sure that advanced options are enabled)
|
||||||
|
# and add this to the Command prefix setting: `mangohud`
|
||||||
|
# For Steam games, you can add this as a launch option: `mangohud %command%`
|
||||||
|
# Or alternatively, add `MANGOHUD=1` to your shell profile (Vulkan only).
|
||||||
|
# OpenGL games may also need dlsym hooking. Add `--dlsym` to your command like `mangohud --dlsym %command%` for Steam.
|
||||||
|
# To enable mangohud with gamescope you need to install mangoapp. gamescope --mangoapp %command%
|
||||||
|
# Using normal mangohud with gamescope is not support.
|
||||||
|
|
||||||
|
# Затестить можно в терминале через команду MANGOHUD=1 vkcube
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.mangohud = {
|
||||||
|
enable = true;
|
||||||
|
# enableSessionWide = true; # Sets environment variables so that MangoHud is started on any application that supports it.
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file.".config/MangoHud/MangoHud.conf".text = ''
|
||||||
|
### pre defined presets
|
||||||
|
# -1 = default
|
||||||
|
# 0 = no display
|
||||||
|
# 1 = fps only
|
||||||
|
# 2 = horizontal view
|
||||||
|
# 3 = extended
|
||||||
|
# 4 = high detailed information
|
||||||
|
# preset=-1
|
||||||
|
|
||||||
|
cpu_temp
|
||||||
|
gpu_temp
|
||||||
|
gpu_mem_temp
|
||||||
|
swap
|
||||||
|
|
||||||
|
toggle_hud=Shift_R+F12
|
||||||
|
toggle_hud_position=Shift_R+F11
|
||||||
|
toggle_preset=Shift_R+F10
|
||||||
|
# toggle_fps_limit=Shift_L+F1
|
||||||
|
# toggle_logging=Shift_L+F2
|
||||||
|
# reload_cfg=Shift_L+F4
|
||||||
|
# upload_log=Shift_L+F3
|
||||||
|
|
||||||
|
background_alpha=0.0 # Hud transparency
|
||||||
|
alpha=0.8 # Hud alpfa
|
||||||
|
log_duration=300 # Set amount of time the logging will run for (in seconds)
|
||||||
|
|
||||||
|
# gamemode # Display GameMode running status
|
||||||
|
# vkbasalt # Display vkBasalt running status
|
||||||
|
# fsr # Display the status of FSR (only works in gamescope)
|
||||||
|
# throttling_status # Display GPU throttling status. Only shows if throttling is currently happening
|
||||||
|
# no_display # Disable / hide the hud by deafult
|
||||||
|
# battery = true;
|
||||||
|
|
||||||
|
### Limit the application FPS. Comma-separated list of one or more FPS values (e.g. 0,30,60). 0 means unlimited (unless VSynced)
|
||||||
|
# fps_limit=0
|
||||||
|
|
||||||
|
### early = wait before present, late = wait after present
|
||||||
|
# fps_limit_method=
|
||||||
|
|
||||||
|
### VSync [0-3] 0 = adaptive; 1 = off; 2 = mailbox; 3 = on
|
||||||
|
# vsync=-1
|
||||||
|
|
||||||
|
### OpenGL VSync [0-N] 0 = off; >=1 = wait for N v-blanks, N > 1 acts as a FPS limiter (FPS = display refresh rate / N)
|
||||||
|
# gl_vsync=-2
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -16,6 +16,6 @@ in {
|
||||||
# ".local/share/osu-wine/osu!/collection.db" = "~/${dir}/Games/osu!/collection.db";
|
# ".local/share/osu-wine/osu!/collection.db" = "~/${dir}/Games/osu!/collection.db";
|
||||||
# ".local/share/osu-wine/osu!/osu!.buliway.cfg" = "~/${dir}/Games/osu!/osu!.buliway.cfg";
|
# ".local/share/osu-wine/osu!/osu!.buliway.cfg" = "~/${dir}/Games/osu!/osu!.buliway.cfg";
|
||||||
|
|
||||||
# Не знаю на счёт strawberry, obs, chatbox, planify, calibre и браузеров
|
# Не знаю на счёт strawberry, obs, chatbox, planify, calibre, discord и браузеров
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -16,12 +16,14 @@
|
||||||
pkgs = "nvim ${flakeDir}/nixos/packages.nix";
|
pkgs = "nvim ${flakeDir}/nixos/packages.nix";
|
||||||
|
|
||||||
v = "nvim";
|
v = "nvim";
|
||||||
|
t = "timer";
|
||||||
r = "ranger";
|
r = "ranger";
|
||||||
ff = "fastfetch";
|
ff = "fastfetch";
|
||||||
yt = "cd /mnt/backups/Media/yt-dlp"; # Бекапить YouTube
|
yt = "cd /mnt/backups/Media/yt-dlp"; # Бекапить YouTube
|
||||||
qb = "cd /mnt/backups/Media/Music/Qobux/qdl"; # Бекапить музыку с Qobuz
|
qb = "cd /mnt/backups/Media/Music/Qobux/qdl"; # Бекапить музыку с Qobuz
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Всё, что в комментах ниже, лишнее. Я нашёл норм способ. Пишем "nix-prefetch-git link" и получаем всю инфу
|
||||||
# Узнать rev - git ls-remote https://github.com/{owner}/{repo}.git HEAD
|
# Узнать rev - git ls-remote https://github.com/{owner}/{repo}.git HEAD
|
||||||
# На гитхабе вроде можно просто на странице коммитов нажать ... и copy full SHA
|
# На гитхабе вроде можно просто на странице коммитов нажать ... и copy full SHA
|
||||||
# Узнать sha256 - sudo nix-prefetch-url --unpack https://github.com/{owner}/{repo}/archive/{rev}.tar.gz
|
# Узнать sha256 - sudo nix-prefetch-url --unpack https://github.com/{owner}/{repo}/archive/{rev}.tar.gz
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
autosuggestion = {
|
autosuggestion = {
|
||||||
enable = true;
|
enable = true;
|
||||||
strategy = [ # Выбери только один из них
|
strategy = [ # Выбери только один из них (а мб нет, сначала ищет историю, если пусто, то комплитит)
|
||||||
#"history" # Chooses the most recent match from history.
|
"history" # Chooses the most recent match from history.
|
||||||
"completion" # Chooses a suggestion based on what tab-completion would suggest. (requires Zsh 3.1 or later)
|
"completion" # Chooses a suggestion based on what tab-completion would suggest. (requires Zsh 3.1 or later)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
pkgs = "nvim ${flakeDir}/nixos/packages.nix";
|
pkgs = "nvim ${flakeDir}/nixos/packages.nix";
|
||||||
|
|
||||||
v = "nvim";
|
v = "nvim";
|
||||||
|
t = "timer";
|
||||||
r = ". ranger"; # Зайти в ranger и чтоб при выходе я cd в каталог, из которого выходил
|
r = ". ranger"; # Зайти в ranger и чтоб при выходе я cd в каталог, из которого выходил
|
||||||
ff = "fastfetch";
|
ff = "fastfetch";
|
||||||
yt = "cd /mnt/backups/Media/yt-dlp"; # Конфиги для бекапа YouTube
|
yt = "cd /mnt/backups/Media/yt-dlp"; # Конфиги для бекапа YouTube
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,9 @@
|
||||||
# obsidian &
|
# obsidian &
|
||||||
# planify &
|
# planify &
|
||||||
|
|
||||||
|
# Я ебал рот видеть инет в трее. Замени эту ёбань на rofi и отдельную кнопку в polybar
|
||||||
|
# nm-applet &
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
## Настройки мониторов ##
|
## Настройки мониторов ##
|
||||||
#########################
|
#########################
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,458 @@
|
||||||
{ # Статус бар внизу
|
# Про единицы измерения
|
||||||
|
# Если просто написать число, то это будет количество пробелом в прямом смысле. Размер зависит от шрифта
|
||||||
|
# Если указать pt (points), то это 1/72 часть дюйма, которая преобразуется в количество пикселей в зависимости от DPI монитора
|
||||||
|
# Если указывать px, то это пиксели, логично
|
||||||
|
# Интересные готовые скрипты для polybar https://github.com/polybar/polybar-scripts
|
||||||
|
|
||||||
|
# Указание цветов из темы stylix
|
||||||
|
# color0 = "${config.lib.stylix.colors.base00}";
|
||||||
|
# В случае с gruvbox это будет цвет "#282828"
|
||||||
|
# Ниже цвета просто dark-meduim, после него material-dark-medium
|
||||||
|
# base00: "#282828" "#292828"
|
||||||
|
# base01: "#3c3836" "#32302f"
|
||||||
|
# base02: "#504945" "#504945"
|
||||||
|
# base03: "#665c54" "#665c54"
|
||||||
|
# base04: "#bdae93" "#bdae93"
|
||||||
|
# base05: "#d5c4a1" "#ddc7a1"
|
||||||
|
# base06: "#ebdbb2" "#ebdbb2"
|
||||||
|
# base07: "#fbf1c7" "#fbf1c7"
|
||||||
|
# base08: "#fb4934" "#ea6962"
|
||||||
|
# base09: "#fe8019" "#e78a4e"
|
||||||
|
# base0A: "#fabd2f" "#d8a657"
|
||||||
|
# base0B: "#b8bb26" "#a9b665"
|
||||||
|
# base0C: "#8ec07c" "#89b482"
|
||||||
|
# base0D: "#83a598" "#7daea3"
|
||||||
|
# base0E: "#d3869b" "#d3869b"
|
||||||
|
# base0F: "#d65d0e" "#bd6f3e"
|
||||||
|
|
||||||
|
# Если в коммент коде цвет указан напрямую, то это дотсы zproger с левой темой
|
||||||
|
|
||||||
|
# Варианты кликов мыши
|
||||||
|
# click-left
|
||||||
|
# click-middle
|
||||||
|
# click-right
|
||||||
|
# scroll-up
|
||||||
|
# scroll-down
|
||||||
|
# double-click-left
|
||||||
|
# double-click-middle
|
||||||
|
# double-click-right
|
||||||
|
|
||||||
|
{ config, ... }: let
|
||||||
|
gruvbox = {
|
||||||
|
black = "#000000";
|
||||||
|
dark = "#1d1d1d";
|
||||||
|
disabled = "${config.lib.stylix.colors.base00}"; # #282828
|
||||||
|
red = "${config.lib.stylix.colors.base08}"; # #fb4934
|
||||||
|
red-alt = "#b22222";
|
||||||
|
orange = "${config.lib.stylix.colors.base09}"; # #fe8019
|
||||||
|
orange-mat = "#e78a4e";
|
||||||
|
yellow = "${config.lib.stylix.colors.base0A}"; # #fabd2f
|
||||||
|
yellow-mat = "#d8a657";
|
||||||
|
green = "${config.lib.stylix.colors.base0B}"; # #b8bb26
|
||||||
|
green-alt = "#98971a";
|
||||||
|
aqua = "${config.lib.stylix.colors.base0C}"; # #8ec07c
|
||||||
|
aqua-alt = "#689d6a";
|
||||||
|
blue = "#458588";
|
||||||
|
blue-alt = "${config.lib.stylix.colors.base0D}"; # #83a598
|
||||||
|
grey = "#313131";
|
||||||
|
dark-grey = "#222222";
|
||||||
|
cream = "${config.lib.stylix.colors.base07}"; # #fbf1c7
|
||||||
|
white = "#FFFFFF";
|
||||||
|
transparent = "#00000000";
|
||||||
|
Stransparent = "#CC000000";
|
||||||
|
};
|
||||||
|
in { # Статус бар внизу
|
||||||
services.polybar = {
|
services.polybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = { # Или переимоневать в "config"? Не понял в чём разница
|
||||||
|
# "colors" = {};
|
||||||
|
|
||||||
|
"global/wm" = {
|
||||||
|
margin-bottom = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
# bottom это просто имя, это не говорит бару быть внизу, можно написать что угодно
|
||||||
|
"bar/bottom" = {
|
||||||
|
monitor = "polybar -M | cut -d ':' -f 1"; # содержит список мониторов
|
||||||
|
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
|
||||||
|
fixed-center = true; # Мидл модуль будет по центру экрана. При false будет между левым и правым модулями
|
||||||
|
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}
|
||||||
|
# separator = " "; # The separator will be inserted between the output of each module
|
||||||
|
# separator-foreground = gruvbox.transparent;
|
||||||
|
|
||||||
|
# background = gruvbox.transparent; # Фон бара
|
||||||
|
# foreground = gruvbox.cream; # Передний план
|
||||||
|
# border-color = gruvbox.transparent; # Цвет контура
|
||||||
|
# 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,
|
||||||
|
# the bar will iterate the font list and pick the first one that is able to draw the character
|
||||||
|
font-0 = "JetBrainsMono Nerd Font";
|
||||||
|
|
||||||
|
modules-left = "bspwm title";
|
||||||
|
modules-center = "time";
|
||||||
|
modules-right = "cpu cpu-temp gpu-temp battery memory pulseaudio tray xkeyboard rofi";
|
||||||
|
|
||||||
|
# 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";
|
||||||
|
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/time" = {
|
||||||
|
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" = {
|
||||||
|
type = internal/battery;
|
||||||
|
full-at = 98;
|
||||||
|
low-at = 20;
|
||||||
|
battery = "BAT0";
|
||||||
|
adapter = "ADP1";
|
||||||
|
poll-interval = 5;
|
||||||
|
time-format = "%H:%M";
|
||||||
|
|
||||||
|
format-charging = "<animation-charging><label-charging>";
|
||||||
|
# format-charging-foreground = gruvbox.green;
|
||||||
|
# format-charging-background = gruvbox.black;
|
||||||
|
label-charging = "%percentage%%";
|
||||||
|
# label-charging-foreground = gruvbox.cream;
|
||||||
|
# label-charging-background = gruvbox.dark;
|
||||||
|
label-charging-padding= 2;
|
||||||
|
|
||||||
|
format-discharging = "<ramp-capacity><label-discharging>";
|
||||||
|
# format-discharging-foreground = gruvbox.green-alt;
|
||||||
|
# format-discharging-background = gruvbox.black;
|
||||||
|
label-discharging = "%percentage%%";
|
||||||
|
# label-discharging-foreground = gruvbox.cream;
|
||||||
|
# label-discharging-background = gruvbox.dark;
|
||||||
|
label-discharging-padding = 2;
|
||||||
|
|
||||||
|
format-full-prefix = " ";
|
||||||
|
# format-full-foreground = gruvbox.aqua;
|
||||||
|
# format-full-background = gruvbox.black;
|
||||||
|
label-full = "%percentage%%";
|
||||||
|
# label-full-foreground = gruvbox.cream;
|
||||||
|
# label-full-background = gruvbox.dark;
|
||||||
|
label-full-padding = 2;
|
||||||
|
|
||||||
|
label-low = "[ BATTERY LOW ] %percentage%%";
|
||||||
|
# label-low-foreground = gruvbox.black;
|
||||||
|
# label-low-background = gruvbox.red-alt;
|
||||||
|
label-low-padding = 2;
|
||||||
|
|
||||||
|
# Only applies if <ramp-capacity> is used
|
||||||
|
ramp-capacity-0 = " ";
|
||||||
|
ramp-capacity-1 = " ";
|
||||||
|
ramp-capacity-2 = " ";
|
||||||
|
ramp-capacity-3 = " ";
|
||||||
|
ramp-capacity-4 = " ";
|
||||||
|
|
||||||
|
ramp-capacity-0-padding = 3;
|
||||||
|
ramp-capacity-1-padding = 3;
|
||||||
|
ramp-capacity-2-padding = 3;
|
||||||
|
ramp-capacity-3-padding = 3;
|
||||||
|
ramp-capacity-4-padding = 3;
|
||||||
|
|
||||||
|
# ramp-capacity-0-foreground = gruvbox.red-alt;
|
||||||
|
# ramp-capacity-1-foreground = gruvbox.green-alt;
|
||||||
|
# ramp-capacity-2-foreground = gruvbox.green-alt;
|
||||||
|
# ramp-capacity-3-foreground = gruvbox.green-alt;
|
||||||
|
# ramp-capacity-4-foreground = gruvbox.green-alt;
|
||||||
|
|
||||||
|
# ramp-capacity-0-background = gruvbox.black;
|
||||||
|
# ramp-capacity-1-background = gruvbox.black;
|
||||||
|
# ramp-capacity-2-background = gruvbox.black;
|
||||||
|
# ramp-capacity-3-background = gruvbox.black;
|
||||||
|
# ramp-capacity-4-background = gruvbox.black;
|
||||||
|
|
||||||
|
# Only applies if <bar-capacity> is used
|
||||||
|
bar-capacity-width = 10;
|
||||||
|
|
||||||
|
# Only applies if <animation-charging> is used
|
||||||
|
animation-charging-0 = " ";
|
||||||
|
animation-charging-1 = " ";
|
||||||
|
animation-charging-2 = " ";
|
||||||
|
animation-charging-3 = " ";
|
||||||
|
animation-charging-4 = " ";
|
||||||
|
animation-charging-framerate = 750;
|
||||||
|
|
||||||
|
animation-charging-0-padding = 3;
|
||||||
|
animation-charging-1-padding = 3;
|
||||||
|
animation-charging-2-padding = 3;
|
||||||
|
animation-charging-3-padding = 3;
|
||||||
|
animation-charging-4-padding = 3;
|
||||||
|
|
||||||
|
# Animation-charging color
|
||||||
|
# animation-charging-0-foreground = gruvbox.green;
|
||||||
|
# animation-charging-1-foreground = gruvbox.green;
|
||||||
|
# animation-charging-2-foreground = gruvbox.green;
|
||||||
|
# animation-charging-3-foreground = gruvbox.green;
|
||||||
|
# animation-charging-4-foreground = gruvbox.green;
|
||||||
|
|
||||||
|
# animation-charging-0-background = gruvbox.black;
|
||||||
|
# animation-charging-1-background = gruvbox.black;
|
||||||
|
# animation-charging-2-background = gruvbox.black;
|
||||||
|
# animation-charging-3-background = gruvbox.black;
|
||||||
|
# animation-charging-4-background = gruvbox.black;
|
||||||
|
|
||||||
|
# Only applies if <animation-discharging> is used;
|
||||||
|
animation-discharging-0 = "[ ]";
|
||||||
|
animation-discharging-1 = "[ ]";
|
||||||
|
animation-discharging-2 = "[ ]";
|
||||||
|
animation-discharging-3 = "[ ]";
|
||||||
|
animation-discharging-4 = "[ ]";
|
||||||
|
animation-discharging-framerate = 500;
|
||||||
|
|
||||||
|
animation-discharging-0-padding = 1;
|
||||||
|
animation-discharging-1-padding = 1;
|
||||||
|
animation-discharging-2-padding = 1;
|
||||||
|
animation-discharging-3-padding = 1;
|
||||||
|
animation-discharging-4-padding = 1;
|
||||||
|
|
||||||
|
# Animation discharging color
|
||||||
|
# animation-discharging-0-foreground = gruvbox.cream;
|
||||||
|
# animation-discharging-1-foreground = gruvbox.cream;
|
||||||
|
# animation-discharging-2-foreground = gruvbox.cream;
|
||||||
|
# animation-discharging-3-foreground = gruvbox.cream;
|
||||||
|
# animation-discharging-4-foreground = gruvbox.cream;
|
||||||
|
|
||||||
|
# animation-discharging-0-background = gruvbox.green-alt;
|
||||||
|
# animation-discharging-1-background = gruvbox.green-alt;
|
||||||
|
# animation-discharging-2-background = gruvbox.green-alt;
|
||||||
|
# animation-discharging-3-background = gruvbox.green-alt;
|
||||||
|
# animation-discharging-4-background = gruvbox.green-alt;
|
||||||
|
|
||||||
|
animation-low-0 = "!";
|
||||||
|
animation-low-1 = "!!";
|
||||||
|
animation-low-framerate = 200;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/cpu" = {
|
||||||
|
type = "internal/cpu";
|
||||||
|
warn-percentage = 95;
|
||||||
|
label = "CPU %percentage%%";
|
||||||
|
label-warn = "CPU %percentage%%";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Full path of temperature sysfs path
|
||||||
|
# Use `sensors` to find preferred temperature source, then run
|
||||||
|
# $ 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
|
||||||
|
# to find path to desired file
|
||||||
|
# Default reverts to thermal zone setting
|
||||||
|
"module/cpu-temp" = {
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,11 +34,11 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Заменил на greenclip, который включается как сервис в packages.nix
|
# Мб заменю на greenclip, который включается как сервис в packages.nix
|
||||||
# services.clipmenu = { # https://github.com/cdown/clipmenu
|
services.clipmenu = { # https://github.com/cdown/clipmenu
|
||||||
# enable = true;
|
enable = true;
|
||||||
# launcher = "rofi";
|
launcher = "rofi";
|
||||||
# };
|
};
|
||||||
|
|
||||||
# home.file = {
|
# home.file = {
|
||||||
# ".config/rofi".source = "config.rasi";
|
# ".config/rofi".source = "config.rasi";
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,8 @@
|
||||||
# Можно запускать софт через "${pkgs.betterlockscreen}/bin/betterlockscreen -l dimblur";
|
# Можно запускать софт через "${pkgs.betterlockscreen}/bin/betterlockscreen -l dimblur";
|
||||||
# Но мне лень столько текста делать. И так сойдёт
|
# Но мне лень столько текста делать. И так сойдёт
|
||||||
|
# Стандартный конфиг https://github.com/baskerville/bspwm/blob/master/examples/sxhkdrc
|
||||||
# Удалить потом
|
|
||||||
# toggleMute = "pamixer -t; dunstify \"t2\" -a \"$(if [ \"$(pamixer --get-mute)\" = \"true\" ]; then echo \" Muted\"; else echo \" Unmuted\"; fi)\" -r 91190 -t 8000";
|
|
||||||
# toggleMicMute = "pamixer --default-source -t; dunstify \"t2\" -a \"$(if [ \"$(pamixer --default-source --get-mute)\" = \"true\" ]; then echo \" Muted\"; else echo \" Unmuted\"; fi)\" -r 91190 -t 8000";
|
|
||||||
# "XF86AudioMute" = toggleMute; # Toggle mute
|
|
||||||
# "XF86AudioMicMute" = toggleMicMute; # Toggle microphone mute
|
|
||||||
# "XF86AudioLowerVolume" = "pamixer -d 5; dunstify \"t2\" -a \" Volume: $(pamixer --get-volume)\" -r 91190 -t 800"; # Decrease volume
|
|
||||||
# "XF86AudioRaiseVolume" = "pamixer -i 5; dunstify \"t2\" -a \" Volume: $(pamixer --get-volume)\" -r 91190 -t 800"; # Increase volume
|
|
||||||
|
|
||||||
let
|
let
|
||||||
# dunstify = "dunstify \"t2\" -a";
|
|
||||||
# dunstifyMuteText = "\" = \"true\" ]; then echo \" Muted\"; else echo \" Unmuted\"; fi)\" -r 91190 -t 8000";
|
|
||||||
# dunstifyMute = "${dunstify} \"$(if [ \"$(pamixer --get-mute)${dunstifyMuteText}";
|
|
||||||
# dunstifyMicMute = "${dunstify} \"$(if [ \"$(pamixer --default-source --get-mute)${dunstifyMuteText}";
|
|
||||||
# dunstifyVolume = "${dunstify} \" Volume: $(pamixer --get-volume)\" -r 91190 -t 800";
|
|
||||||
|
|
||||||
# Выше нечитабельный ад, который превращается в это
|
|
||||||
# dunstify "t2" -a "$(if [ "$(pamixer --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000
|
|
||||||
# dunstify "t2" -a "$(if [ "$(pamixer --default-source --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000
|
|
||||||
# dunstify "t2" -a " Volume: $(pamixer --get-volume)" -r 91190 -t 800
|
|
||||||
# Это оповещения о состоянии мута и о громкости звука.
|
|
||||||
# Мб можно без экранирования сделать через ``такой синтаксис``
|
|
||||||
|
|
||||||
notifyMute = ''dunstify "t2" -a "$(if [ "$(pamixer --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
|
notifyMute = ''dunstify "t2" -a "$(if [ "$(pamixer --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
|
||||||
notifyMicMute = ''dunstify "t2" -a "$(if [ "$(pamixer --default-source --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
|
notifyMicMute = ''dunstify "t2" -a "$(if [ "$(pamixer --default-source --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
|
||||||
notifyVolume = ''dunstify "t2" -a " Volume: $(pamixer --get-volume)" -r 91190 -t 800'';
|
notifyVolume = ''dunstify "t2" -a " Volume: $(pamixer --get-volume)" -r 91190 -t 800'';
|
||||||
|
|
@ -30,9 +10,12 @@ let
|
||||||
# -r 91190: Это идентификатор уведомления (notification ID). Уведомления с одинаковым ID будут заменять друг друга.
|
# -r 91190: Это идентификатор уведомления (notification ID). Уведомления с одинаковым ID будут заменять друг друга.
|
||||||
# -t 800: Это время в миллисекундах, через которое уведомление будет автоматически закрыто.
|
# -t 800: Это время в миллисекундах, через которое уведомление будет автоматически закрыто.
|
||||||
|
|
||||||
|
# Взято отсюда https://my-take-on.tech/2020/07/03/some-tricks-for-sxhkd-and-bspwm/
|
||||||
|
rofiClipmenu = "rofi clipmenu -location 1 -m -3 -no-show-icons -theme-str '* \{ font: 10px; \}' -theme-str 'listview \{ spacing: 0; \}' -theme-str 'window \{ width: 20em; \}'";
|
||||||
|
|
||||||
terminalFirst = "alacritty";
|
terminalFirst = "alacritty";
|
||||||
terminalSecond = "kitty";
|
terminalSecond = "kitty";
|
||||||
in { # https://github.com/baskerville/bspwm/blob/master/examples/sxhkdrc
|
in {
|
||||||
services.sxhkd = { # Бинды системы https://manpages.org/sxhkd
|
services.sxhkd = { # Бинды системы https://manpages.org/sxhkd
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
@ -72,7 +55,7 @@ in { # https://github.com/baskerville/bspwm/blob/master/examples/sxhkdrc
|
||||||
"super + a" = "rofi -show drun"; # Applications. Запускатор софта
|
"super + a" = "rofi -show drun"; # Applications. Запускатор софта
|
||||||
#"super + c" = ""; # Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`.
|
#"super + c" = ""; # Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`.
|
||||||
#"super + p" = ""; # Passwords. Пароли из утилиты pass
|
#"super + p" = ""; # Passwords. Пароли из утилиты pass
|
||||||
#"super + v" = ""; # История буфера обмена. Как ctrl+v, но через win.
|
"super + v" = "${rofiClipmenu}"; # История буфера обмена. Как ctrl+v, но через win.
|
||||||
#"super + tab" = ""; # Как alt+tab, переключение окон. На нужный воркспейс само перекинет
|
#"super + tab" = ""; # Как alt+tab, переключение окон. На нужный воркспейс само перекинет
|
||||||
#"super + alt + t" = ""; # Timer. Думаю сделать через утилиту timer
|
#"super + alt + t" = ""; # Timer. Думаю сделать через утилиту timer
|
||||||
#"super + shift + n" = ""; # Notification history. История оповещений. Мб не делать
|
#"super + shift + n" = ""; # Notification history. История оповещений. Мб не делать
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./env.nix
|
./env.nix
|
||||||
|
./hardware.nix
|
||||||
./locale.nix
|
./locale.nix
|
||||||
./network.nix
|
./network.nix
|
||||||
./sound.nix
|
./sound.nix
|
||||||
|
|
|
||||||
70
modules/nixos/hardware.nix
Normal file
70
modules/nixos/hardware.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
# Часть настроек меняется в xserver.nix и network.nix
|
||||||
|
# Некоторые настройки под конкретное железо https://github.com/NixOS/nixos-hardware
|
||||||
|
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
hardware = { # Параметры для 24.05 и unstable могут сильно отличаться
|
||||||
|
|
||||||
|
# Список пакетов-драйверов, которые будут активированы лишь при нахождении подходящего оборудования
|
||||||
|
# firmware = with pkgs; [];
|
||||||
|
|
||||||
|
# Мало раскомментить. Надо настроить при необходимости
|
||||||
|
# fancontrol = {};
|
||||||
|
|
||||||
|
# В стоке false. Не понял зачем надо, сохранил из интереса
|
||||||
|
# enableAllFirmware = true;
|
||||||
|
|
||||||
|
# Разные способы управлять яркостью экрана и подсветки для юзеров в группе video
|
||||||
|
# Подробности тут https://wiki.archlinux.org/title/Backlight#Backlight_utilities
|
||||||
|
# brillo.enable = true;
|
||||||
|
# acpilight.enable = true;
|
||||||
|
|
||||||
|
amdgpu = {
|
||||||
|
opencl.enable = true; # # Enable OpenCL support using ROCM runtime library.
|
||||||
|
amdvlk = {
|
||||||
|
enable = true; # Enable AMDVLK Vulkan driver.
|
||||||
|
support32Bit.enable = true; # Enable 32-bit driver support.
|
||||||
|
supportExperimental.enable = true; # Enable Experimental features support.
|
||||||
|
# settings = {}; # Runtime settings for AMDVLK to be configured /etc/amd/amdVulkanSettings.cfg.
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
graphics = { # hardware.opengl переименован в hardware.graphics в unstable ветке
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true; # install 32-bit drivers for 32-bit applications (such as Wine).
|
||||||
|
extraPackages = with pkgs; [ # Мб часть пакетов стоит удалить отсюда и закинуть в обычные пакеты
|
||||||
|
amdvlk # AMD Open Source Driver For Vulkan
|
||||||
|
vulkan-tools
|
||||||
|
dxvk # Чтоб wine игры запускались через vulkan, а не opengl (Direct3D 8/9/10/11)
|
||||||
|
vkd3d # Чтоб wine игры запускались через vulkan, а не opengl (Direct3D 12)
|
||||||
|
# vkbasalt # Баф Vulkan для улучшения визуальной графики игр https://github.com/DadSchoorse/vkBasalt
|
||||||
|
libva # VAAPI (Video Acceleration API)
|
||||||
|
libva-utils # VAAPI (Video Acceleration API)
|
||||||
|
rocmPackages.clr.icd # OpenCL
|
||||||
|
clinfo # Проверяет работает ли OpenCL?
|
||||||
|
];
|
||||||
|
# extraPackages32 = with pkgs; [ # 32 bit
|
||||||
|
# driversi686Linux.amdvlk # Vulkan support for 32-bit applications
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
|
||||||
|
opentabletdriver.enable = true; # Установить, настроить и добавить в автозапуск otd
|
||||||
|
|
||||||
|
keyboard.qmk.enable = true; # Еnable non-root access to the firmware of QMK keyboards.
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
# HIP
|
||||||
|
# Most software has the HIP libraries hard-coded. You can work around it on NixOS by using:
|
||||||
|
# systemd.tmpfiles.rules = [
|
||||||
|
# "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
|
||||||
|
# Для AMD существует два драйвера Vulkan
|
||||||
|
# Один официальный от AMD - amdvlk
|
||||||
|
# Второй начат сообществом и сейчас поддерживается Valve - radv
|
||||||
|
# В разных ситуациях разные драйверы будут лучше работать
|
||||||
|
# В некоторых играх лучше работает radv, в некоторых amdvlk
|
||||||
|
# environment.variables.AMD_VULKAN_ICD = "RADV";
|
||||||
|
}
|
||||||
|
|
@ -1,10 +1,56 @@
|
||||||
{
|
# Не совсем понял как менять тему в sddm. Но мне оно не надо. Оставлю ссылки
|
||||||
|
# https://www.reddit.com/r/NixOS/comments/14sb6s2/sddm_themes_finally_did_a_dumb_workaround/
|
||||||
|
# https://www.reddit.com/r/NixOS/comments/14dlvbr/sddm_theme/
|
||||||
|
|
||||||
|
|
||||||
|
{ pkgs, ... }: {
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
windowManager.bspwm.enable = true;
|
windowManager.bspwm.enable = true;
|
||||||
|
|
||||||
displayManager = {
|
displayManager = {
|
||||||
sddm.enable = true; # Вход в систему
|
# sddm = { # Display manager от kde
|
||||||
|
# enable = true; # Вход в систему
|
||||||
|
# theme = pkgs.sddm-sugar-dark; # https://github.com/MarianArlt/sddm-sugar-dark
|
||||||
|
# };
|
||||||
|
|
||||||
|
lightdm = { # Минималистичный display manager
|
||||||
|
enable = true;
|
||||||
|
# background = "./bg.png";
|
||||||
|
greeters = {
|
||||||
|
tiny.enable = true; # Фул минималистичная тема без ничего
|
||||||
|
|
||||||
|
# gtk = { # GTK тема с кучей настроек. Я поставил сток настройки как шаблон
|
||||||
|
# enable = true;
|
||||||
|
# cursorTheme = {
|
||||||
|
# size = 16;
|
||||||
|
# package = pkgs.adwaita-icon-theme;
|
||||||
|
# name = "Adwaita";
|
||||||
|
# };
|
||||||
|
# iconTheme = {
|
||||||
|
# package = pkgs.adwaita-icon-theme;
|
||||||
|
# name = "Adwaita";
|
||||||
|
# };
|
||||||
|
# theme = {
|
||||||
|
# package = pkgs.gnome-themes-extra;
|
||||||
|
# name = "Adwaita";
|
||||||
|
# };
|
||||||
|
# indicators = [
|
||||||
|
# "~host"
|
||||||
|
# "~spacer"
|
||||||
|
# "~clock"
|
||||||
|
# "~spacer"
|
||||||
|
# "~session"
|
||||||
|
# "~language"
|
||||||
|
# "~a11y"
|
||||||
|
# "~power"
|
||||||
|
# ];
|
||||||
|
# clock-format = "%H:%M:%S %d.%m.%y";
|
||||||
|
# extraConfig = "";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
defaultSession = "none+bspwm"; # only effective for GDM, LightDM and SDDM
|
defaultSession = "none+bspwm"; # only effective for GDM, LightDM and SDDM
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -26,7 +72,11 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
|
# Мб видеодрайвер можно не указывать
|
||||||
|
# https://discourse.nixos.org/t/amd-gpu-optimal-settings/27648/3
|
||||||
|
|
||||||
|
# videoDrivers = [ "nvidia" ]; # https://nixos.wiki/wiki/Nvidia
|
||||||
|
videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
|
||||||
# deviceSection = ''Option "TearFree" "True"'';
|
# deviceSection = ''Option "TearFree" "True"'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ in {
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = username;
|
description = username;
|
||||||
extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" ];
|
extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" "video" ];
|
||||||
# packages = with pkgs; [];
|
# packages = with pkgs; [];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,10 @@
|
||||||
username = "buliway";
|
username = "buliway";
|
||||||
homeDirectory = "/home/buliway";
|
homeDirectory = "/home/buliway";
|
||||||
|
|
||||||
|
# Если с каким-то софтом будут проблемы, то можно перенести из "packages.nix" сюда
|
||||||
|
# Например, я читал, что если ставить vscode через configuration.nix, а не через пакеты юзера,
|
||||||
|
# то не получится ставить расширения. Потому что там софт ставится от рута и vscode
|
||||||
|
# будет пытаться установить расширения в каталог nix store, куда нельзя что либо ставить без рута.
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -6,18 +6,20 @@
|
||||||
gvfs.enable = true; # Mount, trash, and other functionalities for Thunar file manager
|
gvfs.enable = true; # Mount, trash, and other functionalities for Thunar file manager
|
||||||
tumbler.enable = true; # Thumbnail support for Thunar file manager
|
tumbler.enable = true; # Thumbnail support for Thunar file manager
|
||||||
unclutter.enable = true; # Enable unclutter to hide your mouse cursor when inactive
|
unclutter.enable = true; # Enable unclutter to hide your mouse cursor when inactive
|
||||||
greenclip.enable = true; # Clipboard manager. https://github.com/erebe/greenclip
|
# greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого)
|
||||||
openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал.
|
openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал.
|
||||||
spice-vdagentd.enable = true; # Общий буфер обмена с виртуалкой
|
spice-vdagentd.enable = true; # Общий буфер обмена с виртуалкой
|
||||||
#fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
|
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
|
||||||
|
# archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
mtr.enable = true;
|
mtr.enable = true; # Объединяет функции утилит traceroute и ping
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
thunar = { # Can't I use it with home-manager? WTF
|
thunar = { # Can't I use it with home-manager? WTF
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs.xfce; [
|
plugins = with pkgs.xfce; [
|
||||||
|
|
@ -27,17 +29,78 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
xfconf.enable = true; # For Thunar configs
|
xfconf.enable = true; # For Thunar configs
|
||||||
|
|
||||||
|
# Параметры запуска для игр, чтоб юзать все доступные бафы, что я сделал
|
||||||
|
# Параметр запуска без использования gamescope:
|
||||||
|
# mangohud gamemoderun %command%
|
||||||
|
# Параметр запуска с использованием gamescop:
|
||||||
|
# gamescope --mangoapp gamemoderun %command%
|
||||||
|
# Если надо печатать на русском языке, то добавать в начало LC_ALL="ru_RU.UTF-8"
|
||||||
|
# FSR в proton-ge включается только в фулскрине через WINE_FULLSCREEN_FSR=1
|
||||||
|
# Регулировать резкость можно через переменную окружения WINE_FULLSCREEN_FSR_STRENGTH=N,
|
||||||
|
# где N - это уровень резкости изображения от 0 до 5. Чем выше значение, тем меньше резкость.
|
||||||
|
# По умолчанию установлено значение "2", рекомендуют использовать значение "3".
|
||||||
|
steam = {
|
||||||
|
enable = true;
|
||||||
|
extraCompatPackages = with pkgs; [ # Доп версии протона. Должны иметь `steamcompattool` output
|
||||||
|
proton-ge-bin
|
||||||
|
];
|
||||||
|
# fontPackages = with pkgs; []; # Font packages to use in Steam
|
||||||
|
# extraPackages = with pkgs; []; # Additional
|
||||||
|
# protontricks.enable = true; # Running Winetricks commands for Proton-enabled games.
|
||||||
|
# remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
|
# dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||||
|
# localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||||
|
|
||||||
|
# Я хз надо ли оно мне. https://github.com/ValveSoftware/gamescope
|
||||||
|
# Помню как на Hyprland пытался этим fsr включить.
|
||||||
|
# Качество картинки было таким, будто я головой в анус залез
|
||||||
|
# Подробносни тут https://ventureo.codeberg.page/source/linux-gaming.html#gamescope
|
||||||
|
gamescopeSession = { # Run a GameScope driven Steam session from your display-manager
|
||||||
|
enable = true;
|
||||||
|
# args = []; # Arguments to be passed to GameScope for the session.
|
||||||
|
# env = {}; # Environmental variables to be passed to GameScope for the session.
|
||||||
|
};
|
||||||
|
|
||||||
|
# package = pkgs.steam.override {
|
||||||
|
# extraEnv = {
|
||||||
|
# MANGOHUD = true;
|
||||||
|
# OBS_VKCAPTURE = true;
|
||||||
|
# # RADV_TEX_ANISO = 16; # Улучшает качество текстур с драйвером radv?
|
||||||
|
# };
|
||||||
|
# extraPkgs = pkgs: with pkgs; [
|
||||||
|
# xorg.libXcursor xorg.libXi xorg.libXinerama xorg.libXScrnSaver
|
||||||
|
# libpng libpulseaudio libvorbis stdenv.cc.cc.lib
|
||||||
|
# libkrb5 keyutils
|
||||||
|
# ];
|
||||||
|
# extraLibraries = p: with p; [ atk ]; # почему тут with p, а не pkgs?
|
||||||
|
# extraLibraries = pkgs: with pkgs; [ gperftools pkgsi686Linux.gperftools ];
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
# Оптимизация для игр. https://github.com/FeralInteractive/gamemode
|
||||||
|
gamemode.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Многое из этого продублировано в home-manager. Мне так удобней
|
# Многое из этого продублировано в home-manager. Мне так удобней
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
||||||
|
######################
|
||||||
|
## Программирование ##
|
||||||
|
######################
|
||||||
|
|
||||||
# Это рекомендуют ставить не на всю систему,
|
# Это рекомендуют ставить не на всю систему,
|
||||||
# а только на nix shell внутри проекта, где нужны эти пакеты
|
# а только на nix shell внутри проекта, где нужны эти пакеты
|
||||||
go
|
|
||||||
rustup
|
|
||||||
|
|
||||||
# Архивы
|
go # Go programming language
|
||||||
|
rustup # Управление версиями языка Rust
|
||||||
|
nil # Nix language server
|
||||||
|
hugo # Для моего блога
|
||||||
|
|
||||||
|
############
|
||||||
|
## Архивы ##
|
||||||
|
############
|
||||||
|
|
||||||
zip # Архивировать
|
zip # Архивировать
|
||||||
unzip # Разархивировать
|
unzip # Разархивировать
|
||||||
unrar # Разархивировать
|
unrar # Разархивировать
|
||||||
|
|
@ -45,7 +108,10 @@
|
||||||
_7zz # Это пакет для 7z?
|
_7zz # Это пакет для 7z?
|
||||||
bzip2 # .bz2 архивы
|
bzip2 # .bz2 архивы
|
||||||
|
|
||||||
# Разное для терминала
|
##############
|
||||||
|
## Terminal ##
|
||||||
|
##############
|
||||||
|
|
||||||
wget
|
wget
|
||||||
curl
|
curl
|
||||||
git
|
git
|
||||||
|
|
@ -65,8 +131,7 @@
|
||||||
playerctl # Command-line utility and library for controlling media players that implement MPRIS
|
playerctl # Command-line utility and library for controlling media players that implement MPRIS
|
||||||
xdotool # Fake keyboard/mouse input, window management, and more. Автоматизация
|
xdotool # Fake keyboard/mouse input, window management, and more. Автоматизация
|
||||||
zscroll # A text scroller for use with panels and shells https://github.com/noctuid/zscroll
|
zscroll # A text scroller for use with panels and shells https://github.com/noctuid/zscroll
|
||||||
|
tokei # Показывает количество строк кода на разных языках внутри каталога
|
||||||
|
|
||||||
pass # Менеджер паролей в терминале
|
pass # Менеджер паролей в терминале
|
||||||
btop # Монитор ресурсов в терминале
|
btop # Монитор ресурсов в терминале
|
||||||
yt-dlp # Скачивать и смотреть медиа с разных сайтов
|
yt-dlp # Скачивать и смотреть медиа с разных сайтов
|
||||||
|
|
@ -74,17 +139,20 @@
|
||||||
timer # A "sleep" with progress. Таймер на пельмени "timer 5m"
|
timer # A "sleep" with progress. Таймер на пельмени "timer 5m"
|
||||||
libqalculate # Advanced calculator library
|
libqalculate # Advanced calculator library
|
||||||
fastfetch # Пишешь в теримнал и кидаешь всем со словами I use nixos btw
|
fastfetch # Пишешь в теримнал и кидаешь всем со словами I use nixos btw
|
||||||
|
# zsh-nix-shell # zsh plugin that lets you use zsh in nix-shell shell
|
||||||
|
|
||||||
alacritty # Минималистичный терминал. Основной у меня
|
alacritty # Минималистичный терминал. Основной у меня
|
||||||
kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает
|
kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает
|
||||||
|
|
||||||
# GUI
|
#########
|
||||||
|
## GUI ##
|
||||||
|
#########
|
||||||
|
|
||||||
nekoray # VPN # TODO: Настройки надо сделать декларативными
|
nekoray # VPN # TODO: Настройки надо сделать декларативными
|
||||||
ksnip # Скрины. Аналоги - Flameshot # TODO: Настройки надо сделать декларативными
|
ksnip # Скрины. Аналоги - Flameshot # TODO: Настройки надо сделать декларативными
|
||||||
kdePackages.ark # Архиватор
|
kdePackages.ark # Архиватор
|
||||||
qbittorrent # Торренты качать
|
qbittorrent # Торренты качать
|
||||||
thunderbird # Почтовый клиент для своей почты
|
thunderbird # Почтовый клиент для своей почты
|
||||||
opentabletdriver # Дрова на графический планшет # TODO: Настройки надо сделать декларативными?
|
|
||||||
screenkey # A screencast tool to display your keys
|
screenkey # A screencast tool to display your keys
|
||||||
pavucontrol # PulseAudio Volume Control
|
pavucontrol # PulseAudio Volume Control
|
||||||
# pwvucontrol # Pipewire Volume Control (Не знаю может ли полностью заменить pavucontrol)
|
# pwvucontrol # Pipewire Volume Control (Не знаю может ли полностью заменить pavucontrol)
|
||||||
|
|
@ -92,17 +160,24 @@
|
||||||
brightnessctl # Brightness control for laptop
|
brightnessctl # Brightness control for laptop
|
||||||
gcolor3 # GUI color picker
|
gcolor3 # GUI color picker
|
||||||
xcolor # CLI color picker https://github.com/Soft/xcolor
|
xcolor # CLI color picker https://github.com/Soft/xcolor
|
||||||
|
# goverlay # UI для редактирования конфигов. Мне для mangohud нужен
|
||||||
|
|
||||||
|
##############
|
||||||
|
## Browsers ##
|
||||||
|
##############
|
||||||
|
|
||||||
# Browsers
|
|
||||||
librewolf
|
librewolf
|
||||||
firefox
|
firefox
|
||||||
chromium
|
chromium
|
||||||
ff2mpv # Open online videos in mpv
|
ff2mpv # Open online videos in mpv
|
||||||
lynx # Текстовый браузер в терминале. Без картинок
|
lynx # Текстовый браузер в терминале. Без картинок
|
||||||
|
|
||||||
# Docs
|
##########
|
||||||
|
## Docs ##
|
||||||
|
##########
|
||||||
|
|
||||||
evince # Смотреть документы (так же превью PDF файлов для Thunar) (не читает FB2)
|
evince # Смотреть документы (так же превью PDF файлов для Thunar) (не читает FB2)
|
||||||
#papers # Я так понимаю это современная замена для evince под GTK4. Оба от gnome
|
# papers # Я так понимаю это современная замена для evince под GTK4. Оба от gnome
|
||||||
libreoffice # Редактировать документы
|
libreoffice # Редактировать документы
|
||||||
hunspell # Проверка орфографии для libreoffice
|
hunspell # Проверка орфографии для libreoffice
|
||||||
hunspellDicts.ru_RU # Словарь для проверки орфографии
|
hunspellDicts.ru_RU # Словарь для проверки орфографии
|
||||||
|
|
@ -110,7 +185,10 @@
|
||||||
calibre # Работа с ebook. Иногда даёт thumbnail в файловом менеджере
|
calibre # Работа с ebook. Иногда даёт thumbnail в файловом менеджере
|
||||||
drawio # Desktop application for creating diagrams. Вроде даёт thumbnail в ranger
|
drawio # Desktop application for creating diagrams. Вроде даёт thumbnail в ranger
|
||||||
|
|
||||||
# File managers
|
###################
|
||||||
|
## File managers ##
|
||||||
|
###################
|
||||||
|
|
||||||
yazi # Terminal file manager
|
yazi # Terminal file manager
|
||||||
ranger # Terminal file manager
|
ranger # Terminal file manager
|
||||||
xfce.thunar # GUI file manager (допы выше в `programs` и `services`)
|
xfce.thunar # GUI file manager (допы выше в `programs` и `services`)
|
||||||
|
|
@ -122,7 +200,10 @@
|
||||||
f3d # Fast and minimalist 3D viewer using VTK. Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx.
|
f3d # Fast and minimalist 3D viewer using VTK. Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx.
|
||||||
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger, но мб пригодится и в других местах
|
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger, но мб пригодится и в других местах
|
||||||
|
|
||||||
# File support
|
##################
|
||||||
|
## File support ##
|
||||||
|
##################
|
||||||
|
|
||||||
kdePackages.kimageformats # Image format plugins for Qt 6
|
kdePackages.kimageformats # Image format plugins for Qt 6
|
||||||
kdePackages.qtimageformats # Plugins for additional image formats: TIFF, MNG, TGA, WBMP
|
kdePackages.qtimageformats # Plugins for additional image formats: TIFF, MNG, TGA, WBMP
|
||||||
kdePackages.qtsvg # SVG support
|
kdePackages.qtsvg # SVG support
|
||||||
|
|
@ -140,7 +221,10 @@
|
||||||
imath # EXR format support
|
imath # EXR format support
|
||||||
openexr # High dynamic-range (HDR) image file format
|
openexr # High dynamic-range (HDR) image file format
|
||||||
|
|
||||||
# Media
|
###########
|
||||||
|
## Media ##
|
||||||
|
###########
|
||||||
|
|
||||||
strawberry # Музыкальный плеер # TODO: Настройки надо сделать декларативными
|
strawberry # Музыкальный плеер # TODO: Настройки надо сделать декларативными
|
||||||
obs-studio # Запись видео # TODO: Настройки надо сделать декларативными
|
obs-studio # Запись видео # TODO: Настройки надо сделать декларативными
|
||||||
picard # Массовый редактор метаданных музыки
|
picard # Массовый редактор метаданных музыки
|
||||||
|
|
@ -151,31 +235,63 @@
|
||||||
qview # Смотреть картинки 2. Если imv не может что-то открыть
|
qview # Смотреть картинки 2. Если imv не может что-то открыть
|
||||||
viewnior # До перехода на wayland юзал его. Если сортирует лучше imv, то удалить imv
|
viewnior # До перехода на wayland юзал его. Если сортирует лучше imv, то удалить imv
|
||||||
|
|
||||||
# Social
|
############
|
||||||
|
## Social ##
|
||||||
|
############
|
||||||
|
|
||||||
(pkgs.discord.override { # Discord
|
(pkgs.discord.override { # Discord
|
||||||
withOpenASAR = true; # Оптимизатор дискрода?
|
withOpenASAR = true; # Оптимизатор дискрода?
|
||||||
withVencord = true; # Имба плагины # TODO: Настройки надо сделать декларативными
|
withVencord = true; # Имба плагины # TODO: Настройки надо сделать декларативными
|
||||||
})
|
})
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
|
|
||||||
# Games
|
###########
|
||||||
# steam
|
## Games ##
|
||||||
# inputs.nix-gaming.packages.${pkgs.system}.osu-stable # osu!stable from nix-gaming
|
###########
|
||||||
|
|
||||||
|
# steam # Мб не надо сюда писать, раз через programs.steam редачу
|
||||||
|
# inputs.nix-gaming.packages.${pkgs.system}.osu-stable # osu!stable from nix-gaming
|
||||||
|
# heroic # A Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||||
|
# lutris # Запускать игры не из стима
|
||||||
|
bottles # Минималистичная альтернатива lutris
|
||||||
|
|
||||||
|
############
|
||||||
|
## Design ##
|
||||||
|
############
|
||||||
|
|
||||||
# Design
|
|
||||||
krita # Рисовать 1. Часто крашится
|
krita # Рисовать 1. Часто крашится
|
||||||
gimp # Рисовать 2. Потом выберу что оставить
|
gimp # Рисовать 2. Потом выберу что оставить
|
||||||
blender-hip # 3д графика и рендер видео
|
blender-hip # 3д графика и рендер видео
|
||||||
|
|
||||||
# Productivity
|
##################
|
||||||
|
## Productivity ##
|
||||||
|
##################
|
||||||
|
|
||||||
obsidian # Заметки
|
obsidian # Заметки
|
||||||
planify # Task manager
|
planify # Task manager
|
||||||
|
|
||||||
# IDE (neovim мб не надо писать, он у меня необычный через nixvim flake)
|
#########
|
||||||
vscode
|
## IDE ##
|
||||||
|
#########
|
||||||
|
|
||||||
|
# neovim # Мб не надо писать, он у меня необычный через nixvim flake
|
||||||
|
vscode # Мб надо в home.packages писать, чтоб расширения ставились без рута
|
||||||
# vscodium # VSCode без телеметрии и прочего кала. Не имеет обратной совместимости с расширениями vscode
|
# vscodium # VSCode без телеметрии и прочего кала. Не имеет обратной совместимости с расширениями vscode
|
||||||
jetbrains-toolbox
|
jetbrains-toolbox # Если геморрой, то качай IDE отдельно https://nixos.wiki/wiki/Jetbrains_Tools
|
||||||
|
# jetbrains.webstorm
|
||||||
|
# jetbrains.rust-rover
|
||||||
|
# jetbrains.pycharm-professional
|
||||||
|
# jetbrains.goland
|
||||||
|
# jetbrains.clion
|
||||||
helix # A Kakoune / Neovim inspired editor, written in Rust.
|
helix # A Kakoune / Neovim inspired editor, written in Rust.
|
||||||
|
|
||||||
|
###########
|
||||||
|
## Other ##
|
||||||
|
###########
|
||||||
|
|
||||||
|
qmk # Прошивка для моих раздельных клавиатур
|
||||||
|
vial # GUI для qmk, если клавиатура поддерживает
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Add table
Reference in a new issue