Удалил гавно и добавил qt/icon темы

This commit is contained in:
Buliway 2024-08-12 01:00:12 +03:00
parent 1b58add121
commit a7f66108ad
50 changed files with 336 additions and 170 deletions

165
README.md
View file

@ -1,4 +1,8 @@
Это мои дотсы Я ебал рот бездарных блядей, которые не могут сделать нормальную систему. Просто блять не существует нормальной OS на планете. Какого блядского хуя ебаные дауны блять делают симлинк для конфигов home-manager и при этом дают рандомному софту удалить симлинк? Хули тебе блядь такая мешает записывать в симлинк? Какого хуя я должен бороться с блядскими крашами и невозможностью ребилдить систему? Хули толку от твоего блядского даун менеджера, если он нихуя не может сделать блять и один хуй надо руками всё линковать блять? Ебаное блядство делает конфиги и потом не может ребилдить систему, потому что даёт блядскому софту заменить себя рандомной директорией блять
- Ебучий thunar не работает блять, заменяет симлинк на свой конфиг
- Ебучий mime types нихуя не работает блять и тоже заменяется какой-то блядью
## Дотсы
Железо, на котором это работает: Железо, на котором это работает:
- CPU: i5 10400f - CPU: i5 10400f
@ -21,6 +25,26 @@ font = lib.mkForce "JetBrainsMono Nerd Font 11";
ip a ip a
``` ```
## Настройка мониторов
На иксах второй монитор может не работать или все мониторы могут сидеть на 60 герц. Изменить это один раз недостаточно, после ребута сбросится. Не знаю нормального способа, кроме как добавить настройки в автозапуск. Ниже пример того, как произвести начальную настройкy:
```sh
# Увидеть список мониторов
xrandr
# Изменить настройки для основного монитора. Мб вместе с --primary для основного монитора
xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165
# Изменить настройки для второго (правого) монитора
xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2
```
Есть ещё такая штука - https://github.com/phillipberndt/autorandr . Но мне лень с ней разбираться
## Системная тема на всех вебсайтах
Если используется популярная системная тема, то, скорее всего, её можно выбрать в браузерном расширении DarkReader, чтоб все сайты в интернете выглядели как системная тема. Может быть я потом займусь синхронизацией темы stylix с настройками DarkReader
## Другие README файлы в этих дотсах ## Другие README файлы в этих дотсах
- [Копия man page для bspwm с доп инфой](./modules/home-manager/wm/bspwm/bspwm.md) - [Копия man page для bspwm с доп инфой](./modules/home-manager/wm/bspwm/bspwm.md)
@ -73,90 +97,91 @@ sudo nixos-rebuild boot --impure --flake ~/nixos-dots
``` ```
- Включить автомаунд бекап ссд и сделать симлинк на него в `~/backups` в файле `./modules/nixos/filesystems.nix` и раскомментировать импорт в `./modules/nixos/bundle.nix`. - Включить автомаунд бекап ссд и сделать симлинк на него в `~/backups` в файле `./modules/nixos/filesystems.nix` и раскомментировать импорт в `./modules/nixos/bundle.nix`.
- Сделать симлинки на все нужные вещи в `./modules/home-manager/symlinks.nix`. Например браузеры я так бекаплю - Сделать симлинки на все нужные вещи в `./modules/home-manager/symlinks.nix`. Например браузеры я так бекаплю
- Активировать скрипт в `shit` каталоге, чтоб скопировать нужные конфиги в нужные каталоги. Симлинки не работают
- Раскомментировать нужные мне настройки звука в `./modules/nixos/sound.nix` - Раскомментировать нужные мне настройки звука в `./modules/nixos/sound.nix`
## Бинды ## Бинды
Клавиша `Super` это клавиша `Win` Клавиша `Super` это клавиша `Win`
| Bspwm | Описание | | Bspwm | Описание | Работает? |
| --------------------------------- | ------------------------------------------------------------------------------------------- | | --------------------------------- | ------------------------------------------------------------------------------------------- | --------- |
| `Super + L` | Lock screen | | `Super + L` | Lock screen | Да |
| `Super + Q` | Quit. Выключить приложение | | `Super + Q` | Quit. Выключить приложение | Да |
| `Super + Shift + Q` | Kill. Если приложение не отвечает, то убить его | | `Super + Shift + Q` | Kill. Если приложение не отвечает, то убить его | Да |
| `Super + F` | Floating toggle | | `Super + F` | Floating toggle | Да |
| `Super + Enter` | Fullscreen toggle | | `Super + Enter` | Fullscreen toggle |нет|
| `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора | | `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора |нет|
| `Super + ЛКМ` | Переместить окно | | `Super + ЛКМ` | Переместить окно |нет|
| `Super + ПКМ` | Ресайзить окно | | `Super + ПКМ` | Ресайзить окно |нет|
| `Super + Arrows` | Менять фокус приложения в указанном направлении | | `Super + Arrows` | Менять фокус приложения в указанном направлении |нет|
| `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 | | `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 |хз|
| `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге | | `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге |хз|
| `Super + Ctrl + Down` | Переключает на первый пустой воркспейс | | `Super + Ctrl + Down` | Переключает на первый пустой воркспейс |хз|
| `Super + Ctrl + Left/Right` | Переключает на предыдущий/следующий воркспейс. Тоесть делает -1 или +1 от текущего | | `Super + Ctrl + Left/Right` | Переключает на предыдущий/следующий воркспейс. Тоесть делает -1 или +1 от текущего |хз|
| `Super + Ctrl + Alt + Down` | Свапает активное окно с самым большим на экране | | `Super + Ctrl + Alt + Down` | Свапает активное окно с самым большим на экране |хз|
| `Super + Ctrl + Alt + Left/Right` | Перекидывает активное окно на предыдущий/следующий воркспейс и следует за ним | | `Super + Ctrl + Alt + Left/Right` | Перекидывает активное окно на предыдущий/следующий воркспейс и следует за ним |хз|
| `Super + Alt + Arrows` | Move floating window | | `Super + Alt + Arrows` | Move floating window |хз|
| `Super + Shift + Arrows` | Resize window на 30 пикселей в указанном направлении наружу | | `Super + Shift + Arrows` | Resize window на 30 пикселей в указанном направлении наружу |хз|
| `Super + Shift + Alt + Arrows` | Resize window на 30 пикселей в указанном направлении внутрь | | `Super + Shift + Alt + Arrows` | Resize window на 30 пикселей в указанном направлении внутрь |хз|
| `Super + Shift + Ctrl + Arrows` | Перемещает активное окно в указанном направлении | | `Super + Shift + Ctrl + Arrows` | Перемещает активное окно в указанном направлении |хз|
| `Super + S` | Split toggle. Меняет позиционирование с горизонтального на вертикальный и обратно. | | `Super + S` | Split toggle. Меняет позиционирование с горизонтального на вертикальный и обратно. |хз|
| `Super + Ctrl + Shift + R` | Make sxhkd reload its config files | | `Super + Ctrl + Shift + R` | Make sxhkd reload its config files |хз|
| `Super + Alt + Ctrn + Shift + R` | Restart bspwm | | `Super + Alt + Ctrn + Shift + R` | Restart bspwm |хз|
| `Super + Alt + Ctrn + Shift + Q` | Quit bspwm | | `Super + Alt + Ctrn + Shift + Q` | Quit bspwm |хз|
| `Super + button{1-3}` | Move, resize_side, resize_corner | | `Super + button{1-3}` | Move, resize_side, resize_corner |хз|
| Rofi | Описание | | Rofi | Описание | Работает? |
| ------------------- | ---------------------------------------------------------------------------------------------- | | ------------------- | ---------------------------------------------------------------------------------------------- | --------- |
| `Super + A` | Applications. Запускатор софта | | `Super + A` | Applications. Запускатор софта | Да |
| `Super + C` | Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. | | `Super + C` | Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. |нет|
| `Super + P` | Passwords. Пароли из утилиты pass | | `Super + P` | Passwords. Пароли из утилиты pass |нет|
| `Super + V` | История буфера обмена. Как ctrl+v, но через win. | | `Super + V` | История буфера обмена. Как ctrl+v, но через win. |нет|
| `Super + Tab` | Как alt+tab, переключение окон. На нужный воркспейс само перекинет | | `Super + Tab` | Как alt+tab, переключение окон. На нужный воркспейс само перекинет |хз|
| `Super + Alt + T` | Timer. Думаю сделать через утилиту timer | | `Super + Alt + T` | Timer. Думаю сделать через утилиту timer |хз|
| `Super + Shift + N` | Notification history. История оповещений. Мб сделать только в баре кнопку? Мб не делать вообще | | `Super + Shift + N` | Notification history. История оповещений. Мб сделать только в баре кнопку? Мб не делать вообще |хз|
| `Super + Backspace` | PowerMenu. Выключение пк | | `Super + Backspace` | PowerMenu. Выключение пк |нет|
| Applications | Описание | | Applications | Описание | Работает? |
| -------------------------- | ----------------------------------------- | | -------------------------- | ----------------------------------------- | --------- |
| `Super + B` | Browser LibreWolf. Основа | | `Super + B` | Browser LibreWolf. Основа | Да |
| `Super + Shift + B` | Browser Firefox. Паблик активность | | `Super + Shift + B` | Browser Firefox. Паблик активность | Да |
| `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет | | `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет | Да |
| `Super + N` | Note taking app (obsidian) | | `Super + N` | Note taking app (obsidian) |хз|
| `Super + E` | Explorer. Thunar file manager | | `Super + E` | Explorer. Thunar file manager | Да |
| `Super + I` | IDE, text editor, NeoVim | | `Super + I` | IDE, text editor, NeoVim | Да |
| `Super + M` | Monitor of resources (btop) | | `Super + M` | Monitor of resources (btop) | Да |
| `Super + G` | Goals. Todo manager. Task tracker | | `Super + G` | Goals. Todo manager. Task tracker |хз|
| `Super + Shift + C` | Color picker. Получить hex в буфер обмена | | `Super + Shift + C` | Color picker. Получить hex в буфер обмена | Да |
| `Super + Ctrl + C` | Color picker. Получить rgb в буфер обмена | | `Super + Ctrl + C` | Color picker. Получить rgb в буфер обмена | Да |
| Terminal | Описание | | Terminal | Описание | Работает? |
| -------------------------- | ---------------------------------------------------------------------------- | | -------------------------- | ---------------------------------------------------------------------------- | --------- |
| `Super + T` | Terminal основной | | `Super + T` | Terminal основной |
| `Super + Shift + T` | Floating Terminal основной в центре экрана с размерами треть на треть экрана | | `Super + Shift + T` | Floating Terminal основной в центре экрана с размерами треть на треть экрана |
| `Super + Ctrl + T` | Terminal запасной | | `Super + Ctrl + T` | Terminal запасной |
| `Super + Shift + Ctrl + T` | Floating Terminal запасной в центре экрана с размерами треть на треть экрана | | `Super + Shift + Ctrl + T` | Floating Terminal запасной в центре экрана с размерами треть на треть экрана |
| Колдунские кнопки | Описание | | Колдунские кнопки | Описание | Работает? |
| ----------------------- | ---------------------- | | ----------------------- | ---------------------- | --------- |
| `XF86AudioMute` | Toggle audio mute | | `XF86AudioMute` | Toggle audio mute |хз|
| `XF86AudioMicMute` | Toggle microphone mute | | `XF86AudioMicMute` | Toggle microphone mute |хз|
| `XF86AudioLowerVolume` | Decrease volume | | `XF86AudioLowerVolume` | Decrease volume |хз|
| `XF86AudioRaiseVolume` | Increase volume | | `XF86AudioRaiseVolume` | Increase volume |хз|
| `XF86AudioPlay` | Play/pause | | `XF86AudioPlay` | Play/pause |хз|
| `XF86AudioPause` | Play/pause | | `XF86AudioPause` | Play/pause |хз|
| `XF86AudioNext` | Next track | | `XF86AudioNext` | Next track |хз|
| `XF86AudioPrev` | Previous track | | `XF86AudioPrev` | Previous track |хз|
| `XF86MonBrightnessUp` | Increase brightness | | `XF86MonBrightnessUp` | Increase brightness |хз|
| `XF86MonBrightnessDown` | Decrease brightness | | `XF86MonBrightnessDown` | Decrease brightness |хз|
| Not sxhkd | Описание | | Not sxhkd | Описание | Работает? |
| --------------- | ---------------------- | | --------------- | ---------------------- | --------- |
| `Print` | Выделить область | | `Print` | Выделить область | Да |
| `Print + Alt` | Все мониторы целиком | | `Print + Alt` | Все мониторы целиком | Да |
| `Print + Ctrl` | Активный монитор | | `Print + Ctrl` | Активный монитор | Да |
| `Print + Shift` | Активное окно | | `Print + Shift` | Активное окно | Да |
| `CapsLock` | Switch keyboard layout | | `CapsLock` | Switch keyboard layout | Да |
Так же есть бинд на зажим дальней боковой кнопки мыши. Если эту кнопку нажимать, то она работает как обычно. Если её зажать и начать двигать мышку, то вместо движения курсора будет плавный скрол. Обычно такое делают на трекболах без колеса мыши, но я люблю этот метод скрола на любом девайсе. Можно скролить с нужной скоростью и точностью куда надо без долгого кручения колеса. Так же есть бинд на зажим дальней боковой кнопки мыши. Если эту кнопку нажимать, то она работает как обычно. Если её зажать и начать двигать мышку, то вместо движения курсора будет плавный скрол. Обычно такое делают на трекболах без колеса мыши, но я люблю этот метод скрола на любом девайсе. Можно скролить с нужной скоростью и точностью куда надо без долгого кручения колеса.

1
archive/README.md Normal file
View file

@ -0,0 +1 @@
Тут будут файлы, которые больше не нужны. Но может быть они мне пригодятся в будущем.

View file

@ -28,17 +28,17 @@
"x-scheme-handler/https" = [ "librewolf.desktop" ]; "x-scheme-handler/https" = [ "librewolf.desktop" ];
"x-scheme-handler/unknown" = [ "librewolf.desktop" ]; "x-scheme-handler/unknown" = [ "librewolf.desktop" ];
# Images # Images
"image/*" = [ "imv.desktop" "qview.desktop" ]; "image/*" = [ "qview.desktop" "imv.desktop" ];
"image/avif" = [ "imv.desktop" "qview.desktop" ]; "image/avif" = [ "qview.desktop" "imv.desktop" ];
"image/gif" = [ "imv.desktop" "qview.desktop" ]; "image/gif" = [ "qview.desktop" "imv.desktop" ];
"image/jpeg" = [ "imv.desktop" "qview.desktop" ]; # Обычный jpeg, прогрузка сверху вниз "image/jpeg" = [ "qview.desktop" "imv.desktop" ]; # Обычный jpeg, прогрузка сверху вниз
"image/pjpeg" = [ "imv.desktop" "qview.desktop" ]; # Сначала размытый и постепенной лучше видно, для медленного инета "image/pjpeg" = [ "qview.desktop" "imv.desktop" ]; # Сначала размытый и постепенной лучше видно, для медленного инета
"image/apng" = [ "imv.desktop" "qview.desktop" ]; # Анимированный png "image/apng" = [ "qview.desktop" "imv.desktop" ]; # Анимированный png
"image/png" = [ "imv.desktop" "qview.desktop" ]; "image/png" = [ "qview.desktop" "imv.desktop" ];
"image/svg+xml" = [ "imv.desktop" "qview.desktop" ]; "image/svg+xml" = [ "qview.desktop" "imv.desktop" ];
"image/webp" = [ "imv.desktop" "qview.desktop" ]; "image/webp" = [ "qview.desktop" "imv.desktop" ];
"image/x-icon" = [ "imv.desktop" "qview.desktop" ]; "image/x-icon" = [ "qview.desktop" "imv.desktop" ];
"image/vnd.microsoft.icon" = [ "imv.desktop" "qview.desktop" ]; "image/vnd.microsoft.icon" = [ "qview.desktop" "imv.desktop" ];
# Video # Video
"video/*" = [ "mpv.desktop" ]; "video/*" = [ "mpv.desktop" ];
"video/mp4" = [ "mpv.desktop" ]; "video/mp4" = [ "mpv.desktop" ];
@ -89,17 +89,17 @@
associations.added = { # Дополнительные приложения для нужного файла. Будет в меню "Открыть с помощью" associations.added = { # Дополнительные приложения для нужного файла. Будет в меню "Открыть с помощью"
# Images # Images
"image/*" = [ "imv.desktop" "qview.desktop" ]; "image/*" = [ "qview.desktop" "imv.desktop" ];
"image/avif" = [ "imv.desktop" "qview.desktop" ]; "image/avif" = [ "qview.desktop" "imv.desktop" ];
"image/gif" = [ "imv.desktop" "qview.desktop" ]; "image/gif" = [ "qview.desktop" "imv.desktop" ];
"image/jpeg" = [ "imv.desktop" "qview.desktop" ]; # Обычный jpeg, прогрузка сверху вниз "image/jpeg" = [ "qview.desktop" "imv.desktop" ]; # Обычный jpeg, прогрузка сверху вниз
"image/pjpeg" = [ "imv.desktop" "qview.desktop" ]; # Сначала размытый и постепенной лучше видно, для медленного инета "image/pjpeg" = [ "qview.desktop" "imv.desktop" ]; # Сначала размытый и постепенной лучше видно, для медленного инета
"image/apng" = [ "imv.desktop" "qview.desktop" ]; # Анимированный png "image/apng" = [ "qview.desktop" "imv.desktop" ]; # Анимированный png
"image/png" = [ "imv.desktop" "qview.desktop" ]; "image/png" = [ "qview.desktop" "imv.desktop" ];
"image/svg+xml" = [ "imv.desktop" "qview.desktop" ]; "image/svg+xml" = [ "qview.desktop" "imv.desktop" ];
"image/webp" = [ "imv.desktop" "qview.desktop" ]; "image/webp" = [ "qview.desktop" "imv.desktop" ];
"image/x-icon" = [ "imv.desktop" "qview.desktop" ]; "image/x-icon" = [ "qview.desktop" "imv.desktop" ];
"image/vnd.microsoft.icon" = [ "imv.desktop" "qview.desktop" ]; "image/vnd.microsoft.icon" = [ "qview.desktop" "imv.desktop" ];
# Text # Text
"text/*" = [ "nvim.desktop" "code.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim? "text/*" = [ "nvim.desktop" "code.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
"text/css" = [ "nvim.desktop" "code.desktop" ]; "text/css" = [ "nvim.desktop" "code.desktop" ];

6
flake.lock generated
View file

@ -206,11 +206,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1722813957, "lastModified": 1723175592,
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -6,7 +6,7 @@
./browsers/lynx.nix ./browsers/lynx.nix
./file-managers/ranger/ranger.nix ./file-managers/ranger/ranger.nix
./file-managers/thunar/thunar.nix # ./file-managers/thunar/thunar.nix # Выблядки не могут сделать симлинк, который не будет перезаписан
# ./file-managers/yazi/yazi.nix # ./file-managers/yazi/yazi.nix
./gui/vscode.nix ./gui/vscode.nix
@ -23,15 +23,14 @@
./terminal/zellij.nix ./terminal/zellij.nix
./terminal/zsh.nix ./terminal/zsh.nix
./wm/bspwm/bspwm.nix
./wm/rofi/rofi.nix ./wm/rofi/rofi.nix
./wm/dunst.nix ./wm/dunst.nix
./wm/lockscreen.nix ./wm/lockscreen.nix
./wm/polybar.nix ./wm/polybar.nix
./wm/sxhkd.nix ./wm/sxhkd.nix
./default-apps.nix # ./default-apps.nix # Выблядки не могут сделать симлинк, который не будет перезаписан
./symlinks.nix
./mangohud.nix ./mangohud.nix
./symlinks.nix
]; ];
} }

View file

@ -74,6 +74,7 @@
xdg.configFile = { xdg.configFile = {
"ranger/rc.conf".source = ./rc.conf; "ranger/rc.conf".source = ./rc.conf;
"ranger/rifle.conf".source = ./rifle.conf; "ranger/rifle.conf".source = ./rifle.conf;
"ranger/scope.sh".source = ./scope.sh; "ranger/scope.sh" = { source = ./scope.sh; executable = true; };
"ranger/commands.py" = { source = ./commands.py; executable = true; };
}; };
} }

View file

@ -1,3 +0,0 @@
{ # Thunar file manager settings
xdg.configFile."xfce4/xfconf/xfce-perchannel-xml/thunar.xml".source = ./thunar.xml;
}

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-view" type="string" value="ThunarDetailsView"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_300_PERCENT"/>
<property name="last-window-maximized" type="bool" value="true"/>
<property name="last-separator-position" type="int" value="170"/>
<property name="last-image-preview-visible" type="bool" value="true"/>
<property name="last-show-hidden" type="bool" value="true"/>
<property name="misc-single-click" type="bool" value="false"/>
<property name="misc-thumbnail-mode" type="string" value="THUNAR_THUMBNAIL_MODE_ALWAYS"/>
<property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
<property name="shortcuts-icon-size" type="string" value="THUNAR_ICON_SIZE_24"/>
<property name="tree-icon-size" type="string" value="THUNAR_ICON_SIZE_16"/>
<property name="misc-middle-click-in-tab" type="bool" value="true"/>
<property name="last-restore-tabs" type="bool" value="true"/>
<property name="last-focused-tab-left" type="int" value="0"/>
<property name="last-focused-tab-right" type="int" value="0"/>
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
<property name="last-details-view-column-widths" type="string" value="50,50,116,50,50,50,50,50,509,50,50,53,50,96"/>
</channel>

View file

@ -1,25 +1,40 @@
let # Надо удалить оригинальный файл, прежде чем делать симлинк
dir = "backups"; # Имя каталога для бекапов. Мб захочу поменять # Некоторые проги клали хуй на симлинки и заменяют их своими файлами
# Таких прог я ебал рот и проклинал хуесосов разработчиков
# Если выдаёт ошибку про home-manager сервир при ребилде,
# Значит такой файл уже существует и симлинк туда кинуть нельзя
# Для таких файлов я сделал каталог shit
{ config, ... }: let
home-dir = "backups"; # Имя каталога для бекапов. Мб захочу поменять
dir = "${config.home.homeDirectory}/${home-dir}";
in { in {
home.file = { # В .config этим нельзя кидать home.file = { # В .config этим нельзя кидать
# "${dir}".source = /mnt/${dir}; # Чтоб остальные симлинки были от ~/backups "${home-dir}".source = config.lib.file.mkOutOfStoreSymlink "/mnt/${home-dir}"; # Чтоб остальные симлинки были от ~/backups
# Secrets # Secrets
# ".password-store".source = "~/${dir}/Backups/.password-store"; # Для утилиты pass ".password-store".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/.password-store"; # Для утилиты pass
# ".ssh".source = "~/${dir}/.ssh"; ".ssh".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/.ssh";
# ".config/qobuz-dl".source = "~/${dir}/Media/Music/Qobuz/.config/qobuz-dl/"; # Конфиг для бекапа Qobuz музыки
# Games # Games
# ".local/share/osu-wine/osu!/Replays" = "~/${dir}/Games/osu!/Replays"; # ".local/share/osu-wine/osu!/Replays".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Games/osu!/Replays";
# ".local/share/osu-wine/osu!/Skins" = "~/${dir}/Games/osu!/Skins"; # ".local/share/osu-wine/osu!/Skins".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Games/osu!/Skins";
# ".local/share/osu-wine/osu!/Songs" = "~/${dir}/Games/osu!/Songs"; # ".local/share/osu-wine/osu!/Songs".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Games/osu!/Songs";
# ".local/share/osu-wine/osu!/collection.db" = "~/${dir}/Games/osu!/collection.db"; # ".local/share/osu-wine/osu!/collection.db".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Games/osu!/collection.db";
# ".local/share/osu-wine/osu!/osu!.buliway.cfg" = "~/${dir}/Games/osu!/osu!.buliway.cfg"; # ".local/share/osu-wine/osu!/osu!.buliway.cfg".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Games/osu!/osu!.buliway.cfg";
# Не знаю на счёт strawberry, obs, chatbox, planify, calibre, discord и браузеров # Browsers
# ".mozilla".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/Apps/.mozilla";
# ".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/Apps/.librewolf";
# Не знаю на счёт strawberry, obs, chatbox, planify, calibre, discord, nekobox и каталога для скачивания в телеге
}; };
xdg.configFile = { # Это для каталога .config xdg.configFile = { # Это для каталога .config
"bspwm/bspwmrc" = {
source = ./wm/bspwmrc;
executable = true;
};
"qobuz-dl".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Media/Music/Qobuz/.config/qobuz-dl"; # Конфиг для бекапа Qobuz музыки
}; };
} }

View file

@ -13,7 +13,7 @@
# Плюс это https://github.com/ohmyzsh/ohmyzsh/wiki/Cheatsheet # Плюс это https://github.com/ohmyzsh/ohmyzsh/wiki/Cheatsheet
shellAliases = let shellAliases = let
flakeDir = "~/dots"; flakeDir = "~/nixos-private-dots";
in { in {
rb = "sudo nixos-rebuild switch --impure --flake ${flakeDir}"; # Применить новый конфиг rb = "sudo nixos-rebuild switch --impure --flake ${flakeDir}"; # Применить новый конфиг

View file

@ -1,10 +0,0 @@
{ # Управление окнами. В инете примерно ноль нормальной документации с описанием всех параметров. Проклинал
# xsession.windowManager.bspwm = { # Походу не надо включать тут, если я симлинк ниже использую
# enable = true;
# };
xdg.configFile."bspwm/bspwmrc" = {
source = ./bspwmrc;
executable = true;
};
}

View file

@ -44,16 +44,16 @@ MONITOR="${MONITOR:-${MONITORS[0]}}"
MONITOR2="${MONITORS[1]:-${MONITORS[0]}}" MONITOR2="${MONITORS[1]:-${MONITORS[0]}}"
# # Устанавливаем рабочие столы с именами от 1 до 10 для каждого монитора # # Устанавливаем рабочие столы с именами от 1 до 10 для каждого монитора
# for mon in ${MONITORS[@]}; do for mon in ${MONITORS[@]}; do
# bspc monitor $mon -d {1,2,3,4,5,6,7,8,9,10} bspc monitor $mon -d {1,2,3,4,5,6,7,8,9,10}
# done done
# Устанавливаем рабочие столы с именами от 1 до 10 для каждого монитора # Устанавливаем рабочие столы с именами от 1 до 10 для каждого монитора
bspc monitor -d 1 2 3 4 5 6 7 8 9 10 # Можно заменить на {1,2,3,4,5,6,7,8,9,10} #bspc monitor -d 1 2 3 4 5 6 7 8 9 10 # Можно заменить на {1,2,3,4,5,6,7,8,9,10}
# Настройка автоматического удаления настроек для отключённых и отсоединённых мониторов # Настройка автоматического удаления настроек для отключённых и отсоединённых мониторов
bspc config remove_disabled_monitors true bspc config remove_disabled_monitors false
bspc config remove_unplugged_monitors true bspc config remove_unplugged_monitors false
##################### #####################
## Настройки bspwm ## ## Настройки bspwm ##

View file

@ -10,9 +10,6 @@ let
# -r 91190: Это идентификатор уведомления (notification ID). Уведомления с одинаковым ID будут заменять друг друга. # -r 91190: Это идентификатор уведомления (notification ID). Уведомления с одинаковым ID будут заменять друг друга.
# -t 800: Это время в миллисекундах, через которое уведомление будет автоматически закрыто. # -t 800: Это время в миллисекундах, через которое уведомление будет автоматически закрыто.
# Взято отсюда https://my-take-on.tech/2020/07/03/some-tricks-for-sxhkd-and-bspwm/
rofiClipmenu = "rofi clipmenu -location 1 -m -3 -no-show-icons -theme-str '* \{ font: 10px; \}' -theme-str 'listview \{ spacing: 0; \}' -theme-str 'window \{ width: 20em; \}'";
terminalFirst = "alacritty"; terminalFirst = "alacritty";
terminalSecond = "kitty"; terminalSecond = "kitty";
in { in {
@ -53,9 +50,9 @@ in {
########## ##########
"super + a" = "rofi -show drun"; # Applications. Запускатор софта "super + a" = "rofi -show drun"; # Applications. Запускатор софта
#"super + c" = ""; # Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. "super + c" = "rofi -show calc -modi calc -no-show-match -no-sort"; # Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`.
#"super + p" = ""; # Passwords. Пароли из утилиты pass "super + p" = "rofi-pass"; # Passwords. Пароли из утилиты pass
"super + v" = "${rofiClipmenu}"; # История буфера обмена. Как ctrl+v, но через win. "super + v" = "clipmenu"; # История буфера обмена. Как ctrl+v, но через win.
#"super + tab" = ""; # Как alt+tab, переключение окон. На нужный воркспейс само перекинет #"super + tab" = ""; # Как alt+tab, переключение окон. На нужный воркспейс само перекинет
#"super + alt + t" = ""; # Timer. Думаю сделать через утилиту timer #"super + alt + t" = ""; # Timer. Думаю сделать через утилиту timer
#"super + shift + n" = ""; # Notification history. История оповещений. Мб не делать #"super + shift + n" = ""; # Notification history. История оповещений. Мб не делать

View file

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

View file

@ -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

@ -1,13 +1,17 @@
{ pkgs, config, ... }: { # Управление системной темой # Управление системной темой
# Настройки иконок вынесены в home.nix
{ pkgs, config, ... }: {
stylix = { # Wiki - https://stylix.danth.me/options/nixos.html stylix = { # Wiki - https://stylix.danth.me/options/nixos.html
enable = true; enable = true;
autoEnable = true;
polarity = "dark"; # "light" or "either". Если "either", то он сам определяет что будет красивее polarity = "dark"; # "light" or "either". Если "either", то он сам определяет что будет красивее
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml"; # Если хочешь генерить тему из обоев, то удали эту строку base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml"; # Если хочешь генерить тему из обоев, то удали эту строку
image = config.lib.stylix.pixel "base00"; # Вместо обоев будет заливка фона одним цветом из темы # image = config.lib.stylix.pixel "base00"; # Вместо обоев будет заливка фона одним цветом из темы
#image = "./wallpaper.png" # Если хочешь норм обои, то просто укажи путь до изображения image = ./wall.jpg; # Если хочешь норм обои, то просто укажи путь до изображения
cursor = { cursor = {
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
@ -57,4 +61,10 @@
}; };
qt = { # Создать qt тему из gtk2, которая создана из stylix
enable = true;
platformTheme = "gtk2";
style = "gtk2";
};
} }

BIN
modules/nixos/wall.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

View file

@ -46,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

@ -22,10 +22,21 @@
# VISUAL = "nvim"; # VISUAL = "nvim";
BROWSER = "librewolf"; BROWSER = "librewolf";
TERMINAL = "alacritty"; TERMINAL = "alacritty";
# TERM = "alacritty"; TERM = "alacritty";
}; };
stateVersion = "24.05"; # Don't change it stateVersion = "24.05"; # Don't change it
}; };
gtk.iconTheme = {
name = "Gruvbox-Plus-Dark"; # Имя каталога в /usr/share/icons/
package = pkgs.gruvbox-plus-icons; # Пакет иконок
};
# stylix = { # Выключить стили у конкретного таргета походу можно лишь в home-manager
# targets = {
# firefox.enable = false;
# };
# };
} }

View file

@ -205,6 +205,7 @@
ranger # Terminal file manager ranger # Terminal file manager
xfce.thunar # GUI file manager (допы выше в `programs` и `services`) xfce.thunar # GUI file manager (допы выше в `programs` и `services`)
xfce.catfish # File searching (for Thunar) xfce.catfish # File searching (for Thunar)
xfce.exo # Мб надо, чтоб терминал открывать в каталоге
ffmpegthumbnailer # A lightweight video thumbnailer ffmpegthumbnailer # A lightweight video thumbnailer
gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books
nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras
@ -289,7 +290,7 @@
# neovim # Мб не надо писать, он у меня необычный через nixvim flake # neovim # Мб не надо писать, он у меня необычный через nixvim flake
vscode # Мб надо в home.packages писать, чтоб расширения ставились без рута vscode # Мб надо в home.packages писать, чтоб расширения ставились без рута
# vscodium # VSCode без телеметрии и прочего кала. Не имеет обратной совместимости с расширениями vscode # vscodium # VSCode без телеметрии и прочего кала. Не имеет обратной совместимости с расширениями vscode
jetbrains-toolbox # Если геморрой, то качай IDE отдельно https://nixos.wiki/wiki/Jetbrains_Tools # jetbrains-toolbox # У меня крашит. Качай отдельно https://nixos.wiki/wiki/Jetbrains_Tools
# jetbrains.webstorm # jetbrains.webstorm
# jetbrains.rust-rover # jetbrains.rust-rover
# jetbrains.pycharm-professional # jetbrains.pycharm-professional
@ -314,4 +315,4 @@
libva-utils # Проверяет работоспособность VAAPI? libva-utils # Проверяет работоспособность VAAPI?
clinfo # Проверяет работоспособность OpenCL? clinfo # Проверяет работоспособность OpenCL?
]; ];
} }

7
shit/README.md Normal file
View file

@ -0,0 +1,7 @@
Тут будут файлы, которые через nix нельзя сделать нормально. Например некоторые симлинки перезаписываются почти пустыми файлами, если делать их через nix. Так как nix не имеет возможности один раз именно создать файл, а не симлинк, мне приходится делать этот скрипт
Ебучий конфиг для thunar всегда будет класть хуй на мои настройки. Всегда эта блядь будет удалять мои настройки и заменять пустыми, чтоб я восстанавливаль всё через gui
## Применение скрипта
Когда система готова и все симлинки отправлены куда надо, этот скрипт именно скопирует нужные файлы в нужные каталоги. В теории, тогда программы не будут перезаписывать, а будут дополнять этот файл. Но это не точно. Разрабы далбаёбы

1
shit/helpers.rc Normal file
View file

@ -0,0 +1 @@
TerminalEmulator=alacritty

5
shit/install.sh Executable file
View file

@ -0,0 +1,5 @@
#!/usr/bin/env bash
cp ./thunar.xml $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
cp ./helpers.rc $HOME/.config/xfce4/helpers.rc
cp ./mimeapps.list $HOME/.config/mimeapps.list

94
shit/mimeapps.list Normal file
View file

@ -0,0 +1,94 @@
[Added Associations]
application/json=nvim.desktop;code.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
application/x-sh=nvim.desktop;code.desktop
application/x-shellscript=nvim.desktop;code.desktop
application/xml=nvim.desktop;code.desktop
application/yaml=nvim.desktop;code.desktop
image/*=qview.desktop;imv.desktop
image/apng=qview.desktop;imv.desktop
image/avif=qview.desktop;imv.desktop
image/gif=qview.desktop;imv.desktop
image/jpeg=qview.desktop;imv.desktop
image/pjpeg=qview.desktop;imv.desktop
image/png=qview.desktop;imv.desktop
image/svg+xml=qview.desktop;imv.desktop
image/vnd.microsoft.icon=qview.desktop;imv.desktop
image/webp=qview.desktop;imv.desktop
image/x-icon=qview.desktop;imv.desktop
text/*=nvim.desktop;code.desktop
text/css=nvim.desktop;code.desktop
text/csv=nvim.desktop;code.desktop
text/html=nvim.desktop;code.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
text/javascript=nvim.desktop;code.desktop
text/markdown=nvim.desktop;code.desktop
text/plain=nvim.desktop;code.desktop
text/x-asm=nvim.desktop;code.desktop
text/x-c=nvim.desktop;code.desktop
text/x-python=nvim.desktop;code.desktop
[Default Applications]
application/json=nvim.desktop;code.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
application/pdf=org.gnome.Evince.desktop
application/x-bittorrent=qbittorrent.desktop
application/x-extension-htm=librewolf.desktop
application/x-extension-html=librewolf.desktop
application/x-extension-shtml=librewolf.desktop
application/x-extension-xht=librewolf.desktop
application/x-extension-xhtml=librewolf.desktop
application/x-sh=nvim.desktop;code.desktop
application/x-shellscript=nvim.desktop;code.desktop
application/x-zerosize=nvim.desktop;code.desktop
application/xhtml+xml=librewolf.desktop
application/xml=nvim.desktop;code.desktop
application/yaml=nvim.desktop;code.desktop
application/zip=ark.desktop
audio/*=mpv.desktop
audio/aac=mpv.desktop
audio/flac=mpv.desktop
audio/mp4=mpv.desktop
audio/mpeg=mpv.desktop
audio/ogg=mpv.desktop
audio/opus=mpv.desktop
audio/vnd.wav=mpv.desktop
audio/webm=mpv.desktop
audio/x-matroska=mpv.desktop
audio/x-mpegurl=mpv.desktop
audio/x-opus+ogg=mpv.desktop
image/*=qview.desktop;imv.desktop
image/apng=qview.desktop;imv.desktop
image/avif=qview.desktop;imv.desktop
image/gif=qview.desktop;imv.desktop
image/jpeg=qview.desktop;imv.desktop
image/pjpeg=qview.desktop;imv.desktop
image/png=qview.desktop;imv.desktop
image/svg+xml=qview.desktop;imv.desktop
image/vnd.microsoft.icon=qview.desktop;imv.desktop
image/webp=qview.desktop;imv.desktop
image/x-icon=qview.desktop;imv.desktop
inode/directory=thunar.desktop
text/*=nvim.desktop;code.desktop
text/css=nvim.desktop;code.desktop
text/csv=nvim.desktop;code.desktop
text/html=nvim.desktop;code.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
text/javascript=nvim.desktop;code.desktop
text/markdown=nvim.desktop;code.desktop
text/plain=nvim.desktop;code.desktop
text/x-asm=nvim.desktop;code.desktop
text/x-c=nvim.desktop;code.desktop
text/x-python=nvim.desktop;code.desktop
video/*=mpv.desktop
video/mp4=mpv.desktop
video/mpeg=mpv.desktop
video/quicktime=mpv.desktop
video/webm=mpv.desktop
video/x-matroska=mpv.desktop
x-scheme-handler/about=librewolf.desktop
x-scheme-handler/chrome=librewolf.desktop
x-scheme-handler/http=librewolf.desktop
x-scheme-handler/https=librewolf.desktop
x-scheme-handler/jetbrains=jetbrains-toolbox.desktop
x-scheme-handler/magnet=qbittorrent.desktop
x-scheme-handler/mailto=thunderbird.desktop
x-scheme-handler/unknown=librewolf.desktop
[Removed Associations]

33
shit/thunar.xml Normal file
View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-details-view-column-widths" type="string" value="50,50,134,126,50,94,50,168,264,50,50,98,50,1378"/>
<property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE"/>
<property name="last-tabs-left" type="array">
<value type="string" value="file:///home/buliway/backups/Backups/memes"/>
<value type="string" value="file:///home/buliway/backups/Media/Video"/>
</property>
<property name="last-focused-tab-left" type="int" value="1"/>
<property name="last-view" type="string" value="ThunarIconView"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_300_PERCENT"/>
<property name="last-window-width" type="int" value="1906"/>
<property name="last-window-height" type="int" value="1066"/>
<property name="last-window-maximized" type="bool" value="false"/>
<property name="last-separator-position" type="int" value="225"/>
<property name="last-show-hidden" type="bool" value="true"/>
<property name="misc-single-click" type="bool" value="false"/>
<property name="misc-thumbnail-mode" type="string" value="THUNAR_THUMBNAIL_MODE_ALWAYS"/>
<property name="misc-date-style" type="string" value="THUNAR_DATE_STYLE_SIMPLE"/>
<property name="shortcuts-icon-emblems" type="bool" value="true"/>
<property name="tree-icon-emblems" type="bool" value="true"/>
<property name="misc-image-preview-mode" type="string" value="THUNAR_IMAGE_PREVIEW_MODE_EMBEDDED"/>
<property name="misc-middle-click-in-tab" type="bool" value="true"/>
<property name="misc-open-new-window-as-tab" type="bool" value="false"/>
<property name="last-restore-tabs" type="bool" value="true"/>
<property name="misc-show-delete-action" type="bool" value="true"/>
<property name="misc-parallel-copy-mode" type="string" value="THUNAR_PARALLEL_COPY_MODE_ALWAYS"/>
<property name="last-focused-tab-right" type="int" value="0"/>
<property name="misc-confirm-close-multiple-tabs" type="bool" value="false"/>
<property name="last-side-pane" type="string" value="ThunarShortcutsPane"/>
<property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
</channel>