249 lines
18 KiB
Markdown
249 lines
18 KiB
Markdown
Это мои дотсы
|
||
|
||
Железо, на котором это работает:
|
||
- CPU: i5 10400f
|
||
- GPU: AMD RX6600
|
||
- RAM: 32gb (2x16) ddr4 3200
|
||
- Motherboard: MSI Z590-A PRO
|
||
|
||
Чтоб узнать sha256 для гитхаб репы, пишем в терминал эту команду:
|
||
```sh
|
||
nix-prefetch-git link
|
||
```
|
||
|
||
Если хочется поменять цвета или шрифты в конфиге какой-то программы, но при ребилде получается конфликт, то дело в Stylix, который управляет системной темой и сам везде ставит шрифты и цвета. Если хочется заменить, не трогая stylix, то надо добавить `lib.mkForce` перед значением. Например так:
|
||
```nix
|
||
font = lib.mkForce "JetBrainsMono Nerd Font 11";
|
||
```
|
||
|
||
Узнать localhost виртуалки, чтоб конектиться по ssh:
|
||
```sh
|
||
ip a
|
||
```
|
||
|
||
## Другие README файлы в этих дотсах
|
||
|
||
- [Копия man page для bspwm с доп инфой](./modules/home-manager/wm/bspwm/bspwm.md)
|
||
- [Описание плагинов для mpv](./modules/home-manager/mpv/README.md)
|
||
|
||
## Мини гайд по NixOS
|
||
|
||
- Одинаковые вещи могут делаться разными способами. Это норма. По началу меня это бесило, когда читал чужие дотсы
|
||
- [Плейлист](https://www.youtube.com/playlist?list=PLko9chwSoP-15ZtZxu64k_CuTzXrFpxPE) с английскими видео. Мне больше всего понравились видео под номерами [16](https://youtu.be/a67Sv4Mbxmc), [18](https://youtu.be/b641h63lqy0), [21](https://youtu.be/rEovNpg7J0M), [27](https://youtu.be/ljHkWgBaQWU) и [28](https://youtu.be/JCeYq72Sko0).
|
||
- Пакеты искать [тут](https://search.nixos.org/packages). Параметры для сток NixOS [тут](https://search.nixos.org/options). Параметры для home-manager [тут](https://home-manager-options.extranix.com/?query=&release=master). Для моих конфигов надо обязательно искать в unstable ветке, ибо параметры могут отличаться.
|
||
- Для системной темы тут используется stylix. Все его параметры можно найти [тут](https://stylix.danth.me/options/nixos.html).
|
||
|
||
## Процесс установки
|
||
|
||
Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик.
|
||
|
||
Дальше есть два способа. Оба нужны, чтоб заменить имя юзера на своё перед установкой моих дотсов. Для этого надо открыть файл `./nixos/configuration.nix` и заменить переменную `username` на ник своего юзера.
|
||
|
||
### Первый способ
|
||
|
||
Сделать форк этого репозитория. Внести нужные изменения. После установки NixOS временно включить гит и установить систему:
|
||
```sh
|
||
nix shell -p git
|
||
sudo nixos-rebuild boot --flake github:Buliway/nixos-dots --impure
|
||
```
|
||
Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`.
|
||
|
||
### Второй способ
|
||
|
||
После установки NixOS временно включить гит, клонировать репозиторий, изменить нужный файл, ребилдить систему:
|
||
```sh
|
||
nix shell -p git
|
||
git clone https://github.com/Buliway/nixos-dots
|
||
nano ~/nixos-dots/nixos/configuration.nix
|
||
# Заменить переменную `username` на ник своего юзера
|
||
sudo nixos-rebuild boot --impure --flake ~/nixos-dots
|
||
```
|
||
Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`.
|
||
|
||
## После установки надо
|
||
|
||
Это заметка для меня. Каждый ставит то, что ему надо
|
||
|
||
- Включить подкачку на 64 гига в `/etc/nixos/hardware-configuration.nix` через такой синтаксис:
|
||
```nix
|
||
swapDevices = [ {
|
||
device = "/swapfile";
|
||
size = 64*1024; # В мегабайтах
|
||
} ];
|
||
```
|
||
- Включить автомаунд бекап ссд и сделать симлинк на него в `~/backups` в файле `./modules/nixos/filesystems.nix` и раскомментировать импорт в `./nixos/configuration.nix`.
|
||
- Сделать симлинки на все нужные вещи в `./modules/home-manager/symlinks.nix`. Например браузеры я так бекаплю
|
||
- Раскомментировать нужные мне настройки звука в `./modules/nixos/sound.nix`
|
||
|
||
## Бинды
|
||
|
||
Клавиша `Super` это клавиша `Win`
|
||
|
||
| Bspwm | Описание |
|
||
| --------------------------------- | ------------------------------------------------------------------------------------------- |
|
||
| `Super + L` | Lock screen |
|
||
| `Super + Q` | Quit. Выключить приложение |
|
||
| `Super + Shift + Q` | Kill. Если приложение не отвечает, то убить его |
|
||
| `Super + F` | Floating toggle |
|
||
| `Super + Enter` | Fullscreen toggle |
|
||
| `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора |
|
||
| `Super + ЛКМ` | Переместить окно |
|
||
| `Super + ПКМ` | Ресайзить окно |
|
||
| `Super + Arrows` | Менять фокус приложения в указанном направлении |
|
||
| `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 |
|
||
| `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге |
|
||
| `Super + Ctrl + Down` | Переключает на первый пустой воркспейс |
|
||
| `Super + Ctrl + Left/Right` | Переключает на предыдущий/следующий воркспейс. Тоесть делает -1 или +1 от текущего |
|
||
| `Super + Ctrl + Alt + Down` | Свапает активное окно с самым большим на экране |
|
||
| `Super + Ctrl + Alt + Left/Right` | Перекидывает активное окно на предыдущий/следующий воркспейс и следует за ним |
|
||
| `Super + Alt = Arrows` | Move floating window |
|
||
| `Super + Shift + Arrows` | Resize window на 30 пикселей в указанном направлении наружу |
|
||
| `Super + Shift + Alt + Arrows` | Resize window на 30 пикселей в указанном направлении внутрь |
|
||
| `Super + Shift + Ctrl + Arrows` | Перемещает активное окно в указанном направлении |
|
||
| `Super + S` | Split toggle. Меняет позиционирование с горизонтального на вертикальный и обратно. |
|
||
| `Super + Ctrl + Shift + R` | Make sxhkd reload its config files |
|
||
| `Super = Alt + Ctrn + Shift + R` | Restart bspwm |
|
||
| `Super = Alt + Ctrn + Shift + Q` | Quit bspwm |
|
||
| `Super + button{1-3}` | Move, resize_side, resize_corner |
|
||
|
||
| Rofi | Описание |
|
||
| ------------------- | ---------------------------------------------------------------------------------------------- |
|
||
| `Super + A` | Applications. Запускатор софта |
|
||
| `Super + C` | Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. |
|
||
| `Super + P` | Passwords. Пароли из утилиты pass |
|
||
| `Super + V` | История буфера обмена. Как ctrl+v, но через win. |
|
||
| `Super + Tab` | Как alt+tab, переключение окон. На нужный воркспейс само перекинет |
|
||
| `Super + Alt + T` | Timer. Думаю сделать через утилиту timer |
|
||
| `Super + Shift + N` | Notification history. История оповещений. Мб сделать только в баре кнопку? Мб не делать вообще |
|
||
| `Super + Backspace` | PowerMenu. Выключение пк |
|
||
|
||
| Applications | Описание |
|
||
| -------------------------- | ----------------------------------------- |
|
||
| `Super + B` | Browser LibreWolf. Основа |
|
||
| `Super + Shift + B` | Browser Firefox. Паблик активность |
|
||
| `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет |
|
||
| `Super + N` | Note taking app (obsidian) |
|
||
| `Super + E` | Explorer. Thunar file manager |
|
||
| `Super + I` | IDE, text editor, NeoVim |
|
||
| `Super + M` | Monitor of resources (btop) |
|
||
| `Super + G` | Goals. Todo manager. Task tracker |
|
||
| `Super + Shift + C` | Color picker. Получить hex в буфер обмена |
|
||
| `Super + Ctrl + C` | Color picker. Получить rgb в буфер обмена |
|
||
|
||
| Terminal | Описание |
|
||
| -------------------------- | ---------------------------------------------------------------------------- |
|
||
| `Super + T` | Terminal основной |
|
||
| `Super + Shift + T` | Floating Terminal основной в центре экрана с размерами треть на треть экрана |
|
||
| `Super + Ctrl + T` | Terminal запасной |
|
||
| `Super + Shift + Ctrl + T` | Floating Terminal запасной в центре экрана с размерами треть на треть экрана |
|
||
|
||
| Колдунские кнопки | Описание |
|
||
| ----------------------- | ---------------------- |
|
||
| `XF86AudioMute` | Toggle audio mute |
|
||
| `XF86AudioMicMute` | Toggle microphone mute |
|
||
| `XF86AudioLowerVolume` | Decrease volume |
|
||
| `XF86AudioRaiseVolume` | Increase volume |
|
||
| `XF86AudioPlay` | Play/pause |
|
||
| `XF86AudioPause` | Play/pause |
|
||
| `XF86AudioNext` | Next track |
|
||
| `XF86AudioPrev` | Previous track |
|
||
| `XF86MonBrightnessUp` | Increase brightness |
|
||
| `XF86MonBrightnessDown` | Decrease brightness |
|
||
|
||
| Not sxhkd | Описание |
|
||
| --------------- | ---------------------- |
|
||
| `Print` | Выделить область |
|
||
| `Print + Alt` | Все мониторы целиком |
|
||
| `Print + Ctrl` | Активный монитор |
|
||
| `Print + Shift` | Активное окно |
|
||
| `CapsLock` | Switch keyboard layout |
|
||
|
||
Так же есть бинд на зажим дальней боковой кнопки мыши. Если эту кнопку нажимать, то она работает как обычно. Если её зажать и начать двигать мышку, то вместо движения курсора будет плавный скрол. Обычно такое делают на трекболах без колеса мыши, но я люблю этот метод скрола на любом девайсе. Можно скролить с нужной скоростью и точностью куда надо без долгого кручения колеса.
|
||
|
||
|
||
## Иконки
|
||
|
||
Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet).
|
||
|
||
Соберу сюда список nerd иконок, которые могут пригодиться
|
||
|
||
CPU (мб не юзать, а писать текстом и cpu и gpu) -
|
||
|
||
RAM -
|
||
|
||
CapsLock -
|
||
|
||
Клавиатура - или
|
||
|
||
Громкость -
|
||
|
||
Яркость -
|
||
|
||
Календарь -
|
||
|
||
Выключение пк - ⏻
|
||
|
||
Приложения -
|
||
|
||
Блютуз -
|
||
|
||
Network -
|
||
|
||
Clipboard -
|
||
|
||
Оповещения (bell) -
|
||
|
||
Reload -
|
||
|
||
|
||
Wifi
|
||
|
||
|
||
|
||
Батарейки
|
||
|
||
|
||
|
||
|
||
|
||
Батарейки зарядка
|
||
|
||
|
||
|
||
|
||
Батарейки блютуз
|
||
|
||
|
||
|
||
Температура
|
||
- Температура по цельсию
|
||
|
||
|
||
|
||
|
||
## Темы
|
||
|
||
У меня в vscode цвета отображаются. Так что я для себя сохраню цвета разных вариантов gruvbox
|
||
|
||
Цвет это название цвета. Потом идёт название gruvbox-имя
|
||
|
||
Я использую gruvbox-dark-medium
|
||
|
||
|Цвет |dark-hard|dark-medium|dark-pale|dark-soft|material-dark-hard|material-dark-medium|material-dark-soft|
|
||
|------|---------|-----------|---------|---------|------------------|--------------------|------------------|
|
||
|base00| #1d2021 | #282828 | #262626 | #32302f | #202020 | #292828 | #32302f |
|
||
|base01| #3c3836 | #3c3836 | #3a3a3a | #3c3836 | #2a2827 | #32302f | #3c3836 |
|
||
|base02| #504945 | #504945 | #4e4e4e | #504945 | #504945 | #504945 | #5a524c |
|
||
|base03| #665c54 | #665c54 | #8a8a8a | #665c54 | #5a524c | #665c54 | #7c6f64 |
|
||
|base04| #bdae93 | #bdae93 | #949494 | #bdae93 | #bdae93 | #bdae93 | #bdae93 |
|
||
|base05| #d5c4a1 | #d5c4a1 | #dab997 | #d5c4a1 | #ddc7a1 | #ddc7a1 | #ddc7a1 |
|
||
|base06| #ebdbb2 | #ebdbb2 | #d5c4a1 | #ebdbb2 | #ebdbb2 | #ebdbb2 | #ebdbb2 |
|
||
|base07| #fbf1c7 | #fbf1c7 | #ebdbb2 | #fbf1c7 | #fbf1c7 | #fbf1c7 | #fbf1c7 |
|
||
|base08| #fb4934 | #fb4934 | #d75f5f | #fb4934 | #ea6962 | #ea6962 | #ea6962 |
|
||
|base09| #fe8019 | #fe8019 | #ff8700 | #fe8019 | #e78a4e | #e78a4e | #e78a4e |
|
||
|base0A| #fabd2f | #fabd2f | #ffaf00 | #fabd2f | #d8a657 | #d8a657 | #d8a657 |
|
||
|base0B| #b8bb26 | #b8bb26 | #afaf00 | #b8bb26 | #a9b665 | #a9b665 | #a9b665 |
|
||
|base0C| #8ec07c | #8ec07c | #85ad85 | #8ec07c | #89b482 | #89b482 | #89b482 |
|
||
|base0D| #83a598 | #83a598 | #83adad | #83a598 | #7daea3 | #7daea3 | #7daea3 |
|
||
|base0E| #d3869b | #d3869b | #d485ad | #d3869b | #d3869b | #d3869b | #d3869b |
|
||
|base0F| #d65d0e | #d65d0e | #d65d0e | #d65d0e | #bd6f3e | #bd6f3e | #bd6f3e |
|