From 9e305437d77fd67c06a541afc288162401f6d760 Mon Sep 17 00:00:00 2001 From: Buliway Date: Fri, 19 Dec 2025 17:38:06 +0300 Subject: [PATCH] Delete shit --- README.md | 440 -------------------------- modules/home-manager/terminal/zsh.nix | 1 + modules/nixos/network.nix | 10 +- 3 files changed, 3 insertions(+), 448 deletions(-) diff --git a/README.md b/README.md index a6bbf79..4aa9035 100644 --- a/README.md +++ b/README.md @@ -1,179 +1,6 @@ Эта ветка для моего пк сделана. Просто дотсы надо смотреть в ветке main -## Навигация - -- [Бинды](#бинды) -- [Другие README файлы в этих дотсах](#другие-readme-файлы-в-этих-дотсах) -- [Проблемы](#проблемы) -- [TODO](#todo) -- [Описание](#описание) -- [Нюансы с JetBrains Toolbox](#нюансы-с-jetbrains-toolbox) -- [Настройки для игр](#настройки-для-игр) - - [MangeHud](#mangohud) - - [gamemode](#gamemode) - - [gamescope](#gamescope) - - [Параметры запуска Steam](#параметры-запуска-steam) -- [Настройки мониторов](#настройка-мониторов) -- [Системная тема на всех вебсайтах](#системная-тема-на-всех-вебсайтах) -- [Мини гайд по NixOS](#мини-гайд-по-nixos) -- [Процесс установки](#процесс-установки) - - [Первый способ](#первый-способ) - - [Второй способ](#второй-способ) -- [После установки надо](#после-установки-надо) -- [Изменения для виртуалок](#изменения-для-виртуалок) -- [Иконки](#иконки) -- [Темы](#темы) - - -## Бинды - -Клавиша `Super` это клавиша `Win` - -| Bspwm | Описание | Работает? | -| --------------------------------- | ------------------------------------------------------------------------------------------- | --------- | -| `Super + L` | Lock screen | Да | -| `Super + Q` | Quit. Выключить приложение | Да | -| `Super + Shift + Q` | Kill. Если приложение не отвечает, то убить его | Да | -| `Super + F` | Floating toggle | Да | -| `Super + Shift + F` | Tiled 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 | Да | - -| Rofi | Описание | Работает? | -| ------------------- | ---------------------------------------------------------------------------------------------- | --------- | -| `Super + A` | Applications. Запускатор софта | Да | -| `Super + C` | Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. | Да | -| `Super + P` | Passwords. Пароли из утилиты pass | Да | -| `Super + V` | История буфера обмена. Как ctrl+v, но через win. | Да | -| `Super + Backspace` | PowerMenu. Выключение пк | Да | -| `Super + Tab` | Как alt+tab, переключение окон. На нужный воркспейс само перекинет | Да | -| `Super + Alt + T` | Timer. Думаю сделать через утилиту timer |нет| -| `Super + Shift + N` | Notification history. История оповещений. Мб сделать только в баре кнопку? Мб не делать вообще |нет| - -| 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 | Да | -| `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 | Да | - -Так же есть бинд на зажим дальней боковой кнопки мыши. Если эту кнопку нажимать, то она работает как обычно. Если её зажать и начать двигать мышку, то вместо движения курсора будет плавный скрол. Обычно такое делают на трекболах без колеса мыши, но я люблю этот метод скрола на любом девайсе. Можно скролить с нужной скоростью и точностью куда надо без долгого кручения колеса. - -## Другие README файлы в этих дотсах - -- [Копия man page для bspwm с доп инфой](./modules/home-manager/wm/bspwm/bspwm.md) -- [Описание плагинов для mpv](./modules/home-manager/mpv/README.md) -- [NeoVim config](./nvim/README.md) - -## Проблемы - -- Некоторые симлинки, созданные через home-manager, могут быть перезаписаны другим софтом, удалив мои настройки -- `Mimetypes` удаляют симлинк. Поэтому я сделал отдельный файл в каталоге `shit` и буду копировать готовый файл целиком в нужный каталог -- Не работает TUN мод во всех xray/singbox клиентах. Например nekoray пишет, что не удалось `setcap` при вводе пароля. Испробовал все доступные методы подключения, даже голый `singbox` через сервис никса. У меня просто пропадает инет в системе после конекта. Сейчас единственный рабочий метод, это скачать appimage nekoray с гитхаба, обязательно именно версии `3.26`, иначе не заработает, и запустить через sudo. И в настройках tun надо обязательно выключить `strick route`. Обычно я с ним сидел, но тут с ним проблемы и не работает ничего. -- `Gitui` выёбывается. Не может запушить, ошибка ssh появляется -- `Thunar` удаляет мой конфиг, даже если это не симлинк и даже если я перезапишу настройки в его же собственный файл. Приходится руками всё делать при каждой переустановке системы -- `Thunar` крашится при работе с более чем одним окном. Не всегда, но в самый не нужный момент. А `dolphin` тянет 10 терабайт гей порно в зависимости и выводит blowjob по среди экрана, так что я рот ебал. Хз даже что делать. Все файловый менеджеры гавно ебаное -- `Thunar` криво показывает превью видео. Это ебло дырявое генерит рандом кадр из видео в качестве превью. Ебантропы не могут взять данные из метаданных, куда все закидывают реальное превью. Они считают, что лучше генерить превью каждый ёбаный раз, чем взять уже готовое -- `polybar` и `bspwm` создали пидарасы ебаные бездарные. Одни ломают floating окна и не умеют нормально отображать все символы без ручного указания двух сотен шрифтов, другие не имеют документации и не могут нормально реализовать слои в wm. Ебланы блять. Все floating окна находятся под tiling окнами при запуске ебаного гей бара. Ебантропы не могут даже элементарную работу слоёв реализовать нормально. И эти два куска дерьма называют лучшими wm и status bar? Та нахуй они кому нужны с такими далбаёбами на разрабах. Иногда даже фулскрин находится под флоатингом, а флоатинг под тилингом. Ёбаный олигофрен создал этот bspwm - -Мелочи -- Пароли через rofi выдают меню ввода пароля от qt, но оно имеет светлую тему. Ебал рот делать темы для qt, вечно всё через пизду работает -- В терминале ssh-agent палит мою почту. Но мб это только при первом запуске терминала -- В btop не работает статистика gpu. Установка зависимостей не помогла -- Не работает `git push` в `gitui`. Мб надо переподключить репу. Дело не в `ssh-agent`, его я исправил -- Не работает нечёткий поиск по истории комманд в терминале, если написать что-то и жать стрелку вверх - -### Ребилд крашит систему - -Эта проблема была раньше. Сейчас исправлена. Но заметку оставлю, вдруг пригодится в будущем - -Ребилд системы через `switch` или `test` кладёт нахуй систему. Чёрный экран без возможности переключить tty через `ctrl + alt + F1-F7`. Можно юзать `boot`, чтоб после ребута пк применялось. Тогда не крашит и после ребута всё работает. - -#### Потенциальный способ исправить проблему - -Есть следующие два параметра: -- `systemd.services..restartIfChanged` -- `systemd.user.services..restartIfChanged` - -Они указывают надо ли ребутать указанный сервис при ребилде системы. Мб надо туда что-то указать и сделать false - -Я сделал это для одного сервиса в `nixos/configuration.nix`. Мне помогло. Но если будут ещё сервисы, ребилд на которых зависает и после него крашится система, то можно пробовать запретить рестарт при ребилде. - -#### Реальный способ исправить проблему - -Походу дело было в сервисе `cage`. Когда я его удалил, то всё стало работать нормально - -## TODO - -Надо сделать декларативную QT тему (ебал их рты). Сейчас у меня есть три каталог в каталоге `shit`. Их я могу скопировать в `~/.config`, нужная переменная окружения в `home.nix` стоит и всё заработает. Но это залупа. Другой человек не сможет это юзать мб. Потому что там в коде написан путь `/home/buliway`. Не всем же быть буливеями. Хотя это изи исправляется, потом сделаю. Но пока что я рот ебал тратить 3 дня на настройку темы бездарных далбаёбов на QT. - -Надо сделать Nekoray нормально. Пока что только путь пидараса есть. Запускаешь `sudo ~/Downloads/VPN/nekoray-3.26-2023-12-09-linux-x64.AppImage`. В некобоксе офаешь у тян мода стрик роут. Систем тан. В меню жмёшь перезапустить прогу, она отлипла от терминала, перетащил на 10 воркспейс и сижу хуй сосу, ибо меня сайты в пермак кидают за такую хуйню - -Надо добавить в polybar отображение: -- Заряд аккума. Сейчас проверить негде. Мб взять готовый вариант [тут](https://github.com/Zproger/bspwm-dotfiles/blob/main/config/polybar/modules.ini#L148) -- Яркость экрана. Тоже ноуты. Хз надо ли -- Температура и нагрузка на гп -- Температура цп -- Блютуз. Не знаю отображается ли он сейчас. Не могу проверить, негде - -Установить и настроить: -- i3 с его экосистемой софта. Чтоб тот же polybar был лишь на bspwm, а на i3 работал i3bar -- Sway. Мб сделать через ags - -## Описание - Железо, на котором это работает: - CPU: i5 10400f - GPU: AMD RX6600 @@ -181,273 +8,6 @@ - Motherboard: MSI Z590-A PRO - Два монитора 1920x1080 на 165 и 100 герц -Основной набор софта - -Изначально я написал конфиги для `bspwm` + `polybar`. Но так как оба эти проги созданы далбаёбами бездарными, я перееду на `i3` + `i3bar`. В теории между ними можно переключаться при запуске пк, так что проблем быть не должно. Если какой-то wm надо выключить, чтоб не засирать систему, то это можно делать в `modules/home-manager/bundle.nix` - -| Software | Name | -| ------------ | -------------------------------- | -| WM | bspwm/i3 | -| Hotkeys | sxhkd/i3 | -| Terminal | Alacritty, Kitty | -| Multiplexer | Zellij | -| Shell | oh-my-zsh with many plugins | -| Shell Prompt | Starship | -| Apps/Menus | Rofi | -| Bar | Polybar/i3bar | -| ScreenLock | betterlockscreen/i3lock | -| Notification | Dunst | -| Files | Thunar, Ranger | -| Images | qView | -| Video | mpv with plugins | -| Music | Strawberry, Picard, Mousai, spek | -| Browsers | Librewolf, Firefox, Chromium | -| Social | Discord, Telegram, Steam | -| Audio | PipeWire, pavucontrol | -| Color Theme | Gruvbox Dark Medium | -| Icons | Gruvbox Plus Dark | -| DM | SDDM | -| Compositor | Нет. Мб будет стоковый picom | -| Screenshare | OBS, Screenkey, ksnip | -| Code Editor | NeoVim, VSCode | -| Video Editor | Blender, Davinci Resolve | -| Fetch | fastfetch | -| Torrent | qBittorrent | -| Email client | Thunderbird | -| Color picker | xcolor, gcolor3 | -| Docs/eBook | Evince, LibreOffice, Calibre | -| Design | Affinity | -| Productivity | Obsidian, Planify | - -Чтоб узнать sha256 для гитхаб репы, пишем в терминал эту команду: -```sh -nix-prefetch-git link -``` - -Если хочется поменять цвета или шрифты в конфиге какой-то программы, но при ребилде получается конфликт, то дело в Stylix, который управляет системной темой и сам везде ставит шрифты и цвета. Если хочется заменить, не трогая stylix, то надо добавить `lib.mkForce` перед значением. Например так: -```nix -font = lib.mkForce "JetBrainsMono Nerd Font 11"; -``` - -Узнать localhost виртуалки, чтоб конектиться по ssh: -```sh -ip a -``` - -В бутменю биоса надо ставить не ссд диск, а `nixos boot`. У меня иначе не работало - -## Нюансы с JetBrains Toolbox - -В стоке тулбокс может всегда разлогинивать. Я не проверял, сразу сделал как просили на вики, чтоб это исправить. - -Надо скачать тулбокс (уже стоит), запустить его один раз, а потом: -- Изменить `~/.local/share/JetBrains/Toolbox/.storage.json` и добавить строку `"preferredKeychain": "linux-fallback"` (у меня было в стоке) -- Залогиниться как обычно, но остановиться после того, как JetBrains вебсайт откроется -- Перезапустить JetBrains Toolbox, открыть настройки и нажать `"Troubleshoot..."` -- Следуй инструкциям по ручному входу в систему, как указано в руководстве - -После выполнения этих действий JetBrains Toolbox сохранит учетные данные пользователя в зашифрованном файле (со статическим ключом) по адресу `~/.local/share/JetBrains/Toolbox/.securestorage`. Если этого не сделать, JetBrains Toolbox не сможет получить учетные данные через `libsecret` (из-за bwrap sandboxing?) и постоянно уведомляет пользователя о необходимости повторной авторизации. - -Если что-то не работает, то мб помогут эти ссылки: -- https://nixos.wiki/wiki/Jetbrains_Tools -- https://github.com/NixOS/nixpkgs/issues/240444 - -## Настройки для игр - -Я установил `MangoHud`, `gamemode` и `gamescope`. Ещё есть `proton-ge` в steam. Всё это можно по разному комбинировать между собой. - -### MangoHud - -Мониторинг ресурсов для vulkan и opengl приложений. Показывает fps и нагрузку на пк, включая температуры цп и гп. Можно использовать как полноценные бенчмарки, логируя всю его инфу и визуализируя данные другой утилитой. Чтоб использовать, надо написать `mangehud приложение`, если запускать через терминал, или `mangohud %command%`, если использовать через steam. Если используется вместе с `gamescope`, то надо писать `gamescope --mangoapp`. - -### gamemode - -Оптимизатор линукса для игр - -### gamescope - -SteamOS session compositing window manager. Можно назвать мини wm внутри wm (хотя можно и в tty запустить, без стороннего wm). Не совсем понимаю когда его надо использовать. Иногда, если у игры есть проблемы с обычным linux, то она может нормально запускаться через `gamescope` - -### Параметры запуска Steam - -Если в параметры запуска захочется добавить что-то помимо того, что я напишу, то надо учитывать порядок написания. Как я понял, если надо используется переменная, то её надо писать в начале. Например, если в игре не работает печать на русском языке, то надо в начало добавить `LC_ALL="ru_RU.UTF-8"`. Если же речь про стандартные параметры запуска стима, по типу `-dev` или `-novid`, то их надо писать после `%command%`. Слово `%command%` скорее всего является игрой, тоесть команда для запуска игры. Тоесть синтаксис как в обычном терминале. Сначала переменные окружения, потом команда, потом параметры запуска через `-параметр`. - -Параметры запуска для игр, чтоб использовать все доступные бафы, что я сделал: -Параметр запуска без использования gamescope - `mangohud gamemoderun %command%`. -Параметр запуска с использованием gamescop `gamescope --mangoapp gamemoderun %command%`. - -Вот пример параметров запуска для Apex Legends: `mangohud gamemoderun %command% +exec autoexec.cfg -dev` - -FSR в `proton-ge` включается только в фулскрине через `WINE_FULLSCREEN_FSR=1`. Регулировать резкость можно через переменную окружения `WINE_FULLSCREEN_FSR_STRENGTH=N`, где N - это уровень резкости изображения от 0 до 5. Чем выше значение, тем меньше резкость. По умолчанию установлено значение "2", рекомендуют использовать значение "3". - -## Настройка мониторов - -На иксах второй монитор может не работать или все мониторы могут сидеть на 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 - -## Мини гайд по NixOS - -- Одинаковые вещи могут делаться разными способами. Это норма. По началу меня это бесило, когда читал чужие дотсы -- Нюансы работы NixOS в [этом](https://www.youtube.com/watch?v=7f19R8BWUnU&t=960s) видео. Мне понравилось -- [Плейлист](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 вариант и устанавливаем систему через визуальный установщик. При установке выбираем минимальный вариант, без DE. - -Кто-то говорит, что потом достаточно просто забилдить одной командой чужой конфиг, но это не так. Будет ошибка, что нет гита. Если использовать nix-shell для гита, то скажет, что нет экспериментальной функции. Либо писать огромную команду, либо, как советую сделать я, изменить стоковый конфиг никса. Для этого пишем следующее: - -```sh -sudo nano /etc/nixos/configuration.nix -``` - -Я добавил туда `nix.settings.experimental-features = [ "nix-command" "flakes" ];` сразу после настроек `boot`. Ниже, почти в самом конце, в `environment.systemPackages = with pkgs;` я добавил пакеты `wget, git, curl`. В итоге получился такой конфиг (написал лишь его часть): - -```nix -{ - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - wget - git - curl - fastfetch - ]; -} -``` - -После этого сохраняем и пишем в терминале это: - -```sh -sudo nixos-rebuild switch -``` - -Дальше есть два способа. Перед использованием любого из них я рекомендую сделать форк и внести следующие изменения в конфиг перед установкой (либо можно сделать гит клон и через nano внести изменения для первых трёх пунктов, остальное менять на готовой системе): - -- Переменную `username` в `nixos/configuration.nix`. -- `username` и `homeDirectory` в `nixos/home.nix`. -- `userName` и `userEmail` в `modules/home-manager/terminal/git.nix`. - -А это можно донастроить уже в готовой системе -- Путь до `home` в `shit/qt5ct/qt5ct.conf` и `shit/qt6ct/qt6ct.conf`. -- Параметры мониторов закомментированы в файле `modules/home-manager/wm/bspwm/bspwm.nix`. Можно указать по желанию. Команда xrandr покажет доступные значения и имена мониторов. -- Если видеокарта от amd, то, чтоб не было тиринга, надо раскомментировать `videoDrivers` в `modules/nixos/xserver.nix`, `boot.initrd.kernelModules` и всю категорию настроек `amdgpu` в `modules/nixos/hardware.nix`. -- Если надо задать симлинки, то для этого есть файл `modules/home-manager/symlinks.nix`. Там сейчас мои симлинки, их лучше удалить. Чтоб файл заработал, надо раскомментировать `./symlinks.nix` в файле `modules/home-manager/bundle.nix`. -- Если надо монтировать другие диски, то для этого есть файл `modules/nixos/filesystems.nix`. Там сейчас мой второй ссд. Чтоб файл заработал, надо раскомментировать `./filesystems.nix` в файле `modules/nixos/bundle.nix`. -- Если нужна гибернация, то её можно настроить в `modules/nixos/hibernate.nix`. Там надо указать uuid и офсет для swap файла. Чтоб файл заработал, надо раскомментировать `./hibernate.nix` в файле `modules/nixos/bundle.nix`. - -С гитом есть нюанс. Если захочешь потом создать свои конфиги или добавить новые файлы, на которые надо ссылаться из nix, то надо указывать либо полный путь до файла, либо добавлять файл в гит. Если указывать относительный путь, как сделано в моих `bundle.nix`, то все эти файлы должны находиться в гите, либо каталог дотсов должен быть без гита вовсе. Если в каталоге дотсов инициализирован репозиторий гита, то в относительных путях он не видит файлы из `gitignore` или просто не отслеживаемые гитом файлы. - -### Первый способ - -Установить систему одной командой (я написал пример для github, но сейчас мои дотсы есть лишь на forgejo, не знаю как с него использовать такой синтаксис): -```sh -sudo nixos-rebuild boot --flake github:Buliway/nixos-private-dots --impure -``` - -Чтоб использовать с репой forgejo, можно попробовать такой синтаксис `git@git.buliway.ru:Buliway/nixos-private-dots`. - -Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`. - -### Второй способ - -Клонировать репозиторий и ребилдить систему с указанием пути: -```sh -git clone https://git.buliway.ru/buliway/nixos-private-dots -sudo nixos-rebuild boot --impure --flake ~/nixos-private-dots -``` -Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`. - -## После установки надо - -Это заметка для меня. Каждый ставит то, что ему надо - -- Включить подкачку на 64 гига в `/etc/nixos/hardware-configuration.nix` через такой синтаксис: -```nix - swapDevices = [ { - device = "/swapfile"; - size = 64*1024; # В мегабайтах - } ]; -``` -- Настроить гибренацию в `modules/nixos/hibernate.nix` -- Активировать скрипт в `shit` каталоге, чтоб скопировать нужные конфиги в нужные каталоги. Симлинки не работают -- Настроить приложения `Qt5 Settings`, `Qt6 Settings` и `Kvantum`. Там надо выбрать свою системную тему. Вроде всё интуитивно понятно будет. Можно попробовать обновить систему, в надежде, что системная тема `stylix` начнёт работать с приложениями `qt`. Для этого надо будет закомментить настройки `qt` в конфиге `stylix`. -- Руками настроить `thunar`, бинды для `ksnip`, `discord`, `telegram`, `steam` и `strawberry` -- Добавить gpg ключи -```sh -gpg --import /path/to/your-key.gpg -``` -Если не работает, то смотришь список ключей. Копируешь ID нужного и используешь во второй команде. -```sh -gpg --list-keys -gpg --edit-key ID-ключа -``` -В этом режиме надо написать trust и выбрать степень доверия. Например 5 для своих ключей можно задать, это прям самое максимально доверие. Потом Ctrl + D чтоб выйти. - -## Изменения для виртуалок - -Это надо, чтоб включить коннект по ssh к виртуалке и сделать с ней общий буфер обмена. Ну и ещё параметры экрана меняю на один 1080p монитор на 60 герц. - -В файле `modules/nixos/virtualisation.nix` раскомментировать эти строки: -```diff -+ services = { -+ openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал. -+ spice-vdagentd.enable = true; # Clipboard sharing -+ qemuGuest = { -+ enable = true; # Fix resolution -+ package = pkgs.qemu_full; -+ }; -+ }; -``` -В файле `modules/home-manager/wm/bspwm/bspwm.nix` изменить эти строки: -```diff - extraConfigEarly = '' -- xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165 -- xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2 -+ xrandr --output Virtual-1 --mode 1920x1080 --rate 60 - ''; - - startupPrograms = [ -- # "spice-vdagent" # Для виртуалки -+ "spice-vdagent" # Для виртуалки - ]; -``` - -## Запуск Waydroid на X11 - -Один раз написать в терминале `waydroid init` - -- Запустить `weston` -- В его терминале написать `waydroid session start &` -- Потом `waydroid show-full-ui` - -На weston всё работает сразу как надо. Но стоит изменить размеры окна, как waydroid ui пропадает. Приходится стопать и по новой запускать отображение - - ## Иконки Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet). diff --git a/modules/home-manager/terminal/zsh.nix b/modules/home-manager/terminal/zsh.nix index a7bd8d7..ed93c07 100644 --- a/modules/home-manager/terminal/zsh.nix +++ b/modules/home-manager/terminal/zsh.nix @@ -40,6 +40,7 @@ r = "ranger --choosedir=/tmp/choosedir && cd \"$(cat /tmp/choosedir)\""; g = "gitui"; f = "fastfetch"; + b = "bat --color=always -p --pager='-r'"; # Веди себя как cat, но с цветами yt = "yt-dlp --cookies /home/buliway/backups/Media/yt-dlp/cookies.firefox-private.txt"; yt-dir = "cd /mnt/backups/Media/yt-dlp"; yt-music = "yt-dlp --config-locations music.conf | sed '/has already been recorded in the archive/d'"; diff --git a/modules/nixos/network.nix b/modules/nixos/network.nix index 3977ce3..710652d 100644 --- a/modules/nixos/network.nix +++ b/modules/nixos/network.nix @@ -1,14 +1,10 @@ { pkgs, ... }: { # Блютуз, интернет, wifi hardware.bluetooth = { enable = true; - # settings = { - # General = { - # Enable = "Source,Sink,Media,Socket"; - # Experimental = true; - # }; - # }; }; + services.blueman.enable = true; # Tray for bluetooth + networking = { # enableIPv6 = false; networkmanager.enable = true; @@ -28,8 +24,6 @@ # }; }; - services.blueman.enable = true; # Tray for bluetooth - # services.sing-box = { # Тоже блочит инет, как и nekoray # enable = true; # settings = builtins.fromJSON (builtins.readFile "/home/buliway/nixos-private-dots/modules/nixos/singbox.json");