Merge branch 'main'

This commit is contained in:
Buliway 2024-11-01 05:18:42 +03:00
commit 704d39b023
22 changed files with 558 additions and 515 deletions

101
README.md
View file

@ -18,6 +18,7 @@
- [Первый способ](#первый-способ) - [Первый способ](#первый-способ)
- [Второй способ](#второй-способ) - [Второй способ](#второй-способ)
- [После установки надо](#после-установки-надо) - [После установки надо](#после-установки-надо)
- [Изменения для виртуалок](#изменения-для-виртуалок)
- [Иконки](#иконки) - [Иконки](#иконки)
- [Темы](#темы) - [Темы](#темы)
@ -132,28 +133,10 @@
### Ребилд крашит систему ### Ребилд крашит систему
Эта проблема была раньше. Сейчас исправлена. Но заметку оставлю, вдруг пригодится в будущем
Ребилд системы через `switch` или `test` кладёт нахуй систему. Чёрный экран без возможности переключить tty через `ctrl + alt + F1-F7`. Можно юзать `boot`, чтоб после ребута пк применялось. Тогда не крашит и после ребута всё работает. Ребилд системы через `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`. Мне помогло. Но если будут ещё сервисы, ребилд на которых зависает и после него крашится система, то можно пробовать запретить рестарт при ребилде. Я сделал это для одного сервиса в `nixos/configuration.nix`. Мне помогло. Но если будут ещё сервисы, ребилд на которых зависает и после него крашится система, то можно пробовать запретить рестарт при ребилде.
#### Реальный способ исправить проблему
Походу дело было в сервисе `cage`. Когда я его удалил, то всё стало работать нормально
## TODO ## TODO
Надо сделать декларативную QT тему (ебал их рты). Сейчас у меня есть три каталог в каталоге `shit`. Их я могу скопировать в `~/.config`, нужная переменная окружения в `home.nix` стоит и всё заработает. Но это залупа. Другой человек не сможет это юзать мб. Потому что там в коде написан путь `/home/buliway`. Не всем же быть буливеями. Хотя это изи исправляется, потом сделаю. Но пока что я рот ебал тратить 3 дня на настройку темы бездарных далбаёбов на QT. Надо сделать декларативную QT тему (ебал их рты). Сейчас у меня есть три каталог в каталоге `shit`. Их я могу скопировать в `~/.config`, нужная переменная окружения в `home.nix` стоит и всё заработает. Но это залупа. Другой человек не сможет это юзать мб. Потому что там в коде написан путь `/home/buliway`. Не всем же быть буливеями. Хотя это изи исправляется, потом сделаю. Но пока что я рот ебал тратить 3 дня на настройку темы бездарных далбаёбов на QT.
@ -190,9 +177,9 @@
- Motherboard: MSI Z590-A PRO - Motherboard: MSI Z590-A PRO
- Два монитора 1920x1080 на 165 и 100 герц - Два монитора 1920x1080 на 165 и 100 герц
Основное набор софта Основной набор софта
Изначально я написал конфиги для `bspwm` + `polybar`. Но так как оба эти проги созданы далбаёбами бездарными, я переехал на `i3` + `i3bar`. В теории между ними можно переключаться при запуске пк, так что проблем быть не должно. Изначально я написал конфиги для `bspwm` + `polybar`. Но так как оба эти проги созданы далбаёбами бездарными, я перееду на `i3` + `i3bar`. В теории между ними можно переключаться при запуске пк, так что проблем быть не должно. Если какой-то wm надо выключить, чтоб не засирать систему, то это можно делать в `modules/home-manager/bundle.nix`
| Software | Name | | Software | Name |
| ------------ | -------------------------------- | | ------------ | -------------------------------- |
@ -207,7 +194,7 @@
| ScreenLock | betterlockscreen/i3lock | | ScreenLock | betterlockscreen/i3lock |
| Notification | Dunst | | Notification | Dunst |
| Files | Thunar, Ranger | | Files | Thunar, Ranger |
| Images | qView, imv, viewnior, feh | | Images | qView, imv, feh |
| Video | mpv with plugins | | Video | mpv with plugins |
| Music | Strawberry, Picard, Mousai, spek | | Music | Strawberry, Picard, Mousai, spek |
| Browsers | Librewolf, Firefox, Chromium | | 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. Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик. При установке выбираем минимальный вариант, без DE.
Кто-то говорит, что потом достаточно просто забилдить одной командой чужой конфиг, но это не так. Будет ошибка, что нет гита. Если использовать nix-shell для гита, то скажет, что нет экспериментальной функции. Либо писать огромную команду, либо, как советую сделать я, изменить стоковый конфиг никса. Для этого пишет следующее: Кто-то говорит, что потом достаточно просто забилдить одной командой чужой конфиг, но это не так. Будет ошибка, что нет гита. Если использовать nix-shell для гита, то скажет, что нет экспериментальной функции. Либо писать огромную команду, либо, как советую сделать я, изменить стоковый конфиг никса. Для этого пишем следующее:
```sh ```sh
sudo nano /etc/nixos/configuration.nix sudo nano /etc/nixos/configuration.nix
@ -355,15 +342,19 @@ sudo nano /etc/nixos/configuration.nix
sudo nixos-rebuild switch sudo nixos-rebuild switch
``` ```
Дальше есть два способа. Перед использованием любого из них я рекомендую сделать форк и внести следующие изменения в конфиг перед установкой: Дальше есть два способа. Перед использованием любого из них я рекомендую сделать форк и внести следующие изменения в конфиг перед установкой (либо можно сделать гит клон и через nano внести изменения для первых трёх пунктов, остальное менять на готовой системе):
- Заменить имя юзера на своё. Для этого надо открыть файл `nixos/configuration.nix` и заменить переменную `username` на ник своего юзера. И открыть файл `nixos/home.nix`, где надо заменить `username` и `homeDirectory`. - Переменную `username` в `nixos/configuration.nix`.
- Изменить параметры мониторов в `modules/home-manager/wm/bspwm/bspwm.nix`. Для этого через xrandr надо узнать параметры экрана. Либо закомментить настройки мониторов и посмотреть как будет работать из коробки. - `username` и `homeDirectory` в `nixos/home.nix`.
- Изменить gpu драйвер, если видеокарта не от amd. Самый простой вариант - закомментировать `videoDrivers` в `modules/nixos/xserver.nix`, `boot.initrd.kernelModules` и всю категорию настроек `amdgpu` в `modules/nixos/hardware.nix`. Мб он сам подберёт подходящий драйвер. Если же знаешь конкретные настройки, которые надо ставить, то пишешь их. - `userName` и `userEmail` в `modules/home-manager/terminal/git.nix`.
- Изменить настройки звука в `modules/nixos/sound.nix`. Там надо закомментировать `default.clock.allowed-rates` с кучей разных частот. Они сделаны для моего цапа, но у большинства людей это может вызвать ошибки. Те, кто знают что это и зачем, те изменят под себя.
- Закомментировать/удалить `./symlinks.nix` в файле `modules/home-manager/bundle.nix`. Там написаны симлинки для второго ссд, где я бекаплю браузер и тд. Ребилд выдаст ошибку, если другой человек попробует использовать этот же конфиг. А это можно донастроить уже в готовой системе
- Закомментировать/удалить `./filesystems.nix` в файле `modules/nixos/bundle.nix`. Там монтируется мой второй ссд для бекапов. Ребилд выдаст ошибку, если другой человек попробует использовать этот же конфиг. - Путь до `home` в `shit/qt5ct/qt5ct.conf` и `shit/qt6ct/qt6ct.conf`.
- Закомментировать/удалить `./hibernate.nix` в файле `modules/nixos/bundle.nix`. Там создаётся хибернация в файл подкачки по uuid. Ребилд выдаст ошибку, если другой человек попробует использовать этот же конфиг. - Параметры мониторов закомментированы в файле `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` или просто не отслеживаемые гитом файлы. С гитом есть нюанс. Если захочешь потом создать свои конфиги или добавить новые файлы, на которые надо ссылаться из nix, то надо указывать либо полный путь до файла, либо добавлять файл в гит. Если указывать относительный путь, как сделано в моих `bundle.nix`, то все эти файлы должны находиться в гите, либо каталог дотсов должен быть без гита вовсе. Если в каталоге дотсов инициализирован репозиторий гита, то в относительных путях он не видит файлы из `gitignore` или просто не отслеживаемые гитом файлы.
@ -373,6 +364,9 @@ sudo nixos-rebuild switch
```sh ```sh
sudo nixos-rebuild boot --flake github:Buliway/nixos-private-dots --impure sudo nixos-rebuild boot --flake github:Buliway/nixos-private-dots --impure
``` ```
Чтоб использовать с репой forgejo, можно попробовать такой синтаксис `git@git.buliway.ru:Buliway/nixos-private-dots`.
Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`. Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`.
### Второй способ ### Второй способ
@ -395,8 +389,10 @@ sudo nixos-rebuild boot --impure --flake ~/nixos-private-dots
size = 64*1024; # В мегабайтах size = 64*1024; # В мегабайтах
} ]; } ];
``` ```
- Включить гибренацию в `modules/nixos/hibernate.nix` - Настроить гибренацию в `modules/nixos/hibernate.nix`
- Активировать скрипт в `shit` каталоге, чтоб скопировать нужные конфиги в нужные каталоги. Симлинки не работают - Активировать скрипт в `shit` каталоге, чтоб скопировать нужные конфиги в нужные каталоги. Симлинки не работают
- Настроить приложения `Qt5 Settings`, `Qt6 Settings` и `Kvantum`. Там надо выбрать свою системную тему. Вроде всё интуитивно понятно будет. Можно попробовать обновить систему, в надежде, что системная тема `stylix` начнёт работать с приложениями `qt`. Для этого надо будет закомментить настройки `qt` в конфиге `stylix`.
- Руками настроить `thunar`, бинды для `ksnip`, `discord`, `telegram`, `steam` и `strawberry`
- Добавить gpg ключи - Добавить gpg ключи
```sh ```sh
gpg --import /path/to/your-key.gpg gpg --import /path/to/your-key.gpg
@ -408,6 +404,45 @@ gpg --edit-key ID-ключа
``` ```
В этом режиме надо написать trust и выбрать степень доверия. Например 5 для своих ключей можно задать, это прям самое максимально доверие. Потом Ctrl + D чтоб выйти. В этом режиме надо написать 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 пропадает. Приходится стопать и по новой запускать отображение
## Иконки ## Иконки

View file

@ -1,13 +1,7 @@
{ {
imports = [ imports = [
# ./browsers/chromium.nix
# ./browsers/firefox.nix
# ./browsers/librewolf.nix
./browsers/lynx.nix
./ranger/ranger.nix ./ranger/ranger.nix
./gui/vscode.nix ./gui/vscode.nix
./imv/imv.nix ./imv/imv.nix
@ -17,19 +11,39 @@
./terminal/alacritty.nix ./terminal/alacritty.nix
./terminal/git.nix ./terminal/git.nix
./terminal/kitty.nix ./terminal/kitty.nix
./terminal/lynx.nix
./terminal/starship.nix ./terminal/starship.nix
./terminal/zellij.nix ./terminal/zellij.nix
./terminal/zsh.nix ./terminal/zsh.nix
./wm/bspwm/bspwm.nix ./mangohud.nix
# ./pipewire.nix
# ./symlinks.nix
##############
## WM (X11) ##
##############
# Софт для работы WM на X11
./wm/rofi/rofi.nix ./wm/rofi/rofi.nix
./wm/dunst.nix ./wm/dunst.nix
./wm/i3.nix
./wm/lockscreen.nix ./wm/lockscreen.nix
./wm/polybar.nix
./wm/sxhkd.nix
./mangohud.nix # Для выключения i3 комментируй все строки ниже
./symlinks.nix ./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
]; ];
} }

View 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 ]
}
'';
}

View file

@ -1,7 +1,7 @@
# Надо удалить оригинальный файл, прежде чем делать симлинк # Надо удалить оригинальный файл, прежде чем делать симлинк
# Некоторые проги клали хуй на симлинки и заменяют их своими файлами # Некоторые проги клали хуй на симлинки и заменяют их своими файлами
# Таких прог я ебал рот и проклинал хуесосов разработчиков # Таких прог я ебал рот и проклинал хуесосов разработчиков
# Если выдаёт ошибку про home-manager сервир при ребилде, # Если выдаёт ошибку про home-manager сервис при ребилде,
# Значит такой файл уже существует и симлинк туда кинуть нельзя # Значит такой файл уже существует и симлинк туда кинуть нельзя
# Для таких файлов я сделал каталог shit # Для таких файлов я сделал каталог shit
@ -33,17 +33,6 @@ in {
"Downloads/Telegram Desktop".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Telegram Desktop"; "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 # Не знаю на счёт obs, chatbox, planify, calibre, discord, nekobox
}; };

View file

@ -66,30 +66,16 @@
#"command-not-found" # Скажет какой пакет скачать, если команда не найдена #"command-not-found" # Скажет какой пакет скачать, если команда не найдена
"copypath" # В терминале "copypath" скопирует нынешний абсолютный путь. Можно "copypath файл или дироктория" "copypath" # В терминале "copypath" скопирует нынешний абсолютный путь. Можно "copypath файл или дироктория"
"dirhistory" # Лютая имба https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/dirhistory "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" чтоб разархивировать файл. Одна команда на все архивы "extract" # В терминале "extract filename" чтоб разархивировать файл. Одна команда на все архивы
"fzf" # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fzf "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 # "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. Хз что это значит, мб пригодится # "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. "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. # "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 # "mise" # dev tools, env vars, task runner https://github.com/jdx/mise
# "npm" # Completion and aliases for npm "pass" # Completion for the pass password manager (вдруг добавит нечёткий поиск?)
# "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
"safe-paste" # Preventing any code from running while pasting, so you have a chance to review what was pasted "safe-paste" # Preventing any code from running while pasting, so you have a chance to review what was pasted
"ssh-agent" # Автостарт ssh-agent. Хз надо ли настраивать и если да, то как "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" # Показывает время выполнения команды "timer" # Показывает время выполнения команды
"universalarchive" # Run "ua <format> <files>"" to compress <files> into an archive file using <format> "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 # "vi-mode" # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/vi-mode

View file

@ -7,16 +7,18 @@
# Как я понял, эти команды выполняются в начале bspwmrc # Как я понял, эти команды выполняются в начале bspwmrc
# Ниже настройки для основного монитора. Мб вместе с --primary надо # Ниже настройки для основного монитора. Мб вместе с --primary надо
# И настройки для второго (правого) монитора # И настройки для второго (правого) монитора
extraConfigEarly = '' # extraConfigEarly = ''
xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165 # xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165
xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2 # xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
''; # '';
# Эти команды выполняются в конце bspwmrc # Эти команды выполняются в конце bspwmrc
extraConfig = '' extraConfig = ''
for m in $(polybar --list-monitors | cut -d":" -f1); do if [[ "$XDG_SESSION_DESKTOP" == *"bspwm"* ]]; then
MONITOR=$m polybar --reload bottom & for m in $(polybar --list-monitors | cut -d":" -f1); do
done MONITOR=$m polybar --reload bspwm &
done
fi
''; '';
startupPrograms = [ startupPrograms = [
@ -27,6 +29,7 @@
# "nekoray" # "nekoray"
# "obsidian" # "obsidian"
# "planify" # "planify"
# "spice-vdagent" # Для виртуалки
]; ];
monitors = let monitors = let
@ -60,25 +63,24 @@
state = "floating"; state = "floating";
}; };
in { # А тут правила окон in { # А тут правила окон
# "Polybar" = { layer = "below"; };
"Screenkey" = { manage = false; }; "Screenkey" = { manage = false; };
"gcolor3" = floating; "gcolor3" = floating;
"obs" = floating; "obs" = floating;
"steam" = floating; "steam" = floating;
"steam:steamwebhelper:Steam" = { state = "tiled"; }; "steam:steamwebhelper:Steam" = { state = "tiled"; };
"krita" = { state = "tiled"; }; "krita:krita:Krita - Edit Text" = floating;
"krita:krita:Krita - Edit Text" = floating; # мб надо "Krita - Edit Text — Krita" "krita:krita:Create new document" = floating;
"librewolf:librewolf:Save Image" = floating; "librewolf:librewolf:Save Image" = floating;
"SshAskpass" = floating; "SshAskpass" = floating;
"Nm-connection-editor" = floating; "Nm-connection-editor" = floating;
"nekoray" = floating;
"Kvantum Manager" = floating;
"qt5ct" = floating;
"qt6ct" = floating;
"ksnip" = floating1600x900; "ksnip" = floating1600x900;
# "ark" = floating1200x800; # Удалил, чтоб blowjob на экран не выдавало # "ark" = floating1200x800; # Удалил, чтоб blowjob на экран не выдавало
"file-roller" = floating1200x800; "file-roller" = floating1200x800;
"nekoray" = floating1200x800;
"floating-terminal" = floating1200x800; "floating-terminal" = floating1200x800;
"Kvantum Manager" = floating1200x800;
"qt5ct" = floating1200x800;
"qt6ct" = floating1200x800;
"pavucontrol" = floating900x600; "pavucontrol" = floating900x600;
# blueman-манагер надо флоатинг # blueman-манагер надо флоатинг
}; };

View 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%%";
};
};
};
}

View file

@ -5,8 +5,9 @@
# Стандартный конфиг https://github.com/baskerville/bspwm/blob/master/examples/sxhkdrc # Стандартный конфиг https://github.com/baskerville/bspwm/blob/master/examples/sxhkdrc
{ pkgs, config, ... }: let { pkgs, config, ... }: let
notifyMute = ''dunstify "$(if [ "$(pamixer --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'';
notifyMicMute = ''dunstify "$(if [ "$(pamixer --default-source --get-mute)" = "true" ]; 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''; notifyVolume = ''dunstify " Volume: $(pamixer --get-volume)" -r 91190 -t 800'';
# -r 91190: Это идентификатор уведомления (notification ID). Уведомления с одинаковым ID будут заменять друг друга. # -r 91190: Это идентификатор уведомления (notification ID). Уведомления с одинаковым ID будут заменять друг друга.
# -t 800: Это время в миллисекундах, через которое уведомление будет автоматически закрыто. # -t 800: Это время в миллисекундах, через которое уведомление будет автоматически закрыто.
@ -43,7 +44,7 @@ in {
# Lock screen # Lock screen
super + l super + l
betterlockscreen -l dimblur betterlockscreen -l dimblur --show-layout
# Quit. Закрыть приложение # Quit. Закрыть приложение
super + q super + q

View file

@ -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
'';
};
}

View file

@ -1,9 +1,9 @@
{ {
imports = [ imports = [
# ./env.nix # Мб не надо, ибо редачу через home.nix? # ./env.nix # Мб не надо, ибо редачу через home.nix?
./filesystems.nix # ./filesystems.nix
./hardware.nix ./hardware.nix
./hibernate.nix # ./hibernate.nix
./locale.nix ./locale.nix
./network.nix ./network.nix
./sound.nix ./sound.nix

View file

@ -4,15 +4,15 @@
{ pkgs, ... }: { { pkgs, ... }: {
hardware = { # Параметры для 24.05 и unstable могут сильно отличаться hardware = { # Параметры для 24.05 и unstable могут сильно отличаться
amdgpu = { # amdgpu = {
opencl.enable = true; # # Enable OpenCL support using ROCM runtime library. # opencl.enable = true; # # Enable OpenCL support using ROCM runtime library.
# amdvlk = { # Гавно лаганое, лучше radv юзать (radeon vulkan) # amdvlk = { # Гавно лаганое, лучше radv юзать (radeon vulkan)
# enable = true; # Enable AMDVLK Vulkan driver. # enable = true; # Enable AMDVLK Vulkan driver.
# support32Bit.enable = true; # Enable 32-bit driver support. # support32Bit.enable = true; # Enable 32-bit driver support.
# supportExperimental.enable = true; # Enable Experimental features support. # supportExperimental.enable = true; # Enable Experimental features support.
# # settings = {}; # Runtime settings for AMDVLK to be configured /etc/amd/amdVulkanSettings.cfg. # # settings = {}; # Runtime settings for AMDVLK to be configured /etc/amd/amdVulkanSettings.cfg.
# }; # };
}; # };
graphics = { # hardware.opengl переименован в hardware.graphics в unstable ветке graphics = { # hardware.opengl переименован в hardware.graphics в unstable ветке
enable = true; enable = true;
@ -51,7 +51,7 @@
# "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" # "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
# ]; # ];
boot.initrd.kernelModules = [ "amdgpu" ]; # Мб не обязательно # boot.initrd.kernelModules = [ "amdgpu" ]; # Мб не обязательно
# Для AMD существует два драйвера Vulkan # Для AMD существует два драйвера Vulkan
# Один официальный от AMD - amdvlk # Один официальный от AMD - amdvlk

View file

@ -8,11 +8,14 @@
# lsblk `df /swapfile | awk '/^\/dev/ {print $1}'` -no UUID # lsblk `df /swapfile | awk '/^\/dev/ {print $1}'` -no UUID
# Узнать offset файла подкачки: # Узнать 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 = { boot = {
resumeDevice = "/dev/disk/by-uuid/0951089a-fd89-4647-9ddb-0e3ff63d7b49"; resumeDevice = "/dev/disk/by-uuid/15630f8d-edf8-4e0b-8df4-9ac20f80fc88";
kernelParams = [ "resume_offset=6807551" ]; kernelParams = [ "resume_offset=18745344" ];
}; };
# Не знаю надо ли это. На виртуалке я не могу забутиться в любом случае
# boot.initrd.systemd.enable = true;
} }

View file

@ -54,7 +54,8 @@
context.properties = { context.properties = {
default.clock.rate = 48000; 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) # Ниже настройки для минимальной задержки в играх (например osu!stable через wine)

View file

@ -44,11 +44,14 @@
# </channel> # </channel>
# services = { # services = {
# openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал. # openssh.enable = true; # Это ставится на виртуалку, чтоб к ней конект по ssh работал.
# qemuGuest.enable = true; # Time syncing and scripting
# spice-vdagentd.enable = true; # Clipboard sharing # spice-vdagentd.enable = true; # Clipboard sharing
# spice-webdavd.enable = true; # VirtFS alternative for directory sharing # qemuGuest = {
# qemuGuest.package = pkgs.qemu_full; # Time syncing and scripting # enable = true; # Fix resolution
# package = pkgs.qemu_full;
# };
# # Ниже я не включаю
# # spice-webdavd.enable = true; # VirtFS alternative for directory sharing
# }; # };
} }

View file

@ -7,6 +7,14 @@
services.displayManager = { services.displayManager = {
defaultSession = "none+bspwm"; # only effective for GDM, LightDM and SDDM 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 = { services.libinput = {
@ -28,17 +36,6 @@
i3.enable = true; # i3-gaps доступен в стоке в новых версиях i3.enable = true; # i3-gaps доступен в стоке в новых версиях
}; };
displayManager = {
lightdm = { # Минималистичный display manager
enable = true;
# background = "./bg.png";
# greeters = {
# tiny.enable = true; # Фул минималистичная тема без ничего
# # gtk.enable = true; # GTK тема с кучей настроек
# };
};
};
xkb = { xkb = {
layout = "us,ru"; layout = "us,ru";
variant = ""; variant = "";
@ -49,7 +46,7 @@
# https://discourse.nixos.org/t/amd-gpu-optimal-settings/27648/3 # https://discourse.nixos.org/t/amd-gpu-optimal-settings/27648/3
# videoDrivers = [ "nvidia" ]; # https://nixos.wiki/wiki/Nvidia # videoDrivers = [ "nvidia" ]; # https://nixos.wiki/wiki/Nvidia
videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU # videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
deviceSection = ''Option "TearFree" "True"''; # deviceSection = ''Option "TearFree" "True"'';
}; };
} }

View file

@ -16,13 +16,16 @@ in {
# Список сервисов, которые не надо ребутать после rebuild switch # Список сервисов, которые не надо ребутать после rebuild switch
# Мне это надо, потому что некоторые сервисы кладут систему # Мне это надо, потому что некоторые сервисы кладут систему
systemd.services = { # systemd.services = {
"accounts-daemon".restartIfChanged = false; # "accounts-daemon".restartIfChanged = false;
# "home-manager-buliway".restartIfChanged = false; # "home-manager-buliway".restartIfChanged = false;
}; # };
boot = { boot = {
kernelPackages = pkgs.linuxPackages_latest; # Ядро линуха, ласт версия kernelPackages = pkgs.linuxPackages_latest; # Ядро линуха, ласт версия
# kernelParams = [ # https://nixos.wiki/wiki/AMD_GPU#Dual_Monitors
# "video=1920x1080"
# ];
loader = { loader = {
# systemd-boot.enable = true; # systemd-boot.enable = true;
@ -31,13 +34,7 @@ in {
efiSupport = true; efiSupport = true;
device = "nodev"; # nodev позволяет не устанавливать grub в конкретное место, но видеть его ui device = "nodev"; # nodev позволяет не устанавливать grub в конкретное место, но видеть его ui
}; };
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
# kernelParams = [ # https://nixos.wiki/wiki/AMD_GPU#Dual_Monitors
# "video=DP-3:1920x1080@165"
# "video=HDMI-A-1:1920x1080@75"
# ];
}; };
}; };

View file

@ -39,17 +39,11 @@
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
# flatpak.enable = true; # 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 # fwupd.enable = true; # DBus service that allows applications to update firmware
# greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого) # greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого)
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь # fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
# archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить # archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить
# Для запуска wayland приложений на x11. Мне для waydroid надо
# cage = {
# enable = true;
# user = "buliway";
# };
}; };
programs = { programs = {
@ -58,7 +52,7 @@
gnupg.agent = { gnupg.agent = {
enable = true; enable = true;
enableSSHSupport = true; enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-qt; pinentryPackage = pkgs.pinentry-qt; # Окно ввода пароля
}; };
appimage = { # Чтоб .appimage работал appimage = { # Чтоб .appimage работал
@ -72,9 +66,9 @@
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; [
thunar-media-tags-plugin # Thunar plugin providing tagging and renaming features for media files thunar-media-tags-plugin # Tagging and renaming features for media files
thunar-archive-plugin # Thunar plugin providing file context menus for archives thunar-archive-plugin # File context menus for archives
thunar-volman # Thunar extension for automatic management of removable drives and media thunar-volman # Automatic management of removable drives and media
]; ];
}; };
xfconf.enable = true; # For Thunar configs xfconf.enable = true; # For Thunar configs
@ -134,23 +128,22 @@
wget wget
curl curl
git git
xclip # Для работы буфера обмена xclip # Буфера обмена
ffmpeg_7 # Обработка видео. Нужен всегда и везде ffmpeg_7 # Обработка видео. Нужен всегда и везде как зависимость
imagemagick # Обработка изображений. Мб тоже нужен всегда imagemagick # Обработка изображений. Мб тоже нужен всегда
tree # Структура файлов в терминале tree # Структура файлов в терминале
gnugrep # Поиск в терминале gnugrep # Поиск в терминале
gawk # Обработка и анализ текста в терминале gawk # Обработка и анализ текста в терминале
rsync # Синхронизация файлов rsync # Синхронизация файлов
bat # A cat(1) clone with syntax highlighting and Git integration. bat # Аналог cat с подсветкой синтаксиса
xorg.xwininfo # Для команды xprop? Статы окна, по типу класса xorg.xwininfo # Команда xprop. Статы окна, по типу класса
xorg.xrandr # Для команды xrandr. Управление мониторами xorg.xrandr # Управление мониторами
xorg.xev # Для команды xev, чтоб узнать бинды xorg.xev # Узнать айдишник бинда
xdg-utils # Set of command line tools that assist applications with a variety of desktop integration tasks xdg-utils # Set of command line tools that assist applications with a variety of desktop integration tasks
feh # Смотреть изображения. Вроде нужен в большом количестве софта как зависимость playerctl # Управление медиа. Плей/пауза и тд
playerctl # Command-line utility and library for controlling media players that implement MPRIS xdotool # Fake keyboard/mouse input. Для rofi-pass
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 # Количество строк кода на разных языках в каталоге
tokei # Показывает количество строк кода на разных языках внутри каталога
pass # Менеджер паролей в терминале pass # Менеджер паролей в терминале
btop # Монитор ресурсов в терминале btop # Монитор ресурсов в терминале
# rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает) # rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает)
@ -164,8 +157,8 @@
fzf # Нечёткий поиск fzf # Нечёткий поиск
killall # Убить процессы. Мем, что в стоке не стоит killall # Убить процессы. Мем, что в стоке не стоит
libnotify # Вызов оповещений через "notify-send" libnotify # Вызов оповещений через "notify-send"
gallery-dl # download images from several image hosting sites gallery-dl # Качать много картинок с кучи разных сайтов
nvim shellcheck # Проверка shell скриптов на ошибки
alacritty # Минималистичный терминал. Основной у меня alacritty # Минималистичный терминал. Основной у меня
kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает
@ -194,7 +187,6 @@
librewolf librewolf
firefox firefox
chromium chromium
# ff2mpv # Открывать видео из браузера в mpv плеере
lynx # Текстовый браузер в терминале. Без картинок lynx # Текстовый браузер в терминале. Без картинок
########## ##########
@ -257,9 +249,10 @@
mousai # Опенсорс шазам. Со временем просит платный api mousai # Опенсорс шазам. Со временем просит платный api
spek # Спектрограмма аудио. spek # Спектрограмма аудио.
mpv # Смотреть видео mpv # Смотреть видео
imv # Смотреть картинки 1. Не умеет показывать анимированные webp # Смотреть картинки
qview # Смотреть картинки 2. Если imv не может что-то открыть imv # Не умеет показывать анимированные webp. Через раз может показывать avif
viewnior # До перехода на wayland юзал его. Если сортирует лучше imv, то удалить imv qview # Умеет в анимированные webp. Не умеет открывать avif
feh # Нужен в большом количестве софта как зависимость. Может в avif, но криво
############ ############
## Social ## ## Social ##
@ -270,10 +263,7 @@
withVencord = true; # Имба плагины # TODO: Настройки надо сделать декларативными withVencord = true; # Имба плагины # TODO: Настройки надо сделать декларативными
}) })
telegram-desktop telegram-desktop
revolt-desktop # FOSS аналог дискорда
element-desktop # Matrix клиент десктоп. Без кастом смайликов
# cinny-desktop # Matrix клиент с кастом смайликами, похож на дс
# https://github.com/commetchat/commet/pull/295 # Matrix клиент, фул копия дса
########### ###########
## Games ## ## Games ##
@ -283,7 +273,7 @@
# steam # Мб не надо сюда писать, раз через programs.steam редачу # steam # Мб не надо сюда писать, раз через programs.steam редачу
# heroic # A Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac # heroic # A Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
# lutris # Запускать игры не из стима # lutris # Запускать игры не из стима
bottles # Минималистичная альтернатива lutris # bottles # Минималистичная альтернатива lutris
# Мб зависимости # Мб зависимости
steam-run # На всякий случай steam-run # На всякий случай
@ -316,7 +306,7 @@
## IDE ## ## IDE ##
######### #########
# neovim # Мб не надо писать, он у меня необычный, через nixvim flake neovim # Мб не надо писать, он у меня необычный, через nixvim flake
# vscode # Надо в home.packages писать, чтоб расширения ставились без рута # vscode # Надо в home.packages писать, чтоб расширения ставились без рута
# jetbrains-toolbox # Надо в home.packages писать. https://nixos.wiki/wiki/Jetbrains_Tools # jetbrains-toolbox # Надо в home.packages писать. https://nixos.wiki/wiki/Jetbrains_Tools
helix # A Kakoune / Neovim inspired editor, written in Rust. helix # A Kakoune / Neovim inspired editor, written in Rust.
@ -365,12 +355,15 @@
google-fonts google-fonts
libva-utils # Проверяет работоспособность VAAPI? libva-utils # Проверяет работоспособность VAAPI?
clinfo # Проверяет работоспособность OpenCL? clinfo # Проверяет работоспособность OpenCL?
libcap # Мб надо для nekoray
libsecret # Хранить и получать аккаунты у приложений. Например для jetbrains toolbox libsecret # Хранить и получать аккаунты у приложений. Например для jetbrains toolbox
alsa-utils # Мне для команды amixer надо alsa-utils # Мне для команды amixer надо
pamixer # PulseAudio cli (громкость редачу) 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
]; ];
} }

View file

@ -1,8 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
cp ./helpers.rc $HOME/.config/xfce4/helpers.rc mkdir -p $HOME/.config/xfce4/
cp ./mimeapps.list $HOME/.config/mimeapps.list 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 -r $HOME/nixos-private-dots/shit/Kvantum $HOME/.config/Kvantum
cp ./qt5ct $HOME/.config/qt5ct cp -r $HOME/nixos-private-dots/shit/qt5ct $HOME/.config/qt5ct
cp ./qt6ct $HOME/.config/qt6ct cp -r $HOME/nixos-private-dots/shit/qt6ct $HOME/.config/qt6ct