Merge branch 'main'
This commit is contained in:
commit
704d39b023
22 changed files with 558 additions and 515 deletions
101
README.md
101
README.md
|
|
@ -18,6 +18,7 @@
|
|||
- [Первый способ](#первый-способ)
|
||||
- [Второй способ](#второй-способ)
|
||||
- [После установки надо](#после-установки-надо)
|
||||
- [Изменения для виртуалок](#изменения-для-виртуалок)
|
||||
- [Иконки](#иконки)
|
||||
- [Темы](#темы)
|
||||
|
||||
|
|
@ -132,28 +133,10 @@
|
|||
|
||||
### Ребилд крашит систему
|
||||
|
||||
Эта проблема была раньше. Сейчас исправлена. Но заметку оставлю, вдруг пригодится в будущем
|
||||
|
||||
Ребилд системы через `switch` или `test` кладёт нахуй систему. Чёрный экран без возможности переключить tty через `ctrl + alt + F1-F7`. Можно юзать `boot`, чтоб после ребута пк применялось. Тогда не крашит и после ребута всё работает.
|
||||
|
||||
Примерный список того, что я сделал, после чего ребилд пошёл по пизде
|
||||
- Сделал `polybar` и `sxhkd` не сервисом, а пакетом через `home.packages` и конфиги через `.text`
|
||||
- Установил `cage` как сервис для запуска wayland приложений на иксах
|
||||
- Установил `weston` как пакет для запуска wayland приложений на иксах
|
||||
- Включил виртуализацию `waydroid`
|
||||
- Включил `i3`
|
||||
- Добавил симлинк на пакет `ff2mpv` в home. Чтоб браузер туда обращался
|
||||
- Добавил параметр для gnupg в виде `pinentryPackage`. Указал qt
|
||||
- Сделал стили для `rofi`
|
||||
- Установил `python3`
|
||||
- Установил `rocm-smi` для отображения gpu в btop (не работает)
|
||||
|
||||
Потом я обновил репы в надежде исправить всю хуйню. И один раз оно и правда обновило всё без проблем. Некст ребилды снова стали идти по пизде
|
||||
|
||||
Хуйни, на которых всё зависает и падает блять
|
||||
`starting the following units: accounts-daemon.service`
|
||||
`restarting the following units: home-manager-buliway.service`
|
||||
|
||||
Первый ребилд был нормальный вроде. Потом я ребутнул пк, чтоб проверить работу полибара, а всё пошло по пизде при некст ребутах
|
||||
|
||||
#### Потенциальный способ исправить проблему
|
||||
|
||||
Есть следующие два параметра:
|
||||
|
|
@ -164,6 +147,10 @@
|
|||
|
||||
Я сделал это для одного сервиса в `nixos/configuration.nix`. Мне помогло. Но если будут ещё сервисы, ребилд на которых зависает и после него крашится система, то можно пробовать запретить рестарт при ребилде.
|
||||
|
||||
#### Реальный способ исправить проблему
|
||||
|
||||
Походу дело было в сервисе `cage`. Когда я его удалил, то всё стало работать нормально
|
||||
|
||||
## TODO
|
||||
|
||||
Надо сделать декларативную QT тему (ебал их рты). Сейчас у меня есть три каталог в каталоге `shit`. Их я могу скопировать в `~/.config`, нужная переменная окружения в `home.nix` стоит и всё заработает. Но это залупа. Другой человек не сможет это юзать мб. Потому что там в коде написан путь `/home/buliway`. Не всем же быть буливеями. Хотя это изи исправляется, потом сделаю. Но пока что я рот ебал тратить 3 дня на настройку темы бездарных далбаёбов на QT.
|
||||
|
|
@ -190,9 +177,9 @@
|
|||
- Motherboard: MSI Z590-A PRO
|
||||
- Два монитора 1920x1080 на 165 и 100 герц
|
||||
|
||||
Основное набор софта
|
||||
Основной набор софта
|
||||
|
||||
Изначально я написал конфиги для `bspwm` + `polybar`. Но так как оба эти проги созданы далбаёбами бездарными, я переехал на `i3` + `i3bar`. В теории между ними можно переключаться при запуске пк, так что проблем быть не должно.
|
||||
Изначально я написал конфиги для `bspwm` + `polybar`. Но так как оба эти проги созданы далбаёбами бездарными, я перееду на `i3` + `i3bar`. В теории между ними можно переключаться при запуске пк, так что проблем быть не должно. Если какой-то wm надо выключить, чтоб не засирать систему, то это можно делать в `modules/home-manager/bundle.nix`
|
||||
|
||||
| Software | Name |
|
||||
| ------------ | -------------------------------- |
|
||||
|
|
@ -207,7 +194,7 @@
|
|||
| ScreenLock | betterlockscreen/i3lock |
|
||||
| Notification | Dunst |
|
||||
| Files | Thunar, Ranger |
|
||||
| Images | qView, imv, viewnior, feh |
|
||||
| Images | qView, imv, feh |
|
||||
| Video | mpv with plugins |
|
||||
| Music | Strawberry, Picard, Mousai, spek |
|
||||
| Browsers | Librewolf, Firefox, Chromium |
|
||||
|
|
@ -321,7 +308,7 @@ xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
|
|||
|
||||
Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик. При установке выбираем минимальный вариант, без DE.
|
||||
|
||||
Кто-то говорит, что потом достаточно просто забилдить одной командой чужой конфиг, но это не так. Будет ошибка, что нет гита. Если использовать nix-shell для гита, то скажет, что нет экспериментальной функции. Либо писать огромную команду, либо, как советую сделать я, изменить стоковый конфиг никса. Для этого пишет следующее:
|
||||
Кто-то говорит, что потом достаточно просто забилдить одной командой чужой конфиг, но это не так. Будет ошибка, что нет гита. Если использовать nix-shell для гита, то скажет, что нет экспериментальной функции. Либо писать огромную команду, либо, как советую сделать я, изменить стоковый конфиг никса. Для этого пишем следующее:
|
||||
|
||||
```sh
|
||||
sudo nano /etc/nixos/configuration.nix
|
||||
|
|
@ -355,15 +342,19 @@ sudo nano /etc/nixos/configuration.nix
|
|||
sudo nixos-rebuild switch
|
||||
```
|
||||
|
||||
Дальше есть два способа. Перед использованием любого из них я рекомендую сделать форк и внести следующие изменения в конфиг перед установкой:
|
||||
Дальше есть два способа. Перед использованием любого из них я рекомендую сделать форк и внести следующие изменения в конфиг перед установкой (либо можно сделать гит клон и через nano внести изменения для первых трёх пунктов, остальное менять на готовой системе):
|
||||
|
||||
- Заменить имя юзера на своё. Для этого надо открыть файл `nixos/configuration.nix` и заменить переменную `username` на ник своего юзера. И открыть файл `nixos/home.nix`, где надо заменить `username` и `homeDirectory`.
|
||||
- Изменить параметры мониторов в `modules/home-manager/wm/bspwm/bspwm.nix`. Для этого через xrandr надо узнать параметры экрана. Либо закомментить настройки мониторов и посмотреть как будет работать из коробки.
|
||||
- Изменить gpu драйвер, если видеокарта не от amd. Самый простой вариант - закомментировать `videoDrivers` в `modules/nixos/xserver.nix`, `boot.initrd.kernelModules` и всю категорию настроек `amdgpu` в `modules/nixos/hardware.nix`. Мб он сам подберёт подходящий драйвер. Если же знаешь конкретные настройки, которые надо ставить, то пишешь их.
|
||||
- Изменить настройки звука в `modules/nixos/sound.nix`. Там надо закомментировать `default.clock.allowed-rates` с кучей разных частот. Они сделаны для моего цапа, но у большинства людей это может вызвать ошибки. Те, кто знают что это и зачем, те изменят под себя.
|
||||
- Закомментировать/удалить `./symlinks.nix` в файле `modules/home-manager/bundle.nix`. Там написаны симлинки для второго ссд, где я бекаплю браузер и тд. Ребилд выдаст ошибку, если другой человек попробует использовать этот же конфиг.
|
||||
- Закомментировать/удалить `./filesystems.nix` в файле `modules/nixos/bundle.nix`. Там монтируется мой второй ссд для бекапов. Ребилд выдаст ошибку, если другой человек попробует использовать этот же конфиг.
|
||||
- Закомментировать/удалить `./hibernate.nix` в файле `modules/nixos/bundle.nix`. Там создаётся хибернация в файл подкачки по uuid. Ребилд выдаст ошибку, если другой человек попробует использовать этот же конфиг.
|
||||
- Переменную `username` в `nixos/configuration.nix`.
|
||||
- `username` и `homeDirectory` в `nixos/home.nix`.
|
||||
- `userName` и `userEmail` в `modules/home-manager/terminal/git.nix`.
|
||||
|
||||
А это можно донастроить уже в готовой системе
|
||||
- Путь до `home` в `shit/qt5ct/qt5ct.conf` и `shit/qt6ct/qt6ct.conf`.
|
||||
- Параметры мониторов закомментированы в файле `modules/home-manager/wm/bspwm/bspwm.nix`. Можно указать по желанию. Команда xrandr покажет доступные значения и имена мониторов.
|
||||
- Если видеокарта от amd, то, чтоб не было тиринга, надо раскомментировать `videoDrivers` в `modules/nixos/xserver.nix`, `boot.initrd.kernelModules` и всю категорию настроек `amdgpu` в `modules/nixos/hardware.nix`.
|
||||
- Если надо задать симлинки, то для этого есть файл `modules/home-manager/symlinks.nix`. Там сейчас мои симлинки, их лучше удалить. Чтоб файл заработал, надо раскомментировать `./symlinks.nix` в файле `modules/home-manager/bundle.nix`.
|
||||
- Если надо монтировать другие диски, то для этого есть файл `modules/nixos/filesystems.nix`. Там сейчас мой второй ссд. Чтоб файл заработал, надо раскомментировать `./filesystems.nix` в файле `modules/nixos/bundle.nix`.
|
||||
- Если нужна гибернация, то её можно настроить в `modules/nixos/hibernate.nix`. Там надо указать uuid и офсет для swap файла. Чтоб файл заработал, надо раскомментировать `./hibernate.nix` в файле `modules/nixos/bundle.nix`.
|
||||
|
||||
С гитом есть нюанс. Если захочешь потом создать свои конфиги или добавить новые файлы, на которые надо ссылаться из nix, то надо указывать либо полный путь до файла, либо добавлять файл в гит. Если указывать относительный путь, как сделано в моих `bundle.nix`, то все эти файлы должны находиться в гите, либо каталог дотсов должен быть без гита вовсе. Если в каталоге дотсов инициализирован репозиторий гита, то в относительных путях он не видит файлы из `gitignore` или просто не отслеживаемые гитом файлы.
|
||||
|
||||
|
|
@ -373,6 +364,9 @@ sudo nixos-rebuild switch
|
|||
```sh
|
||||
sudo nixos-rebuild boot --flake github:Buliway/nixos-private-dots --impure
|
||||
```
|
||||
|
||||
Чтоб использовать с репой forgejo, можно попробовать такой синтаксис `git@git.buliway.ru:Buliway/nixos-private-dots`.
|
||||
|
||||
Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`.
|
||||
|
||||
### Второй способ
|
||||
|
|
@ -395,8 +389,10 @@ sudo nixos-rebuild boot --impure --flake ~/nixos-private-dots
|
|||
size = 64*1024; # В мегабайтах
|
||||
} ];
|
||||
```
|
||||
- Включить гибренацию в `modules/nixos/hibernate.nix`
|
||||
- Настроить гибренацию в `modules/nixos/hibernate.nix`
|
||||
- Активировать скрипт в `shit` каталоге, чтоб скопировать нужные конфиги в нужные каталоги. Симлинки не работают
|
||||
- Настроить приложения `Qt5 Settings`, `Qt6 Settings` и `Kvantum`. Там надо выбрать свою системную тему. Вроде всё интуитивно понятно будет. Можно попробовать обновить систему, в надежде, что системная тема `stylix` начнёт работать с приложениями `qt`. Для этого надо будет закомментить настройки `qt` в конфиге `stylix`.
|
||||
- Руками настроить `thunar`, бинды для `ksnip`, `discord`, `telegram`, `steam` и `strawberry`
|
||||
- Добавить gpg ключи
|
||||
```sh
|
||||
gpg --import /path/to/your-key.gpg
|
||||
|
|
@ -408,6 +404,45 @@ gpg --edit-key ID-ключа
|
|||
```
|
||||
В этом режиме надо написать trust и выбрать степень доверия. Например 5 для своих ключей можно задать, это прям самое максимально доверие. Потом Ctrl + D чтоб выйти.
|
||||
|
||||
## Изменения для виртуалок
|
||||
|
||||
Это надо, чтоб включить коннект по ssh к виртуалке и сделать с ней общий буфер обмена. Ну и ещё параметры экрана меняю на один 1080p монитор на 60 герц.
|
||||
|
||||
В файле `modules/nixos/virtualisation.nix` раскомментировать эти строки:
|
||||
```diff
|
||||
+ services = {
|
||||
+ openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал.
|
||||
+ spice-vdagentd.enable = true; # Clipboard sharing
|
||||
+ qemuGuest = {
|
||||
+ enable = true; # Fix resolution
|
||||
+ package = pkgs.qemu_full;
|
||||
+ };
|
||||
+ };
|
||||
```
|
||||
В файле `modules/home-manager/wm/bspwm/bspwm.nix` изменить эти строки:
|
||||
```diff
|
||||
extraConfigEarly = ''
|
||||
- xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165
|
||||
- xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
|
||||
+ xrandr --output Virtual-1 --mode 1920x1080 --rate 60
|
||||
'';
|
||||
|
||||
startupPrograms = [
|
||||
- # "spice-vdagent" # Для виртуалки
|
||||
+ "spice-vdagent" # Для виртуалки
|
||||
];
|
||||
```
|
||||
|
||||
## Запуск Waydroid на X11
|
||||
|
||||
Один раз написать в терминале `waydroid init`
|
||||
|
||||
- Запустить `weston`
|
||||
- В его терминале написать `waydroid session start &`
|
||||
- Потом `waydroid show-full-ui`
|
||||
|
||||
На weston всё работает сразу как надо. Но стоит изменить размеры окна, как waydroid ui пропадает. Приходится стопать и по новой запускать отображение
|
||||
|
||||
|
||||
## Иконки
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
# ./browsers/chromium.nix
|
||||
# ./browsers/firefox.nix
|
||||
# ./browsers/librewolf.nix
|
||||
./browsers/lynx.nix
|
||||
|
||||
./ranger/ranger.nix
|
||||
|
||||
|
||||
./gui/vscode.nix
|
||||
|
||||
./imv/imv.nix
|
||||
|
|
@ -17,19 +11,39 @@
|
|||
./terminal/alacritty.nix
|
||||
./terminal/git.nix
|
||||
./terminal/kitty.nix
|
||||
./terminal/lynx.nix
|
||||
./terminal/starship.nix
|
||||
./terminal/zellij.nix
|
||||
./terminal/zsh.nix
|
||||
|
||||
./wm/bspwm/bspwm.nix
|
||||
./mangohud.nix
|
||||
# ./pipewire.nix
|
||||
# ./symlinks.nix
|
||||
|
||||
##############
|
||||
## WM (X11) ##
|
||||
##############
|
||||
|
||||
# Софт для работы WM на X11
|
||||
./wm/rofi/rofi.nix
|
||||
./wm/dunst.nix
|
||||
./wm/i3.nix
|
||||
./wm/lockscreen.nix
|
||||
./wm/polybar.nix
|
||||
./wm/sxhkd.nix
|
||||
|
||||
./mangohud.nix
|
||||
./symlinks.nix
|
||||
# Для выключения i3 комментируй все строки ниже
|
||||
./wm/i3.nix
|
||||
|
||||
# Для выключения bspwm комментируй все строки ниже
|
||||
./wm/bspwm/bspwm.nix
|
||||
./wm/bspwm/polybar.nix
|
||||
./wm/bspwm/sxhkd.nix
|
||||
|
||||
##################
|
||||
## WM (Wayland) ##
|
||||
##################
|
||||
|
||||
# Wayland гавно лаганое, но мб на NixOS дела будут лучше
|
||||
# Мб я сделаю конфиги для sway и hyprland на ags
|
||||
# Каталог wm мб переименовать в X11 и создать отдельный Wayland
|
||||
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
11
modules/home-manager/pipewire.nix
Normal file
11
modules/home-manager/pipewire.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Раз через sound.nix не работает, ставя лишние символы
|
||||
# То я буду делать симлинк в хоум. Ребут пипы:
|
||||
# systemctl --user restart pipewire
|
||||
|
||||
{
|
||||
xdg.configFile."pipewire/pipewire.conf".text = ''
|
||||
context.properties = {
|
||||
default.clock.allowed-rates = [ 44100 48000 88200 96000 176400 192000 352800 384000 705600 768000 ]
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Надо удалить оригинальный файл, прежде чем делать симлинк
|
||||
# Некоторые проги клали хуй на симлинки и заменяют их своими файлами
|
||||
# Таких прог я ебал рот и проклинал хуесосов разработчиков
|
||||
# Если выдаёт ошибку про home-manager сервир при ребилде,
|
||||
# Если выдаёт ошибку про home-manager сервис при ребилде,
|
||||
# Значит такой файл уже существует и симлинк туда кинуть нельзя
|
||||
# Для таких файлов я сделал каталог shit
|
||||
|
||||
|
|
@ -33,17 +33,6 @@ in {
|
|||
|
||||
"Downloads/Telegram Desktop".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Telegram Desktop";
|
||||
|
||||
# Временное решение, где `native-messaging-hosts/ff2mpv.json` ссылается на ~/ff2mpv.py
|
||||
"ff2mpv.py" = {
|
||||
source = "${pkgs.ff2mpv}/bin/ff2mpv.py";
|
||||
executable = true;
|
||||
};
|
||||
# Надо добавить симлинк на `native-messaging-hosts/ff2mpv.json`.
|
||||
# Сначала установить это на firefox, который мне не особо важен
|
||||
# А потом задать симлинк с firefox на librewolf, который мне важен
|
||||
# и который я не хочу редактировать через nix
|
||||
|
||||
|
||||
# Не знаю на счёт obs, chatbox, planify, calibre, discord, nekobox
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -66,30 +66,16 @@
|
|||
#"command-not-found" # Скажет какой пакет скачать, если команда не найдена
|
||||
"copypath" # В терминале "copypath" скопирует нынешний абсолютный путь. Можно "copypath файл или дироктория"
|
||||
"dirhistory" # Лютая имба https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/dirhistory
|
||||
#"docker-compose" # Completion and aliases for frequent docker-compose commands
|
||||
#"docker" # Completion and aliases for docker
|
||||
"extract" # В терминале "extract filename" чтоб разархивировать файл. Одна команда на все архивы
|
||||
"fzf" # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fzf
|
||||
"git" # Git aliases https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git
|
||||
# "gitignore" # Use https://gitignore.io from the command line
|
||||
"golang" # Completions and aliases for golang
|
||||
# "gpg-agent" # Enables GPG's gpg-agent if it is not running. Хз что это значит, мб пригодится
|
||||
"httpie" # Completion for HTTPie, a command line HTTP client, a friendlier cURL replacement.
|
||||
# "isodate" # Completion for the ISO 8601, as well as some aliases for common Date commands.
|
||||
# "kitty" # Aliases for kitty terminal
|
||||
# "mise" # dev tools, env vars, task runner https://github.com/jdx/mise
|
||||
# "npm" # Completion and aliases for npm
|
||||
# "nvm" # Autocompletions for nvm — a Node.js version manager
|
||||
# "pass" # Completion for the pass password manager
|
||||
# "pip" # Completion for pip, the Python package manager
|
||||
# "podman" # Autocompletion and aliases for podman.
|
||||
"python" # Aliases for useful Python commands
|
||||
"rust" # Completion for rustc, rustup and cargo
|
||||
"pass" # Completion for the pass password manager (вдруг добавит нечёткий поиск?)
|
||||
"safe-paste" # Preventing any code from running while pasting, so you have a chance to review what was pasted
|
||||
"ssh-agent" # Автостарт ssh-agent. Хз надо ли настраивать и если да, то как
|
||||
# "starship" # А надо ли оно? Я для starship написал отдельно вкл интеграции в его файле настроек
|
||||
# "systemadmin" # Adds a series of aliases and functions which make a System Administrator's life easier
|
||||
"systemd" # Many useful aliases for systemd
|
||||
"timer" # Показывает время выполнения команды
|
||||
"universalarchive" # Run "ua <format> <files>"" to compress <files> into an archive file using <format>
|
||||
# "vi-mode" # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/vi-mode
|
||||
|
|
|
|||
|
|
@ -7,16 +7,18 @@
|
|||
# Как я понял, эти команды выполняются в начале bspwmrc
|
||||
# Ниже настройки для основного монитора. Мб вместе с --primary надо
|
||||
# И настройки для второго (правого) монитора
|
||||
extraConfigEarly = ''
|
||||
xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165
|
||||
xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
|
||||
'';
|
||||
# extraConfigEarly = ''
|
||||
# xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165
|
||||
# xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
|
||||
# '';
|
||||
|
||||
# Эти команды выполняются в конце bspwmrc
|
||||
extraConfig = ''
|
||||
for m in $(polybar --list-monitors | cut -d":" -f1); do
|
||||
MONITOR=$m polybar --reload bottom &
|
||||
done
|
||||
if [[ "$XDG_SESSION_DESKTOP" == *"bspwm"* ]]; then
|
||||
for m in $(polybar --list-monitors | cut -d":" -f1); do
|
||||
MONITOR=$m polybar --reload bspwm &
|
||||
done
|
||||
fi
|
||||
'';
|
||||
|
||||
startupPrograms = [
|
||||
|
|
@ -27,6 +29,7 @@
|
|||
# "nekoray"
|
||||
# "obsidian"
|
||||
# "planify"
|
||||
# "spice-vdagent" # Для виртуалки
|
||||
];
|
||||
|
||||
monitors = let
|
||||
|
|
@ -60,25 +63,24 @@
|
|||
state = "floating";
|
||||
};
|
||||
in { # А тут правила окон
|
||||
# "Polybar" = { layer = "below"; };
|
||||
"Screenkey" = { manage = false; };
|
||||
"gcolor3" = floating;
|
||||
"obs" = floating;
|
||||
"steam" = floating;
|
||||
"steam:steamwebhelper:Steam" = { state = "tiled"; };
|
||||
"krita" = { state = "tiled"; };
|
||||
"krita:krita:Krita - Edit Text" = floating; # мб надо "Krita - Edit Text — Krita"
|
||||
"krita:krita:Krita - Edit Text" = floating;
|
||||
"krita:krita:Create new document" = floating;
|
||||
"librewolf:librewolf:Save Image" = floating;
|
||||
"SshAskpass" = floating;
|
||||
"Nm-connection-editor" = floating;
|
||||
"nekoray" = floating;
|
||||
"Kvantum Manager" = floating;
|
||||
"qt5ct" = floating;
|
||||
"qt6ct" = floating;
|
||||
"ksnip" = floating1600x900;
|
||||
# "ark" = floating1200x800; # Удалил, чтоб blowjob на экран не выдавало
|
||||
"file-roller" = floating1200x800;
|
||||
"nekoray" = floating1200x800;
|
||||
"floating-terminal" = floating1200x800;
|
||||
"Kvantum Manager" = floating1200x800;
|
||||
"qt5ct" = floating1200x800;
|
||||
"qt6ct" = floating1200x800;
|
||||
"pavucontrol" = floating900x600;
|
||||
# blueman-манагер надо флоатинг
|
||||
};
|
||||
|
|
@ -126,4 +128,4 @@
|
|||
pointer_action3 = "resize_corner";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
352
modules/home-manager/wm/bspwm/polybar.nix
Normal file
352
modules/home-manager/wm/bspwm/polybar.nix
Normal file
|
|
@ -0,0 +1,352 @@
|
|||
# Про единицы измерения
|
||||
# Если просто написать число, то это будет количество пробелом в прямом смысле. Размер зависит от шрифта
|
||||
# Если указать pt (points), то это 1/72 часть дюйма, которая преобразуется в количество пикселей в зависимости от DPI монитора
|
||||
# Если указывать px, то это пиксели, логично
|
||||
# Интересные готовые скрипты для polybar https://github.com/polybar/polybar-scripts
|
||||
|
||||
# Если в трее не отображаются иконки, то вот вариант решения:
|
||||
# Put `export XDG_DATA_DIRS=~/.nix-profile/share:$XDG_DATA_DIRS` in `/etc/profile`
|
||||
# Взято отсюда https://www.reddit.com/r/voidlinux/comments/1apb5d0/comment/kqzabg6
|
||||
|
||||
# При наведении на имя окна сделать скрол фул имени через zscroll
|
||||
# Если лень не будет, то потом сделаю
|
||||
|
||||
# Варианты кликов мыши
|
||||
# click-left
|
||||
# click-middle
|
||||
# click-right
|
||||
# scroll-up
|
||||
# scroll-down
|
||||
# double-click-left
|
||||
# double-click-middle
|
||||
# double-click-right
|
||||
|
||||
{ pkgs, config, ... }: let
|
||||
rofiApps = "${config.home.homeDirectory}/.config/rofi/launcher.rasi";
|
||||
rofiPower = "${config.home.homeDirectory}/.config/rofi/power.rasi";
|
||||
monitor = "$\{env:MONITOR:\}";
|
||||
in { # Статус бар внизу
|
||||
services.polybar = {
|
||||
enable = true;
|
||||
|
||||
# Скрипт запуска polybar. Выключил. Включаю в bspwm.nix
|
||||
script = ''
|
||||
sleep 0
|
||||
'';
|
||||
|
||||
settings = { # Или переимоневать в "config"? Не понял в чём разница
|
||||
"bar/bspwm" = {
|
||||
monitor = "\${env:MONITOR:}";
|
||||
|
||||
bottom = true;
|
||||
fixed-center = true;
|
||||
enable-ipc = true;
|
||||
double-click-interval = 400;
|
||||
offset-x = 0;
|
||||
offset-y = 0;
|
||||
|
||||
width = "100%";
|
||||
height = "16pt";
|
||||
radius = 0;
|
||||
dpi = 0;
|
||||
background = config.lib.stylix.colors.base00;
|
||||
foreground = config.lib.stylix.colors.base07;
|
||||
border-color = config.lib.stylix.colors.base00;
|
||||
border-size = "4pt";
|
||||
module-margin = "4pt";
|
||||
separator = "|";
|
||||
separator-foreground = config.lib.stylix.colors.base0F;
|
||||
|
||||
modules-left = "bspwm title";
|
||||
modules-center = "time";
|
||||
modules-right = "cpu memory alsa tray xkeyboard rofi power";
|
||||
wm-restack = "bspwm";
|
||||
|
||||
font-0 = "NotoSans Nerd Font:style=Regular:size=12;3";
|
||||
|
||||
# Выблядки не могут юзать все Noto Sans при указании одного шрифта
|
||||
# А ещё дауны не могут отображать смайлики нормально
|
||||
# Там кусок дерьма на пол экрана
|
||||
font-1 = "Noto Sans:size=12;3";
|
||||
font-2 = "Noto Sans CJK HK:size=12;3";
|
||||
font-3 = "Noto Sans CJK JP:size=12;3";
|
||||
font-4 = "Noto Sans CJK KR:size=12;3";
|
||||
font-5 = "Noto Sans CJK SC:size=12;3";
|
||||
font-6 = "Noto Sans CJK TC:size=12;3";
|
||||
font-7 = "Unifont:style=Regular:size=12;3";
|
||||
font-8 = "Noto Sans Balinese:size=12;3";
|
||||
font-9 = "Noto Sans Bamum:size=12;3";
|
||||
font-10 = "Noto Sans Zanabazar Square:size=12;3";
|
||||
font-11 = "Noto Sans Bassa Vah:size=12;3";
|
||||
font-12 = "Noto Sans Batak:size=12;3";
|
||||
font-13 = "Noto Sans Bengali:size=12;3";
|
||||
font-14 = "Noto Sans Bhaiksuki:size=12;3";
|
||||
font-15 = "Noto Sans Brahmi:size=12;3";
|
||||
font-16 = "Noto Sans Buginese:size=12;3";
|
||||
font-17 = "Noto Sans Buhid:size=12;3";
|
||||
font-18 = "Noto Sans Canadian Aboriginal:size=12;3";
|
||||
font-19 = "Noto Sans Carian:size=12;3";
|
||||
font-20 = "Noto Sans Caucasian Albanian:size=12;3";
|
||||
font-21 = "Noto Sans Chakma:size=12;3";
|
||||
font-22 = "Noto Sans Cham:size=12;3";
|
||||
font-23 = "Noto Sans Cherokee:size=12;3";
|
||||
font-24 = "Noto Sans Chorasmian:size=12;3";
|
||||
font-25 = "Noto Sans Adlam:size=12;3";
|
||||
font-26 = "Noto Sans Anatolian Hieroglyphs:size=12;3";
|
||||
font-27 = "Noto Sans Arabic:size=12;3";
|
||||
font-28 = "Noto Sans Armenian:size=12;3";
|
||||
font-29 = "Noto Sans Avestan:size=12;3";
|
||||
font-30 = "Noto Sans Elymaic:size=12;3";
|
||||
font-31 = "Noto Sans Coptic:size=12;3";
|
||||
font-32 = "Noto Sans Cuneiform:size=12;3";
|
||||
font-33 = "Noto Sans Cypriot:size=12;3";
|
||||
font-34 = "Noto Sans Cypro Minoan:size=12;3";
|
||||
font-35 = "Noto Sans Deseret:size=12;3";
|
||||
font-36 = "Noto Sans Devanagari:size=12;3";
|
||||
font-37 = "Noto Sans Duployan:size=12;3";
|
||||
font-38 = "Noto Sans Egyptian Hieroglyphs:size=12;3";
|
||||
font-39 = "Noto Sans Elbasan:size=12;3";
|
||||
font-40 = "Noto Sans Hanunoo:size=12;3";
|
||||
font-41 = "Noto Sans Ethiopic:size=12;3";
|
||||
font-42 = "Noto Sans Georgian:size=12;3";
|
||||
font-43 = "Noto Sans Glagolitic:size=12;3";
|
||||
font-44 = "Noto Sans Gothic:size=12;3";
|
||||
font-45 = "Noto Sans Grantha:size=12;3";
|
||||
font-46 = "Noto Sans Gujarati:size=12;3";
|
||||
font-47 = "Noto Sans Gunjala Gondi:size=12;3";
|
||||
font-48 = "Noto Sans Gurmukhi:size=12;3";
|
||||
font-49 = "Noto Sans Hanifi Rohingya:size=12;3";
|
||||
font-50 = "Noto Sans Kawi:size=12;3";
|
||||
font-51 = "Noto Sans Hatran:size=12;3";
|
||||
font-52 = "Noto Sans Hebrew:size=12;3";
|
||||
font-53 = "Noto Sans Imperial Aramaic:size=12;3";
|
||||
font-54 = "Noto Sans Indic Siyaq Numbers:size=12;3";
|
||||
font-55 = "Noto Sans Inscriptional Pahlavi:size=12;3";
|
||||
font-56 = "Noto Sans Inscriptional Parthian:size=12;3";
|
||||
font-57 = "Noto Sans Javanese:size=12;3";
|
||||
font-58 = "Noto Sans Kaithi:size=12;3";
|
||||
font-59 = "Noto Sans Kannada:size=12;3";
|
||||
font-60 = "Noto Sans Linear B:size=12;3";
|
||||
font-61 = "Noto Sans Kayah Li:size=12;3";
|
||||
font-62 = "Noto Sans Kharoshthi:size=12;3";
|
||||
font-63 = "Noto Sans Khmer:size=12;3";
|
||||
font-64 = "Noto Sans Khojki:size=12;3";
|
||||
font-65 = "Noto Sans Khudawadi:size=12;3";
|
||||
font-66 = "Noto Sans Lao:size=12;3";
|
||||
font-67 = "Noto Sans Lepcha:size=12;3";
|
||||
font-68 = "Noto Sans Limbu:size=12;3";
|
||||
font-69 = "Noto Sans Linear A:size=12;3";
|
||||
font-70 = "Noto Sans Math:size=12;3";
|
||||
font-71 = "Noto Sans Lisu:size=12;3";
|
||||
font-72 = "Noto Sans Lycian:size=12;3";
|
||||
font-73 = "Noto Sans Lydian:size=12;3";
|
||||
font-74 = "Noto Sans Mahajani:size=12;3";
|
||||
font-75 = "Noto Sans Malayalam:size=12;3";
|
||||
font-76 = "Noto Sans Mandaic:size=12;3";
|
||||
font-77 = "Noto Sans Manichaean:size=12;3";
|
||||
font-78 = "Noto Sans Marchen:size=12;3";
|
||||
font-79 = "Noto Sans Masaram Gondi:size=12;3";
|
||||
font-80 = "Noto Sans Mono CJK HK:size=12;3";
|
||||
font-81 = "Noto Sans Mayan Numerals:size=12;3";
|
||||
font-82 = "Noto Sans Medefaidrin:size=12;3";
|
||||
font-83 = "Noto Sans Meetei Mayek:size=12;3";
|
||||
font-84 = "Noto Sans Mende Kikakui:size=12;3";
|
||||
font-85 = "Noto Sans Meroitic:size=12;3";
|
||||
font-86 = "Noto Sans Miao:size=12;3";
|
||||
font-87 = "Noto Sans Modi:size=12;3";
|
||||
font-88 = "Noto Sans Mongolian:size=12;3";
|
||||
font-89 = "Noto Sans Mono:size=12;3";
|
||||
font-90 = "Noto Sans Nandinagari:size=12;3";
|
||||
font-91 = "Noto Sans Mono CJK JP:size=12;3";
|
||||
font-92 = "Noto Sans Mono CJK KR:size=12;3";
|
||||
font-93 = "Noto Sans Mono CJK SC:size=12;3";
|
||||
font-94 = "Noto Sans Mono CJK TC:size=12;3";
|
||||
font-95 = "Noto Sans Mro:size=12;3";
|
||||
font-96 = "Noto Sans Multani:size=12;3";
|
||||
font-97 = "Noto Sans Myanmar:size=12;3";
|
||||
font-98 = "Noto Sans Nabataean:size=12;3";
|
||||
font-99 = "Noto Sans Nag Mundari:size=12;3";
|
||||
font-100 = "Noto Sans Old Permic:size=12;3";
|
||||
font-101 = "Noto Sans Newa:size=12;3";
|
||||
font-102 = "Noto Sans New Tai Lue:size=12;3";
|
||||
font-103 = "Noto Sans NKo:size=12;3";
|
||||
font-104 = "Noto Sans Nushu:size=12;3";
|
||||
font-105 = "Noto Sans Ogham:size=12;3";
|
||||
font-106 = "Noto Sans Ol Chiki:size=12;3";
|
||||
font-107 = "Noto Sans Old Hungarian:size=12;3";
|
||||
font-108 = "Noto Sans Old Italic:size=12;3";
|
||||
font-109 = "Noto Sans Old North Arabian:size=12;3";
|
||||
font-110 = "Noto Sans Pau Cin Hau:size=12;3";
|
||||
font-111 = "Noto Sans Old Persian:size=12;3";
|
||||
font-112 = "Noto Sans Old Sogdian:size=12;3";
|
||||
font-113 = "Noto Sans Old South Arabian:size=12;3";
|
||||
font-114 = "Noto Sans Old Turkic:size=12;3";
|
||||
font-115 = "Noto Sans Oriya:size=12;3";
|
||||
font-116 = "Noto Sans Osage:size=12;3";
|
||||
font-117 = "Noto Sans Osmanya:size=12;3";
|
||||
font-118 = "Noto Sans Pahawh Hmong:size=12;3";
|
||||
font-119 = "Noto Sans Palmyrene:size=12;3";
|
||||
font-120 = "Noto Sans Shavian:size=12;3";
|
||||
font-121 = "Noto Sans Phags-Pa:size=12;3";
|
||||
font-122 = "Noto Sans PhagsPa:size=12;3";
|
||||
font-123 = "Noto Sans Phoenician:size=12;3";
|
||||
font-124 = "Noto Sans Psalter Pahlavi:size=12;3";
|
||||
font-125 = "Noto Sans Rejang:size=12;3";
|
||||
font-126 = "Noto Sans Runic:size=12;3";
|
||||
font-127 = "Noto Sans Samaritan:size=12;3";
|
||||
font-128 = "Noto Sans Saurashtra:size=12;3";
|
||||
font-129 = "Noto Sans Sharada:size=12;3";
|
||||
font-130 = "Noto Sans Symbols 2:size=12;3";
|
||||
font-131 = "Noto Sans Siddham:size=12;3";
|
||||
font-132 = "Noto Sans SignWriting:size=12;3";
|
||||
font-133 = "Noto Sans Sinhala:size=12;3";
|
||||
font-134 = "Noto Sans Sogdian:size=12;3";
|
||||
font-135 = "Noto Sans Sora Sompeng:size=12;3";
|
||||
font-136 = "Noto Sans Soyombo:size=12;3";
|
||||
font-137 = "Noto Sans Sundanese:size=12;3";
|
||||
font-138 = "Noto Sans Syloti Nagri:size=12;3";
|
||||
font-139 = "Noto Sans Symbols:size=12;3";
|
||||
font-140 = "Noto Sans Telugu:size=12;3";
|
||||
font-141 = "Noto Sans Syriac:size=12;3";
|
||||
font-142 = "Noto Sans Tagalog:size=12;3";
|
||||
font-143 = "Noto Sans Tagbanwa:size=12;3";
|
||||
font-144 = "Noto Sans Tai Le:size=12;3";
|
||||
font-145 = "Noto Sans Tai Tham:size=12;3";
|
||||
font-146 = "Noto Sans Tai Viet:size=12;3";
|
||||
font-147 = "Noto Sans Takri:size=12;3";
|
||||
font-148 = "Noto Sans Tamil:size=12;3";
|
||||
font-149 = "Noto Sans Tangsa:size=12;3";
|
||||
font-150 = "Noto Sans Warang Citi:size=12;3";
|
||||
font-151 = "Noto Sans Test:size=12;3";
|
||||
font-152 = "Noto Sans Thaana:size=12;3";
|
||||
font-153 = "Noto Sans Thai:size=12;3";
|
||||
font-154 = "Noto Sans Tifinagh:size=12;3";
|
||||
font-155 = "Noto Sans Tirhuta:size=12;3";
|
||||
font-156 = "Noto Sans Ugaritic:size=12;3";
|
||||
font-157 = "Noto Sans Vai:size=12;3";
|
||||
font-158 = "Noto Sans Vithkuqi:size=12;3";
|
||||
font-159 = "Noto Sans Wancho:size=12;3";
|
||||
font-160 = "Noto Sans Yi:size=12;3";
|
||||
};
|
||||
|
||||
"module/rofi" = {
|
||||
type = "custom/text";
|
||||
click-left = "exec rofi -show drun -show-icons -theme ${rofiApps}";
|
||||
label = " ";
|
||||
};
|
||||
|
||||
"module/power" = {
|
||||
type = "custom/text";
|
||||
click-left = "exec rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu -theme ${rofiPower}";
|
||||
label = " ";
|
||||
};
|
||||
|
||||
"module/bspwm" = {
|
||||
type = "internal/bspwm";
|
||||
pin-workspaces = true;
|
||||
inline-mode = true;
|
||||
enable-click = true;
|
||||
enable-scroll = false;
|
||||
# reverse-scroll = false;
|
||||
# occupied-scroll = true;
|
||||
|
||||
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-empty = "%name%";
|
||||
label-empty-foreground = config.lib.stylix.colors.base00;
|
||||
label-empty-background= config.lib.stylix.colors.base03;
|
||||
label-empty-padding = "5pt";
|
||||
|
||||
label-focused = "%name%";
|
||||
label-focused-foreground = config.lib.stylix.colors.base00;
|
||||
label-focused-background= config.lib.stylix.colors.base09;
|
||||
label-focused-padding = "5pt";
|
||||
|
||||
label-occupied = "%name%";
|
||||
label-occupied-foreground = config.lib.stylix.colors.base00;
|
||||
label-occupied-background= config.lib.stylix.colors.base04;
|
||||
label-occupied-padding = "5pt";
|
||||
|
||||
label-urgent = "%name%";
|
||||
label-urgent-foreground = config.lib.stylix.colors.base00;
|
||||
label-urgent-background= config.lib.stylix.colors.base08;
|
||||
label-urgent-padding = "5pt";
|
||||
|
||||
label-separator = " ";
|
||||
label-separator-padding = 0;
|
||||
label-separator-foreground = config.lib.stylix.colors.base00;
|
||||
};
|
||||
|
||||
"module/title" = {
|
||||
type = "internal/xwindow";
|
||||
label = "%title%";
|
||||
label-maxlen = 35;
|
||||
label-foreground = config.lib.stylix.colors.base07;
|
||||
};
|
||||
|
||||
"module/time" = {
|
||||
type = "internal/date";
|
||||
interval = 1;
|
||||
date = "%d %B %Y";
|
||||
date-alt = "%d-%m-%Y";
|
||||
time = "%H:%M:%S";
|
||||
time-alt = "%H:%M";
|
||||
label = "%date% %time%";
|
||||
};
|
||||
|
||||
"module/xkeyboard" = {
|
||||
type = "internal/xkeyboard";
|
||||
format = "<label-layout>";
|
||||
label-layout = "%icon%";
|
||||
layout-icon-0 = "ru;RU";
|
||||
layout-icon-1 = "us;EN";
|
||||
};
|
||||
|
||||
"module/tray" = {
|
||||
type = "internal/tray";
|
||||
format = "<tray>";
|
||||
tray-spacing = "8px";
|
||||
tray-size = "90%";
|
||||
};
|
||||
|
||||
"module/alsa" = {
|
||||
type = "internal/alsa";
|
||||
master-soundcard = "default";
|
||||
speaker-soundcard = "default";
|
||||
headphone-soundcard = "default";
|
||||
master-mixer = "Master";
|
||||
interval = 5;
|
||||
format-volume = "<label-volume>";
|
||||
format-muted = "<label-muted>";
|
||||
label-volume = " %percentage%";
|
||||
label-muted = " %percentage%";
|
||||
click-right = "exec pavucontrol";
|
||||
};
|
||||
|
||||
"module/memory" = {
|
||||
type = "internal/memory";
|
||||
interval = 5;
|
||||
label = "RAM: %gb_used% + %gb_swap_used%";
|
||||
};
|
||||
|
||||
"module/cpu" = {
|
||||
type = "internal/cpu";
|
||||
interval = 1;
|
||||
warn-percentage = 95;
|
||||
label = "CPU %percentage%%";
|
||||
label-warn = "CPU %percentage%%";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -5,8 +5,9 @@
|
|||
# Стандартный конфиг https://github.com/baskerville/bspwm/blob/master/examples/sxhkdrc
|
||||
|
||||
{ pkgs, config, ... }: let
|
||||
notifyMute = ''dunstify "$(if [ "$(pamixer --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
|
||||
notifyMicMute = ''dunstify "$(if [ "$(pamixer --default-source --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
|
||||
muteText = ''then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
|
||||
notifyMute = ''dunstify "$(if [ "$(pamixer --get-mute)" = "true" ]; ${muteText}'';
|
||||
notifyMicMute = ''dunstify "$(if [ "$(pamixer --default-source --get-mute)" = "true" ]; ${muteText}'';
|
||||
notifyVolume = ''dunstify " Volume: $(pamixer --get-volume)" -r 91190 -t 800'';
|
||||
# -r 91190: Это идентификатор уведомления (notification ID). Уведомления с одинаковым ID будут заменять друг друга.
|
||||
# -t 800: Это время в миллисекундах, через которое уведомление будет автоматически закрыто.
|
||||
|
|
@ -43,7 +44,7 @@ in {
|
|||
|
||||
# Lock screen
|
||||
super + l
|
||||
betterlockscreen -l dimblur
|
||||
betterlockscreen -l dimblur --show-layout
|
||||
|
||||
# Quit. Закрыть приложение
|
||||
super + q
|
||||
|
|
@ -1,342 +0,0 @@
|
|||
# Про единицы измерения
|
||||
# Если просто написать число, то это будет количество пробелом в прямом смысле. Размер зависит от шрифта
|
||||
# Если указать pt (points), то это 1/72 часть дюйма, которая преобразуется в количество пикселей в зависимости от DPI монитора
|
||||
# Если указывать px, то это пиксели, логично
|
||||
# Интересные готовые скрипты для polybar https://github.com/polybar/polybar-scripts
|
||||
|
||||
# Если в трее не отображаются иконки, то вот вариант решения:
|
||||
# Put `export XDG_DATA_DIRS=~/.nix-profile/share:$XDG_DATA_DIRS` in `/etc/profile`
|
||||
# Взято отсюда https://www.reddit.com/r/voidlinux/comments/1apb5d0/comment/kqzabg6
|
||||
|
||||
# При наведении на имя окна сделать скрол фул имени через zscroll
|
||||
# Если лень не будет, то потом сделаю
|
||||
|
||||
# Варианты кликов мыши
|
||||
# click-left
|
||||
# click-middle
|
||||
# click-right
|
||||
# scroll-up
|
||||
# scroll-down
|
||||
# double-click-left
|
||||
# double-click-middle
|
||||
# double-click-right
|
||||
|
||||
{ pkgs, config, ... }: let
|
||||
rofiApps = "${config.home.homeDirectory}/.config/rofi/launcher.rasi";
|
||||
rofiPower = "${config.home.homeDirectory}/.config/rofi/power.rasi";
|
||||
monitor = "$\{env:MONITOR:\}";
|
||||
in { # Статус бар внизу
|
||||
home.packages = with pkgs; [ polybar ];
|
||||
|
||||
xdg.configFile."polybar/config.ini" = {
|
||||
# executable = true;
|
||||
text = ''
|
||||
[bar/bottom]
|
||||
monitor=${monitor}
|
||||
tray-position=right
|
||||
|
||||
bottom=true
|
||||
fixed-center=true
|
||||
enable-ipc=true
|
||||
double-click-interval=400
|
||||
offset-x=0
|
||||
offset-y=0
|
||||
|
||||
width=100%
|
||||
height=16pt
|
||||
radius=0
|
||||
dpi=0
|
||||
background=${config.lib.stylix.colors.base00}
|
||||
foreground=${config.lib.stylix.colors.base07}
|
||||
border-color=${config.lib.stylix.colors.base00}
|
||||
border-size=4pt
|
||||
module-margin=4pt
|
||||
separator=|
|
||||
separator-foreground=${config.lib.stylix.colors.base0F}
|
||||
|
||||
modules-center=time
|
||||
modules-left=bspwm title
|
||||
modules-right=cpu memory alsa tray xkeyboard rofi power
|
||||
|
||||
wm-restack=bspwm
|
||||
|
||||
font-0=NotoSans Nerd Font:style=Regular:size=12;3
|
||||
|
||||
; Выблядки не могут юзать все Noto Sans при указании одного шрифта
|
||||
font-1=Noto Sans:size=12;3
|
||||
font-2=Noto Sans CJK HK:size=12;3
|
||||
font-3=Noto Sans CJK JP:size=12;3
|
||||
font-4=Noto Sans CJK KR:size=12;3
|
||||
font-5=Noto Sans CJK SC:size=12;3
|
||||
font-6=Noto Sans CJK TC:size=12;3
|
||||
font-7=Unifont:style=Regular:size=12;3
|
||||
font-8=Noto Sans Balinese:size=12;3
|
||||
font-9=Noto Sans Bamum:size=12;3
|
||||
font-10=Noto Sans Zanabazar Square:size=12;3
|
||||
font-11=Noto Sans Bassa Vah:size=12;3
|
||||
font-12=Noto Sans Batak:size=12;3
|
||||
font-13=Noto Sans Bengali:size=12;3
|
||||
font-14=Noto Sans Bhaiksuki:size=12;3
|
||||
font-15=Noto Sans Brahmi:size=12;3
|
||||
font-16=Noto Sans Buginese:size=12;3
|
||||
font-17=Noto Sans Buhid:size=12;3
|
||||
font-18=Noto Sans Canadian Aboriginal:size=12;3
|
||||
font-19=Noto Sans Carian:size=12;3
|
||||
font-20=Noto Sans Caucasian Albanian:size=12;3
|
||||
font-21=Noto Sans Chakma:size=12;3
|
||||
font-22=Noto Sans Cham:size=12;3
|
||||
font-23=Noto Sans Cherokee:size=12;3
|
||||
font-24=Noto Sans Chorasmian:size=12;3
|
||||
font-25=Noto Sans Adlam:size=12;3
|
||||
font-26=Noto Sans Anatolian Hieroglyphs:size=12;3
|
||||
font-27=Noto Sans Arabic:size=12;3
|
||||
font-28=Noto Sans Armenian:size=12;3
|
||||
font-29=Noto Sans Avestan:size=12;3
|
||||
font-30=Noto Sans Elymaic:size=12;3
|
||||
font-31=Noto Sans Coptic:size=12;3
|
||||
font-32=Noto Sans Cuneiform:size=12;3
|
||||
font-33=Noto Sans Cypriot:size=12;3
|
||||
font-34=Noto Sans Cypro Minoan:size=12;3
|
||||
font-35=Noto Sans Deseret:size=12;3
|
||||
font-36=Noto Sans Devanagari:size=12;3
|
||||
font-37=Noto Sans Duployan:size=12;3
|
||||
font-38=Noto Sans Egyptian Hieroglyphs:size=12;3
|
||||
font-39=Noto Sans Elbasan:size=12;3
|
||||
font-40=Noto Sans Hanunoo:size=12;3
|
||||
font-41=Noto Sans Ethiopic:size=12;3
|
||||
font-42=Noto Sans Georgian:size=12;3
|
||||
font-43=Noto Sans Glagolitic:size=12;3
|
||||
font-44=Noto Sans Gothic:size=12;3
|
||||
font-45=Noto Sans Grantha:size=12;3
|
||||
font-46=Noto Sans Gujarati:size=12;3
|
||||
font-47=Noto Sans Gunjala Gondi:size=12;3
|
||||
font-48=Noto Sans Gurmukhi:size=12;3
|
||||
font-49=Noto Sans Hanifi Rohingya:size=12;3
|
||||
font-50=Noto Sans Kawi:size=12;3
|
||||
font-51=Noto Sans Hatran:size=12;3
|
||||
font-52=Noto Sans Hebrew:size=12;3
|
||||
font-53=Noto Sans Imperial Aramaic:size=12;3
|
||||
font-54=Noto Sans Indic Siyaq Numbers:size=12;3
|
||||
font-55=Noto Sans Inscriptional Pahlavi:size=12;3
|
||||
font-56=Noto Sans Inscriptional Parthian:size=12;3
|
||||
font-57=Noto Sans Javanese:size=12;3
|
||||
font-58=Noto Sans Kaithi:size=12;3
|
||||
font-59=Noto Sans Kannada:size=12;3
|
||||
font-60=Noto Sans Linear B:size=12;3
|
||||
font-61=Noto Sans Kayah Li:size=12;3
|
||||
font-62=Noto Sans Kharoshthi:size=12;3
|
||||
font-63=Noto Sans Khmer:size=12;3
|
||||
font-64=Noto Sans Khojki:size=12;3
|
||||
font-65=Noto Sans Khudawadi:size=12;3
|
||||
font-66=Noto Sans Lao:size=12;3
|
||||
font-67=Noto Sans Lepcha:size=12;3
|
||||
font-68=Noto Sans Limbu:size=12;3
|
||||
font-69=Noto Sans Linear A:size=12;3
|
||||
font-70=Noto Sans Math:size=12;3
|
||||
font-71=Noto Sans Lisu:size=12;3
|
||||
font-72=Noto Sans Lycian:size=12;3
|
||||
font-73=Noto Sans Lydian:size=12;3
|
||||
font-74=Noto Sans Mahajani:size=12;3
|
||||
font-75=Noto Sans Malayalam:size=12;3
|
||||
font-76=Noto Sans Mandaic:size=12;3
|
||||
font-77=Noto Sans Manichaean:size=12;3
|
||||
font-78=Noto Sans Marchen:size=12;3
|
||||
font-79=Noto Sans Masaram Gondi:size=12;3
|
||||
font-80=Noto Sans Mono CJK HK:size=12;3
|
||||
font-81=Noto Sans Mayan Numerals:size=12;3
|
||||
font-82=Noto Sans Medefaidrin:size=12;3
|
||||
font-83=Noto Sans Meetei Mayek:size=12;3
|
||||
font-84=Noto Sans Mende Kikakui:size=12;3
|
||||
font-85=Noto Sans Meroitic:size=12;3
|
||||
font-86=Noto Sans Miao:size=12;3
|
||||
font-87=Noto Sans Modi:size=12;3
|
||||
font-88=Noto Sans Mongolian:size=12;3
|
||||
font-89=Noto Sans Mono:size=12;3
|
||||
font-90=Noto Sans Nandinagari:size=12;3
|
||||
font-91=Noto Sans Mono CJK JP:size=12;3
|
||||
font-92=Noto Sans Mono CJK KR:size=12;3
|
||||
font-93=Noto Sans Mono CJK SC:size=12;3
|
||||
font-94=Noto Sans Mono CJK TC:size=12;3
|
||||
font-95=Noto Sans Mro:size=12;3
|
||||
font-96=Noto Sans Multani:size=12;3
|
||||
font-97=Noto Sans Myanmar:size=12;3
|
||||
font-98=Noto Sans Nabataean:size=12;3
|
||||
font-99=Noto Sans Nag Mundari:size=12;3
|
||||
font-100=Noto Sans Old Permic:size=12;3
|
||||
font-101=Noto Sans Newa:size=12;3
|
||||
font-102=Noto Sans New Tai Lue:size=12;3
|
||||
font-103=Noto Sans NKo:size=12;3
|
||||
font-104=Noto Sans Nushu:size=12;3
|
||||
font-105=Noto Sans Ogham:size=12;3
|
||||
font-106=Noto Sans Ol Chiki:size=12;3
|
||||
font-107=Noto Sans Old Hungarian:size=12;3
|
||||
font-108=Noto Sans Old Italic:size=12;3
|
||||
font-109=Noto Sans Old North Arabian:size=12;3
|
||||
font-110=Noto Sans Pau Cin Hau:size=12;3
|
||||
font-111=Noto Sans Old Persian:size=12;3
|
||||
font-112=Noto Sans Old Sogdian:size=12;3
|
||||
font-113=Noto Sans Old South Arabian:size=12;3
|
||||
font-114=Noto Sans Old Turkic:size=12;3
|
||||
font-115=Noto Sans Oriya:size=12;3
|
||||
font-116=Noto Sans Osage:size=12;3
|
||||
font-117=Noto Sans Osmanya:size=12;3
|
||||
font-118=Noto Sans Pahawh Hmong:size=12;3
|
||||
font-119=Noto Sans Palmyrene:size=12;3
|
||||
font-120=Noto Sans Shavian:size=12;3
|
||||
font-121=Noto Sans Phags-Pa:size=12;3
|
||||
font-122=Noto Sans PhagsPa:size=12;3
|
||||
font-123=Noto Sans Phoenician:size=12;3
|
||||
font-124=Noto Sans Psalter Pahlavi:size=12;3
|
||||
font-125=Noto Sans Rejang:size=12;3
|
||||
font-126=Noto Sans Runic:size=12;3
|
||||
font-127=Noto Sans Samaritan:size=12;3
|
||||
font-128=Noto Sans Saurashtra:size=12;3
|
||||
font-129=Noto Sans Sharada:size=12;3
|
||||
font-130=Noto Sans Symbols 2:size=12;3
|
||||
font-131=Noto Sans Siddham:size=12;3
|
||||
font-132=Noto Sans SignWriting:size=12;3
|
||||
font-133=Noto Sans Sinhala:size=12;3
|
||||
font-134=Noto Sans Sogdian:size=12;3
|
||||
font-135=Noto Sans Sora Sompeng:size=12;3
|
||||
font-136=Noto Sans Soyombo:size=12;3
|
||||
font-137=Noto Sans Sundanese:size=12;3
|
||||
font-138=Noto Sans Syloti Nagri:size=12;3
|
||||
font-139=Noto Sans Symbols:size=12;3
|
||||
font-140=Noto Sans Telugu:size=12;3
|
||||
font-141=Noto Sans Syriac:size=12;3
|
||||
font-142=Noto Sans Tagalog:size=12;3
|
||||
font-143=Noto Sans Tagbanwa:size=12;3
|
||||
font-144=Noto Sans Tai Le:size=12;3
|
||||
font-145=Noto Sans Tai Tham:size=12;3
|
||||
font-146=Noto Sans Tai Viet:size=12;3
|
||||
font-147=Noto Sans Takri:size=12;3
|
||||
font-148=Noto Sans Tamil:size=12;3
|
||||
font-149=Noto Sans Tangsa:size=12;3
|
||||
font-150=Noto Sans Warang Citi:size=12;3
|
||||
font-151=Noto Sans Test:size=12;3
|
||||
font-152=Noto Sans Thaana:size=12;3
|
||||
font-153=Noto Sans Thai:size=12;3
|
||||
font-154=Noto Sans Tifinagh:size=12;3
|
||||
font-155=Noto Sans Tirhuta:size=12;3
|
||||
font-156=Noto Sans Ugaritic:size=12;3
|
||||
font-157=Noto Sans Vai:size=12;3
|
||||
font-158=Noto Sans Vithkuqi:size=12;3
|
||||
font-159=Noto Sans Wancho:size=12;3
|
||||
font-160=Noto Sans Yi:size=12;3
|
||||
|
||||
; Ебаные дауны не могут нормально отображать смайлики
|
||||
; Там хуйня на пол экрана
|
||||
; font-161=Noto Color Emoji:style=Regular:size=12;3
|
||||
; font-162=Noto Emoji:style=Regular:size=12;3
|
||||
|
||||
[module/alsa]
|
||||
type=internal/alsa
|
||||
master-soundcard=default
|
||||
speaker-soundcard=default
|
||||
headphone-soundcard=default
|
||||
master-mixer=Master
|
||||
interval=5
|
||||
format-volume=<label-volume>
|
||||
format-muted=<label-muted>
|
||||
label-muted= %percentage%
|
||||
label-volume= %percentage%
|
||||
click-right=exec pavucontrol
|
||||
|
||||
[module/bspwm]
|
||||
type=internal/bspwm
|
||||
pin-workspaces=true
|
||||
inline-mode=true
|
||||
enable-click=true
|
||||
enable-scroll=false
|
||||
reverse-scroll=false
|
||||
occupied-scroll=true
|
||||
|
||||
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-empty=%name%
|
||||
label-empty-background=${config.lib.stylix.colors.base03}
|
||||
label-empty-foreground=${config.lib.stylix.colors.base00}
|
||||
label-empty-padding=5pt
|
||||
|
||||
label-focused=%name%
|
||||
label-focused-background=${config.lib.stylix.colors.base09}
|
||||
label-focused-foreground=${config.lib.stylix.colors.base00}
|
||||
label-focused-padding=5pt
|
||||
|
||||
label-occupied=%name%
|
||||
label-occupied-background=${config.lib.stylix.colors.base04}
|
||||
label-occupied-foreground=${config.lib.stylix.colors.base00}
|
||||
label-occupied-padding=5pt
|
||||
|
||||
label-urgent=%name%
|
||||
label-urgent-background=${config.lib.stylix.colors.base08}
|
||||
label-urgent-foreground=${config.lib.stylix.colors.base00}
|
||||
label-urgent-padding=5pt
|
||||
|
||||
label-separator=" "
|
||||
label-separator-foreground=${config.lib.stylix.colors.base00}
|
||||
label-separator-padding=0
|
||||
|
||||
[module/cpu]
|
||||
type=internal/cpu
|
||||
interval=1
|
||||
warn-percentage=95
|
||||
label=CPU %percentage%%
|
||||
label-warn=CPU %percentage%%
|
||||
|
||||
[module/memory]
|
||||
interval=5
|
||||
label=RAM: %gb_used% + %gb_swap_used%
|
||||
type=internal/memory
|
||||
|
||||
[module/rofi]
|
||||
type=custom/text
|
||||
click-left=exec rofi -show drun -show-icons -theme ${rofiApps}
|
||||
label=" "
|
||||
|
||||
[module/power]
|
||||
type=custom/text
|
||||
click-left=exec rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu -theme ${rofiPower}
|
||||
label=" "
|
||||
|
||||
[module/time]
|
||||
type=internal/date
|
||||
interval=1
|
||||
date=%d %B %Y
|
||||
date-alt=%d-%m-%Y
|
||||
time=%H:%M:%S
|
||||
time-alt=%H:%M
|
||||
label=%date% %time%
|
||||
|
||||
[module/title]
|
||||
type=internal/xwindow
|
||||
label=%title%
|
||||
label-maxlen=40
|
||||
label-foreground=${config.lib.stylix.colors.base07}
|
||||
|
||||
[module/tray]
|
||||
type=internal/tray
|
||||
format=<tray>
|
||||
tray-spacing=8px
|
||||
tray-size=90%
|
||||
|
||||
[module/xkeyboard]
|
||||
type=internal/xkeyboard
|
||||
format=<label-layout>
|
||||
label-layout=%icon%
|
||||
layout-icon-0=ru;RU
|
||||
layout-icon-1=us;EN
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
imports = [
|
||||
# ./env.nix # Мб не надо, ибо редачу через home.nix?
|
||||
./filesystems.nix
|
||||
# ./filesystems.nix
|
||||
./hardware.nix
|
||||
./hibernate.nix
|
||||
# ./hibernate.nix
|
||||
./locale.nix
|
||||
./network.nix
|
||||
./sound.nix
|
||||
|
|
@ -11,4 +11,4 @@
|
|||
./virtualisation.nix
|
||||
./xserver.nix
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,15 +4,15 @@
|
|||
{ pkgs, ... }: {
|
||||
hardware = { # Параметры для 24.05 и unstable могут сильно отличаться
|
||||
|
||||
amdgpu = {
|
||||
opencl.enable = true; # # Enable OpenCL support using ROCM runtime library.
|
||||
# amdgpu = {
|
||||
# opencl.enable = true; # # Enable OpenCL support using ROCM runtime library.
|
||||
# amdvlk = { # Гавно лаганое, лучше radv юзать (radeon vulkan)
|
||||
# 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;
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
# "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||
# ];
|
||||
|
||||
boot.initrd.kernelModules = [ "amdgpu" ]; # Мб не обязательно
|
||||
# boot.initrd.kernelModules = [ "amdgpu" ]; # Мб не обязательно
|
||||
|
||||
# Для AMD существует два драйвера Vulkan
|
||||
# Один официальный от AMD - amdvlk
|
||||
|
|
@ -60,4 +60,4 @@
|
|||
# В некоторых играх лучше работает radv, в некоторых amdvlk
|
||||
# Штука ниже не обязательна для работы radv, но я сохранил
|
||||
# environment.variables.AMD_VULKAN_ICD = "RADV";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,11 +8,14 @@
|
|||
# lsblk `df /swapfile | awk '/^\/dev/ {print $1}'` -no UUID
|
||||
|
||||
# Узнать offset файла подкачки:
|
||||
# sudo filefrag -v /swapfile | awk 'NR == 4 {print $5}' | cut -d ':' -f 1
|
||||
# sudo filefrag -v /swapfile | awk '$1=="0:" {print substr($4, 1, length($4)-2)}'
|
||||
|
||||
{
|
||||
boot = {
|
||||
resumeDevice = "/dev/disk/by-uuid/0951089a-fd89-4647-9ddb-0e3ff63d7b49";
|
||||
kernelParams = [ "resume_offset=6807551" ];
|
||||
resumeDevice = "/dev/disk/by-uuid/15630f8d-edf8-4e0b-8df4-9ac20f80fc88";
|
||||
kernelParams = [ "resume_offset=18745344" ];
|
||||
};
|
||||
|
||||
# Не знаю надо ли это. На виртуалке я не могу забутиться в любом случае
|
||||
# boot.initrd.systemd.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@
|
|||
context.properties = {
|
||||
default.clock.rate = 48000;
|
||||
# Ниже измени под свой пк. У меня цап поддерживает всё это. Можешь закомментить, если не знаешь что ставить
|
||||
default.clock.allowed-rates = "[ 44100 48000 88200 96000 176400 192000 352800 384000 705600 768000 ]";
|
||||
# Гавноёбы ебаные не могут запихать список без запятых и без кавычек. Из-за этого не работает
|
||||
# default.clock.allowed-rates = "[ 44100 48000 88200 96000 176400 192000 352800 384000 705600 768000 ]";
|
||||
};
|
||||
};
|
||||
# Ниже настройки для минимальной задержки в играх (например osu!stable через wine)
|
||||
|
|
|
|||
|
|
@ -44,11 +44,14 @@
|
|||
# </channel>
|
||||
|
||||
# services = {
|
||||
# openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал.
|
||||
# qemuGuest.enable = true; # Time syncing and scripting
|
||||
# openssh.enable = true; # Это ставится на виртуалку, чтоб к ней конект по ssh работал.
|
||||
# spice-vdagentd.enable = true; # Clipboard sharing
|
||||
# spice-webdavd.enable = true; # VirtFS alternative for directory sharing
|
||||
# qemuGuest.package = pkgs.qemu_full; # Time syncing and scripting
|
||||
# qemuGuest = {
|
||||
# enable = true; # Fix resolution
|
||||
# package = pkgs.qemu_full;
|
||||
# };
|
||||
# # Ниже я не включаю
|
||||
# # spice-webdavd.enable = true; # VirtFS alternative for directory sharing
|
||||
# };
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,14 @@
|
|||
|
||||
services.displayManager = {
|
||||
defaultSession = "none+bspwm"; # only effective for GDM, LightDM and SDDM
|
||||
sddm = {
|
||||
# Чтоб задать аватарку юзеру, надо отправить png файл такой командой:
|
||||
# sudo cp image.png /var/lib/AccountsService/icons/username
|
||||
# Тоесть именно username, без .png в конце
|
||||
enable = true;
|
||||
# package = pkgs.kdePackages.sddm; # qt6 sddm
|
||||
theme = "chili";
|
||||
};
|
||||
};
|
||||
|
||||
services.libinput = {
|
||||
|
|
@ -28,17 +36,6 @@
|
|||
i3.enable = true; # i3-gaps доступен в стоке в новых версиях
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
lightdm = { # Минималистичный display manager
|
||||
enable = true;
|
||||
# background = "./bg.png";
|
||||
# greeters = {
|
||||
# tiny.enable = true; # Фул минималистичная тема без ничего
|
||||
# # gtk.enable = true; # GTK тема с кучей настроек
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
xkb = {
|
||||
layout = "us,ru";
|
||||
variant = "";
|
||||
|
|
@ -49,7 +46,7 @@
|
|||
# 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"'';
|
||||
# videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
|
||||
# deviceSection = ''Option "TearFree" "True"'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,13 +16,16 @@ in {
|
|||
|
||||
# Список сервисов, которые не надо ребутать после rebuild switch
|
||||
# Мне это надо, потому что некоторые сервисы кладут систему
|
||||
systemd.services = {
|
||||
"accounts-daemon".restartIfChanged = false;
|
||||
# "home-manager-buliway".restartIfChanged = false;
|
||||
};
|
||||
# systemd.services = {
|
||||
# "accounts-daemon".restartIfChanged = false;
|
||||
# "home-manager-buliway".restartIfChanged = false;
|
||||
# };
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest; # Ядро линуха, ласт версия
|
||||
# kernelParams = [ # https://nixos.wiki/wiki/AMD_GPU#Dual_Monitors
|
||||
# "video=1920x1080"
|
||||
# ];
|
||||
|
||||
loader = {
|
||||
# systemd-boot.enable = true;
|
||||
|
|
@ -31,13 +34,7 @@ in {
|
|||
efiSupport = true;
|
||||
device = "nodev"; # nodev позволяет не устанавливать grub в конкретное место, но видеть его ui
|
||||
};
|
||||
|
||||
efi.canTouchEfiVariables = true;
|
||||
|
||||
# kernelParams = [ # https://nixos.wiki/wiki/AMD_GPU#Dual_Monitors
|
||||
# "video=DP-3:1920x1080@165"
|
||||
# "video=HDMI-A-1:1920x1080@75"
|
||||
# ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -39,17 +39,11 @@
|
|||
gvfs.enable = true; # Mount, trash, and other functionalities for Thunar file manager
|
||||
tumbler.enable = true; # Thumbnail support for Thunar file manager
|
||||
# flatpak.enable = true;
|
||||
# unclutter.enable = true; # Enable unclutter to hide your mouse cursor when inactive
|
||||
# unclutter.enable = true; # Hide your mouse cursor when inactive
|
||||
# fwupd.enable = true; # DBus service that allows applications to update firmware
|
||||
# greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого)
|
||||
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
|
||||
# archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить
|
||||
|
||||
# Для запуска wayland приложений на x11. Мне для waydroid надо
|
||||
# cage = {
|
||||
# enable = true;
|
||||
# user = "buliway";
|
||||
# };
|
||||
};
|
||||
|
||||
programs = {
|
||||
|
|
@ -58,7 +52,7 @@
|
|||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryPackage = pkgs.pinentry-qt;
|
||||
pinentryPackage = pkgs.pinentry-qt; # Окно ввода пароля
|
||||
};
|
||||
|
||||
appimage = { # Чтоб .appimage работал
|
||||
|
|
@ -72,9 +66,9 @@
|
|||
thunar = { # Can't I use it with home-manager? WTF
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-media-tags-plugin # Thunar plugin providing tagging and renaming features for media files
|
||||
thunar-archive-plugin # Thunar plugin providing file context menus for archives
|
||||
thunar-volman # Thunar extension for automatic management of removable drives and media
|
||||
thunar-media-tags-plugin # Tagging and renaming features for media files
|
||||
thunar-archive-plugin # File context menus for archives
|
||||
thunar-volman # Automatic management of removable drives and media
|
||||
];
|
||||
};
|
||||
xfconf.enable = true; # For Thunar configs
|
||||
|
|
@ -134,23 +128,22 @@
|
|||
wget
|
||||
curl
|
||||
git
|
||||
xclip # Для работы буфера обмена
|
||||
ffmpeg_7 # Обработка видео. Нужен всегда и везде
|
||||
xclip # Буфера обмена
|
||||
ffmpeg_7 # Обработка видео. Нужен всегда и везде как зависимость
|
||||
imagemagick # Обработка изображений. Мб тоже нужен всегда
|
||||
tree # Структура файлов в терминале
|
||||
gnugrep # Поиск в терминале
|
||||
gawk # Обработка и анализ текста в терминале
|
||||
rsync # Синхронизация файлов
|
||||
bat # A cat(1) clone with syntax highlighting and Git integration.
|
||||
xorg.xwininfo # Для команды xprop? Статы окна, по типу класса
|
||||
xorg.xrandr # Для команды xrandr. Управление мониторами
|
||||
xorg.xev # Для команды xev, чтоб узнать бинды
|
||||
bat # Аналог cat с подсветкой синтаксиса
|
||||
xorg.xwininfo # Команда xprop. Статы окна, по типу класса
|
||||
xorg.xrandr # Управление мониторами
|
||||
xorg.xev # Узнать айдишник бинда
|
||||
xdg-utils # Set of command line tools that assist applications with a variety of desktop integration tasks
|
||||
feh # Смотреть изображения. Вроде нужен в большом количестве софта как зависимость
|
||||
playerctl # Command-line utility and library for controlling media players that implement MPRIS
|
||||
xdotool # Fake keyboard/mouse input, window management, and more. Автоматизация
|
||||
zscroll # A text scroller for use with panels and shells https://github.com/noctuid/zscroll
|
||||
tokei # Показывает количество строк кода на разных языках внутри каталога
|
||||
playerctl # Управление медиа. Плей/пауза и тд
|
||||
xdotool # Fake keyboard/mouse input. Для rofi-pass
|
||||
# zscroll # A text scroller for use with panels and shells https://github.com/noctuid/zscroll
|
||||
tokei # Количество строк кода на разных языках в каталоге
|
||||
pass # Менеджер паролей в терминале
|
||||
btop # Монитор ресурсов в терминале
|
||||
# rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает)
|
||||
|
|
@ -164,8 +157,8 @@
|
|||
fzf # Нечёткий поиск
|
||||
killall # Убить процессы. Мем, что в стоке не стоит
|
||||
libnotify # Вызов оповещений через "notify-send"
|
||||
gallery-dl # download images from several image hosting sites
|
||||
nvim
|
||||
gallery-dl # Качать много картинок с кучи разных сайтов
|
||||
shellcheck # Проверка shell скриптов на ошибки
|
||||
|
||||
alacritty # Минималистичный терминал. Основной у меня
|
||||
kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает
|
||||
|
|
@ -194,7 +187,6 @@
|
|||
librewolf
|
||||
firefox
|
||||
chromium
|
||||
# ff2mpv # Открывать видео из браузера в mpv плеере
|
||||
lynx # Текстовый браузер в терминале. Без картинок
|
||||
|
||||
##########
|
||||
|
|
@ -257,9 +249,10 @@
|
|||
mousai # Опенсорс шазам. Со временем просит платный api
|
||||
spek # Спектрограмма аудио.
|
||||
mpv # Смотреть видео
|
||||
imv # Смотреть картинки 1. Не умеет показывать анимированные webp
|
||||
qview # Смотреть картинки 2. Если imv не может что-то открыть
|
||||
viewnior # До перехода на wayland юзал его. Если сортирует лучше imv, то удалить imv
|
||||
# Смотреть картинки
|
||||
imv # Не умеет показывать анимированные webp. Через раз может показывать avif
|
||||
qview # Умеет в анимированные webp. Не умеет открывать avif
|
||||
feh # Нужен в большом количестве софта как зависимость. Может в avif, но криво
|
||||
|
||||
############
|
||||
## Social ##
|
||||
|
|
@ -270,10 +263,7 @@
|
|||
withVencord = true; # Имба плагины # TODO: Настройки надо сделать декларативными
|
||||
})
|
||||
telegram-desktop
|
||||
|
||||
element-desktop # Matrix клиент десктоп. Без кастом смайликов
|
||||
# cinny-desktop # Matrix клиент с кастом смайликами, похож на дс
|
||||
# https://github.com/commetchat/commet/pull/295 # Matrix клиент, фул копия дса
|
||||
revolt-desktop # FOSS аналог дискорда
|
||||
|
||||
###########
|
||||
## Games ##
|
||||
|
|
@ -283,7 +273,7 @@
|
|||
# steam # Мб не надо сюда писать, раз через programs.steam редачу
|
||||
# heroic # A Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||
# lutris # Запускать игры не из стима
|
||||
bottles # Минималистичная альтернатива lutris
|
||||
# bottles # Минималистичная альтернатива lutris
|
||||
|
||||
# Мб зависимости
|
||||
steam-run # На всякий случай
|
||||
|
|
@ -316,7 +306,7 @@
|
|||
## IDE ##
|
||||
#########
|
||||
|
||||
# neovim # Мб не надо писать, он у меня необычный, через nixvim flake
|
||||
neovim # Мб не надо писать, он у меня необычный, через nixvim flake
|
||||
# vscode # Надо в home.packages писать, чтоб расширения ставились без рута
|
||||
# jetbrains-toolbox # Надо в home.packages писать. https://nixos.wiki/wiki/Jetbrains_Tools
|
||||
helix # A Kakoune / Neovim inspired editor, written in Rust.
|
||||
|
|
@ -365,12 +355,15 @@
|
|||
google-fonts
|
||||
libva-utils # Проверяет работоспособность VAAPI?
|
||||
clinfo # Проверяет работоспособность OpenCL?
|
||||
libcap # Мб надо для nekoray
|
||||
libsecret # Хранить и получать аккаунты у приложений. Например для jetbrains toolbox
|
||||
alsa-utils # Мне для команды amixer надо
|
||||
pamixer # PulseAudio cli (громкость редачу)
|
||||
weston # Для запуска wayland only apps на x11 (ещё есть cage, на тесты ставлю оба)
|
||||
weston # Для запуска wayland only apps на x11 (ещё есть cage, но он крашит систему при ребилде)
|
||||
|
||||
# lxqt.lxqt-policykit # Меню для воода пароля при запуске с правами админа. Пока юзаю от гнома
|
||||
# Для работы некоторых тем sddm
|
||||
kdePackages.qt5compat
|
||||
libsForQt5.qt5.qtgraphicaleffects
|
||||
libsForQt5.qt5.qtquickcontrols
|
||||
sddm-chili-theme # Qt5 SDDM Theme
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
cp ./helpers.rc $HOME/.config/xfce4/helpers.rc
|
||||
cp ./mimeapps.list $HOME/.config/mimeapps.list
|
||||
mkdir -p $HOME/.config/xfce4/
|
||||
cp $HOME/nixos-private-dots/shit/helpers.rc $HOME/.config/xfce4/helpers.rc
|
||||
cp $HOME/nixos-private-dots/shit/mimeapps.list $HOME/.config/mimeapps.list
|
||||
|
||||
cp ./Kvantum $HOME/.config/Kvantum
|
||||
cp ./qt5ct $HOME/.config/qt5ct
|
||||
cp ./qt6ct $HOME/.config/qt6ct
|
||||
cp -r $HOME/nixos-private-dots/shit/Kvantum $HOME/.config/Kvantum
|
||||
cp -r $HOME/nixos-private-dots/shit/qt5ct $HOME/.config/qt5ct
|
||||
cp -r $HOME/nixos-private-dots/shit/qt6ct $HOME/.config/qt6ct
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue