Compare commits

..

No commits in common. "cec561fe0d57bbc511cfa87d1ae310828f1c43ad" and "e2cbe4570687511c99454445e1f6c625d1f0d86f" have entirely different histories.

4 changed files with 147 additions and 125 deletions

View file

@ -22,7 +22,6 @@
# "lxqt-policykit-agent" # Заменил на гномовский
"sxhkd"
"nm-applet" # Нетворк манагер
# "blueman-applet" # Блютуз в трее
"ksnip"
"xset s off -dpms" # Отменить затухание экрана через X минут
"spice-vdagent" # Для виртуалки

View file

@ -1,4 +1,4 @@
{ pkgs, pkgs2, spkgs, ... }: {
{ pkgs, pkgs2, spkgs, inputs, ... }: {
# https://nixos.wiki/wiki/Fonts
fonts.packages = with pkgs; [
@ -132,6 +132,10 @@
# Оптимизация для игр. https://github.com/FeralInteractive/gamemode
gamemode.enable = true;
# Я хз надо ли оно мне. https://github.com/ValveSoftware/gamescope
# Подробносни тут https://ventureo.codeberg.page/source/linux-gaming.html#gamescope
# gamescope.enable = true;
adb.enable = true; # Android Tools
};
@ -141,53 +145,62 @@
## Программирование ##
######################
neovim
# Это рекомендуют ставить не на всю систему,
# а только на nix shell внутри проекта, где нужны эти пакеты
# Но я хочу на всю систему
# Python
python3
python3Packages.pip # Package manager (nvim его не видит)
python3 # Python last version
python3Packages.pip # Python package manager (nvim его не видит)
python3Packages.debugpy # Debug Adapter Protocol for Python
pyright # LSP
ruff # Linter
pyright # Python LSP
ruff # Extremely fast Python linter
# C/C++
clang-tools # Clangd? LSP
# clang-tools # Clangd? LSP
# ccls # C/C++ LSP
# clang # Компилятор
# gcc # Компилятор
# glibc # GNU C Library
# gnumake # ?
# cmake-language-server # CMake LSP
# cmake # ?
# bear # Tool that generates a compilation database for clang tooling
# boost # Collection of C++ libraries
# Rust
rust-analyzer # Rust LSP (rustup component add rust-analyzer)
# Golang
go
gopls # LSP
delve # Debugger
golangci-lint # Linter
go # Go programming language
gopls # Go LSP
delve # Go debugger
templ # A language for writing HTML user interfaces in Go.
golangci-lint # Fast linters Runner for Go
# Nix
nixd # LSP
nixd # Nix LSP. Нет в mason
# Lua
lua5_1
lua5_1 # Scripting language
luajit # JIT compiler for Lua
luajitPackages.luarocks # Package manager
lua-language-server # LSP
stylua # Formatter
luajitPackages.luarocks # Package manager for lua
lua-language-server # Lua LSP
stylua # Lua formatter
# Shell/Bash
bash-language-server # LSP
bash-language-server # Basp LSP
shellcheck # Проверка shell скриптов на ошибки
shfmt # Shell parser and formatter
# SQL
sqls # LSP
sqls # SQL LSP
sqlite
dbeaver-bin
# Frontend
nodejs_24 # For npm
htmx-lsp # HTMX lsp
emmet-language-server # Emmet.io LSP
vscode-langservers-extracted # HTML/CSS/JSON/ESLint LSP
typescript-language-server # TypeScript LSP
@ -213,16 +226,17 @@
# kubernetes-helm # Package manager for kubernetes
# Other
gnumake
cmake-language-server
cmake
spkgs.hugo # Для моего блога
# hugo # Для моего блога
yaml-language-server # YAML LSP
taplo # TOML LSP
vim-language-server # VimScript LSP
# go-migrate # Database migrations. CLI and Golang library
# postman # API Development Environment
# insomnia
# Nushell
# nushell # Modern shell
# For nvim
tree-sitter # For nvim
ripgrep # For nvim
@ -247,49 +261,53 @@
wget
curl
git
tree
xdg-utils
httpie
jq
libxml2
miller
htmlq
usbutils
f2fs-tools
exfat
gitui
pwgen
lm_sensors
exiftool
xclip # Буфер обмена на X11
ffmpeg_7 # Обработка видео
svt-av1 # Быстрый рендер в av1 на проце
imagemagick # Конвертация картинок
gitui # Git TUI
xclip # Буфер обмена
ffmpeg_7 # Обработка видео. Нужен всегда и везде как зависимость
svt-av1 # Кодек для рендера в av1 на проце
# imlib2Full # Image manipulation library
imagemagick # Обработка изображений. Мб тоже нужен всегда
vips # В 4 раза быстрее imagemagick?
gnugrep # Поиск в терминале (grep)
gawk # Обработка и анализ текста в терминале (awk)
tree # Структура файлов в терминале
gnugrep # Поиск в терминале
gawk # Обработка и анализ текста в терминале
rsync # Синхронизация файлов
bat # Аналог cat с подсветкой синтаксиса
xorg.xwininfo # Команда xprop. Статы окна, по типу класса
xorg.xrandr # Управление мониторами
xorg.xev # Узнать айдишник бинда
xdg-utils # Set of command line tools that assist applications with a variety of desktop integration tasks
playerctl # Управление медиа. Плей/пауза и тд
xdotool # Fake keyboard/mouse input. Для rofi-pass
# zscroll # A text scroller for use with panels and shells https://github.com/noctuid/zscroll
tokei # Количество строк кода на разных языках в каталоге
pass # Менеджер паролей в терминале
amdgpu_top # Tool to display AMD GPU usage
btop # Монитор ресурсов в терминале
rocmPackages.rocm-smi # Чтоб в btop было amd gpu?
rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает)
rocmPackages.rocblas # Для работы hip?
rocmPackages.hipblas # Для работы hip?
rocmPackages.clr # Для работы hip?
timer # Таймер на пельмени "timer 5m"
libqalculate # Калькулятор для rofi
pkgs2.yt-dlp # Скачивать и смотреть медиа с разных сайтов
timer # A "sleep" with progress. Таймер на пельмени "timer 5m"
libqalculate # Advanced calculator library
fastfetch # Пишешь в теримнал и кидаешь всем со словами I use nixos btw
fzf # Нечёткий поиск
killall # Убить процессы
killall # Убить процессы. Мем, что в стоке не стоит
libnotify # Вызов оповещений через "notify-send"
pkgs2.yt-dlp # Скачивать и смотреть медиа с разных сайтов
pkgs2.gallery-dl # Качать много картинок с кучи разных сайтов
shellcheck # Проверка shell скриптов на ошибки
pwgen # Генератор паролей
lm_sensors # Сенсоры
httpie # interacting with APIs & HTTP servers
jq # Cli JSON processor
libxml2 # XML parsing library for C
miller # Like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed
# htmlq # Как jq, но для html. Извлекать конкретные элементы из html
# mkvtoolnix-cli # Cross-platform tools for Matroska
usbutils # lsusb
f2fs-tools # f2fs filesystem
exfat # exFAT filesystem
alacritty # Минималистичный терминал. Основной у меня
kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает
@ -298,14 +316,15 @@
## GUI ##
#########
ksnip # Скрины. Аналог - Flameshot
ksnip # Скрины. Аналоги - Flameshot
file-roller # Архиватор от gnome
qbittorrent # Торренты качать
# thunderbird # Почтовый клиент для своей почты
pavucontrol
# pwvucontrol # Замена pavucontrol для PipeWire
# screenkey # A screencast tool to display your keys
pavucontrol # PulseAudio Volume Control
# pwvucontrol # Pipewire Volume Control (Не знаю может ли полностью заменить pavucontrol)
networkmanagerapplet # Tray for network manager
# brightnessctl
# brightnessctl # Brightness control for laptop
# gucharmap # Проверка шрифтов. Какой шрифт какие символы отображает
##############
@ -322,64 +341,64 @@
##########
evince # Смотреть документы (так же превью PDF файлов для Thunar) (не читает FB2)
# papers # Современная замена для evince под GTK4. Оба от gnome
# papers # Я так понимаю это современная замена для evince под GTK4. Оба от gnome
libreoffice # Редактировать документы
hunspell # Проверка орфографии для libreoffice
hunspellDicts.ru_RU # Словарь для проверки орфографии
hunspellDicts.en_US # Словарь для проверки орфографии
calibre # Работа с ebook. Иногда даёт thumbnail в файловом менеджере
# drawio # Desktop application for creating diagrams. Вроде даёт thumbnail в ranger
spkgs.xournalpp
spkgs.xournalpp # Xournal++ is a handwriting Notetaking software with PDF annotation support
###################
## File managers ##
###################
ranger
ranger # Terminal file manager
xfce.thunar # GUI file manager (допы выше в `programs` и `services`)
xfce.catfish # File searching (for Thunar)
xfce4-exo # Мб надо, чтоб терминал открывать в каталоге
ffmpegthumbnailer
gnome-epub-thumbnailer
ffmpegthumbnailer # A lightweight video thumbnailer
gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books
# nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras
# mcomix # Thumbnailer for .crb comicbook archives (требует mupdf, который крашит систему)
f3d # Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx.
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger
# mcomix # Comic book reader and image viewer. Thumbnailer for .crb comicbook archives (требует mupdf, который крашит систему)
f3d # Fast and minimalist 3D viewer using VTK. Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx.
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger, но мб пригодится и в других местах
##################
## File support ##
##################
kdePackages.kimageformats # Image format plugins for Qt
kdePackages.kimageformats # Image format plugins for Qt 6
spkgs.libsForQt5.kimageformats
kdePackages.qtimageformats # Image formats: TIFF, MNG, TGA, WBMP
kdePackages.qtimageformats # Plugins for additional image formats: TIFF, MNG, TGA, WBMP
spkgs.libsForQt5.qt5.qtimageformats
kdePackages.qtsvg
kdePackages.qtsvg # SVG support
kdePackages.karchive # Plugin for Krita and OpenRaster images
webp-pixbuf-loader
gdk-pixbuf.dev
libwebp
libavif
libheif
webp-pixbuf-loader # .webp support (what's this?)
gdk-pixbuf.dev # Library for image loading and manipulation
libwebp # .webp support
libavif # AVIF format support
libheif # HEIF format support
libgsf # .odf support
libjxl
libraw
librsvg
jxrlib
libjxl # JPEG-XL format support
libraw # RAW format support
librsvg # Small library to render SVG images to Cairo surfaces
jxrlib # JPEG XR image support
poppler # PDF support
freetype
imath
openexr
freetype # Font rendering engine
imath # EXR format support
openexr # High dynamic-range (HDR) image file format
###########
## Media ##
###########
strawberry
obs-studio
strawberry # Музыкальный плеер
obs-studio # Запись видео
picard # Массовый редактор метаданных музыки
mousai # Опенсорс шазам. Со временем просит платный api
spek # Спектрограмма аудио
spek # Спектрограмма аудио.
mpv # Смотреть видео
qview # Смотреть картинки. Умеет открывать всё, включая анимированный webp и avif
@ -387,10 +406,11 @@
## Social ##
############
(pkgs2.discord.override {
withVencord = true;
})
# pkgs2.discord
# (pkgs2.discord.override { # Discord
# # withOpenASAR = true; # Оптимизатор дискрода
# withVencord = true; # Имба плагины
# })
pkgs2.discord
pkgs2.vesktop
pkgs2.telegram-desktop
@ -399,17 +419,16 @@
###########
lutris # Запускать .exe игры. Не всё через `wine game.exe` работает на nixos нормально
sidequest # Ставить APK файлы на Oculus Quest 2
bs-manager # Удобно ставить моды и менять версии Beat Saber
protonup-qt # Управлять версиями proton-ge
# Мб зависимости
protonup-qt # Управлять версиями proton-ge?
steam-run # Запуск бинарей в окружении, похожем на steam runtime
mangohud # Фпс и нагрузку на пк показывает в играх
wineWowPackages.stableFull # support both 32- and 64-bit applications
# wineWowPackages.staging # Можно назвать бета версией вайна
winetricks
winetricks # winetricks (all versions)
# wineWowPackages.waylandFull # native wayland support (unstable)
# protontricks
# protontricks # Running Winetricks commands for Proton-enabled games
############
## Design ##
@ -427,9 +446,14 @@
##################
obsidian # Заметки
spkgs.planify # Таски
pkgs2.super-productivity # Таски
pkgs2.ticktick # Таски, proprietary
spkgs.planify # Task manager
pkgs2.ticktick # Powerful to-do app, proprietary
#########
## IDE ##
#########
neovim
###########
## Icons ##
@ -464,6 +488,7 @@
# vial # GUI для qmk, если клавиатура поддерживает
fontconfig
zlib
# google-fonts
libva-utils # Проверяет работоспособность VAAPI?
clinfo # Проверяет работоспособность OpenCL?
libsecret # Хранить и получать аккаунты у приложений. Например для jetbrains toolbox

View file

@ -1,25 +1,17 @@
## Установка
На новом пк руками делаю симлинк в `~/.config/nvim`.
```sh
ln -s ~/nixos-private-dots/nvim ~/.config/nvim
```
## Описание
[kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim) fork
> ⚠️ **Warning**: Конфиг переписан под Neovim 0.11, но Readme файл написан под старый Neovim 0.10. Я постарался актуализировать этот файл, но мб что-то упустил. Поддерживать Readme файл в актуальном состоянии для меня оказалось очень сложно.
> ⚠️ **Warning**: 27.04.2025 произошли большие изменения в конфиге, которые мне очень лень описывать в ридми. Документировать изменения сложнее, чем эти самые изменения вносить. Проще по коммитам ориентироваться. Поменялось много биндов и кор плагинов. Адаптировано для работы на neovim 0.11.
Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить.
Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить.
Первый запуск конфига может быть долгим. Не прерывай этот процесс, пока не появится меню плагин манагера.
Первый запуск конфига может быть долгим. Не прерывай этот процесс, пока не появится меню плагин манагера
Для выбора варианта из автокомплита надо жать ctrl+y или ctrl+tab, а не enter. Это можно исправить в конфиге, но я решил оставить так, как советует разраб kickstart.nvim, потому что я часто был в ситуации, когда готовая ide даёт мне вариант, но он мне не нужен, я уже написал свой, и мне надо перейти на новую строку, я жму enter и получаю комплит, который мне не нужен, мне новая строка нужна была.
Для выбора варианта из автокомплита надо жать ctrl+y, а не enter. Это можно исправить в конфиге, но я решил оставить так, как советует разраб kickstart.nvim, потому что я часто был в ситуации, когда готовая ide даёт мне вариант, но он мне не нужен, я уже написал свой, и мне надо перейти на новую строку, я жму enter и получаю комплит, который мне не нужен, мне новая строка нужна была.
Вкладки как в vscode я решил не делать, тут есть более удобный инструмент для этого. Например два раза нажать пробел в нормал моде, откроется меню буферов, то есть файлов, которые в данный момент открыты. Отображаются они в порядке последнего открытия. Ныне открытый файл там не отображается. Это аналог ctrl+tab в vscode. Можно легко и быстро переключаться между "вкладками". Если надо искать что-то среди файлов проекта, то можно нажать пробел sf, от слов search files. В целом пробел+s это поиск чего-то. Подсказки на экране скажут поиск чего будет происходить. Grep поиск это поиск по содержимому всех файлов проекта.
Вкладки как в vscode я решил не делать, тут есть более удобный инструмент для этого. Например два раза нажать пробел в нормал моде, откроется меню буферов, тоесть файлов, которые в данный момент открыты. Отображаются они в порядке последнего открытия. Ныне открытый файл там не отображается. Это аналог ctrl+tab в vscode. Можно легко и быстро переключаться между "вкладками". Если надо искать что-то среди файлов проекта, то можно нажать пробел sf, от слов search files. В целом пробел+s это поиск чего-то. Подсказки на экране скажут поиск чего будет происходить. Grep поиск это поиск по содержимому всех файлов проекта.
https://medium.com/@jogarcia/you-dont-need-tabs-in-neovim-c6ba5ee44e3e
Если будут проблемы с сессиями, то можно нажать Space S d, чтоб удалить сессию. Для выхода из проекта лучше использовать `:qa`, а не `:q`, чтоб закрыть все буферы и не ломать сессии
Если будут проблемы с сессиями, то можно написать `:SessionDelete`. Для выхода из проекта лучше использовать `:qa`, а не `:q`, чтоб закрыть все буферы и не ломать сессии
Конфиг сделан для NixOS. Я не знаю работает ли он в других дистрибутивах.
@ -31,8 +23,14 @@ LSP list - https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.txt
> ⚠️ **Warning**: Некоторых lsp в mason не существует и их надо качать отдельно. Или они не работают в NixOS, если их качать через mason. Такие lsp я настроил отдельно и скачал как пакет. Из конфига mason я их удалил. **Не скачай случайно эти lsp через mason руками, когда они уже настроены как отдельный пакет**. Это же касается форматтеров и линтеров. Их я стараюсь качать как системный пакет, а не через mason.
> ⚠️ **Warning**: Я вообще перестал качать что либо через mason, использую его только как поиск разных инструментов для нужного мне языка. Так что лучше ничего не качать через него.
> ⚠️ **Warning**: Я вообще перестал качать что либо через mason, используя его только как поиск разных инструментов для нужного мне языка. Так что лучше ничего не качать через него.
## Установка
На новом пк руками делаю симлинк в `~/.config/nvim`.
```sh
ln -s ~/nixos-private-dots/nvim ~/.config/nvim
```
### Зависимости
Для работы этого конфига надо установить некоторые пакеты в систему. Часть из них я напишу ниже, часть находится в `packages.nix` в категории `программирование`
@ -48,7 +46,7 @@ LSP list - https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.txt
- `ueberzugpp`
- Любой nerd font
Пакеты для разных языков могут часто меняться, так что ищем в `packages.nix`
Пакеты для разных языков могут часть меняться, так что ищем в `packages.nix`
Чтоб понять есть ли проблемы с конфигом, может какие-то пакеты отсутствуют, можно запустить `:checkhealth`.
@ -81,8 +79,6 @@ Per project можно использовать `.editorconfig` файл в ко
Все бинды можно искать прям в neovim, если нажать `Space s k`, тоесть `S`earch `K`eymaps
А ещё ты можешь нажать `ctrl + q`, находясь в grep поиске (`space s g`), чтоб заменить одно слово на другое во всей выдаче грепа. Но будь осторожен, если сидишь в zellij, там `ctrl + q` это выход из zellij сессии. Надо жать `ctrl + g` перед этим, чтоб залочить бинды самого zellij.
Я не помню откуда эти бинды, может они есть в стоке, а может нет, но они полезные.
| Bind | Description |
@ -91,7 +87,6 @@ Per project можно использовать `.editorconfig` файл в ко
| `ctrl+o` | Go back |
| `ctrl+i` | Go forward (if you went backwards) |
| `p` | Paste from nvim register |
| `space p` | Paste from nvim register without loss of content |
| `ctrl+shift+v` | Paste from system clipboard |
| `y` | Yank(copy) to nvim register |
| `space y` | Yank(copy) to system clipboard |
@ -112,28 +107,30 @@ Per project можно использовать `.editorconfig` файл в ко
| `esc esc` | Exit terminal mode (Or use `<C-\><C-n>` to exit terminal mode) | settings.lua |
| `esc` | Creal highlights on search when pressing Esc in normal mode | settings.lua |
| `gp` | `G`oto context (`p`arent) | treesitter.lua |
| `grd` | `G`o `R`efactor `D`efinition | lsp.lua |
| `grn` | `G`o `R`e`n`ame. Rename the variable under your cursor. Most Language Servers support renaming across files, etc. | lsp.lua |
| `grr` | `G`o `R`efactor `R`eferences | lsp.lua |
| `grI` | `G`o `R`efactor `I`mplementation | lsp.lua |
| `grD` | `G`o `R`efactor `D`eclaration. This is not Goto Definition, this is Goto Declaration. For example, in C this would take you to the header | lsp.lua |
| `gd` | `G`oto `D`efinition | lsp.lua |
| `gr` | `G`oto `R`eferences | lsp.lua |
| `gI` | `G`oto `I`mplementation | lsp.lua |
| `gD` | `G`oto `D`eclaration. This is not Goto Definition, this is Goto Declaration. For example, in C this would take you to the header | lsp.lua |
| `gc` | Toggle Comment from mini-comment plugin | - |
| `\` | Toggle file tree | file-tree.lua |
| `gO` | Document Symbols. Fuzzy find all the symbols in your current document. Symbols are things like variables, funckions, types, etc. | lsp.lua |
| `gW` | Workspace Symbols. Fuzzy find all the symbols in your currend workspace. Similar to document symbols, except searches over you entire project | lsp.lua |
Перед каждым из биндов в нижней таблице надо нажать `leader`, что есть `space`, пробел.
| Bind | Description | File |
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------|----------------|
| `tt` | `T`oggle `T`erminal | terminal.lua |
| `gta` | `G`olang `T`ag `A`dd. Add json tags for struct | golang.lua |
| `gtr` | `G`olang `T`ag `R`emove. Remove json tags for struct | golang.lua |
| `gs` | `G`olang fill `S`truct | golang.lua |
| `gc` | `G`olang fill Switch `C`ase | golang.lua |
| `gp` | `G`olang fix `P`lurals (change func foo(b int, a int, r int) -> func foo(b, a, r int)) | golang.lua |
| `ge` | `G`olang if `E`rr | golang.lua |
| `gi` | `G`olang `I`mports | golang.lua |
| `gta` | `G`o `T`ag `A`dd. Add json tags for struct | golang.lua |
| `gtr` | `G`o `T`ag `R`emove. Remove json tags for struct | golang.lua |
| `gs` | `G`o fill `S`truct | golang.lua |
| `gc` | `G`o fill Switch `C`ase | golang.lua |
| `gp` | `G`o fix `P`lurals (change func foo(b int, a int, r int) -> func foo(b, a, r int)) | golang.lua |
| `ge` | `G`o if `E`rr | golang.lua |
| `gi` | `G`o `I`mports | golang.lua |
| `D` | Type `D`efinition. Jump to the typo of the word under your cursor. | lsp.lua |
| | Useful when you're not sure what type a variable is and you want to see the definition of its *type*, not where it was *defined*. | |
| `ds` | `D`ocument `S`ymbols. Fuzzy find all the symbols in your current document. Symbols are things like variables, funckions, types, etc. | lsp.lua |
| `ws` | `W`orkspace `S`ymbols. Fuzzy find all the symbols in your currend workspace. Similar to document symbols, except searches over you entire project | lsp.lua |
| `rn` | `R`e`n`ame. Rename the variable under your cursor. Most Language Servers support renaming across files, etc. | lsp.lua |
| `ca` | `C`ode `A`ction. Execute a code action, usually your cursor needs to be on top of an error or a suggestion from your LSP for this to activate | lsp.lua |
| `ss` | `S`earch Document `S`ymbols | lsp.lua |
| `sS` | `S`earch `S`elect Telescope | health.lua |
@ -154,6 +151,7 @@ Per project можно использовать `.editorconfig` файл в ко
| `f` | `F`ormat buffer | autoformat.lua |
| `Sd` | `S`ession `D`elete | session.lua |
| `Sc` | `S`ession `C`reate | session.lua |
| `Backspace` | Session restore | session.lua |
### Git

View file

@ -6,4 +6,4 @@
## Применение скрипта
Когда система готова и все симлинки отправлены куда надо, этот скрипт именно скопирует нужные файлы в нужные каталоги. В теории, тогда программы не будут перезаписывать, а будут дополнять этот файл. Но это не точно
Когда система готова и все симлинки отправлены куда надо, этот скрипт именно скопирует нужные файлы в нужные каталоги. В теории, тогда программы не будут перезаписывать, а будут дополнять этот файл. Но это не точно. Разрабы далбаёбы