Update system to latest unstable and Linux 6.18.5

This commit is contained in:
Buliway 2026-01-19 05:50:19 +03:00
parent a8208af95d
commit cbf0ffa2c2
9 changed files with 186 additions and 210 deletions

72
flake.lock generated
View file

@ -71,11 +71,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764724327, "lastModified": 1764873433,
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", "narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", "rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -92,11 +92,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763759067, "lastModified": 1767609335,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "rev": "250481aafeb741edfe23d29195671c19b36b6dca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -125,11 +125,11 @@
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.gnome.org", "host": "gitlab.gnome.org",
"lastModified": 1764524476, "lastModified": 1767737596,
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=", "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"owner": "GNOME", "owner": "GNOME",
"repo": "gnome-shell", "repo": "gnome-shell",
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", "rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -147,11 +147,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766682973, "lastModified": 1768770171,
"narHash": "sha256-GKO35onS711ThCxwWcfuvbIBKXwriahGqs+WZuJ3v9E=", "narHash": "sha256-JPmLGZgdWa8QcQbbtBqyZhpmxIHZ3lUO48laERjw+4k=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "91cdb0e2d574c64fae80d221f4bf09d5592e9ec2", "rev": "521d5ea1a229ba315dd1cceaf869946ddcc83d36",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -162,11 +162,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1766651565, "lastModified": 1768564909,
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -178,11 +178,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1766399428, "lastModified": 1767313136,
"narHash": "sha256-vS6LSOMDOB3s+L6tqw9IGujxnmUAZQnEG+Vi640LayI=", "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a6c3a6141ec1b367c58ead3f7f846c772a25f4e5", "rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -194,11 +194,11 @@
}, },
"nixpkgs2": { "nixpkgs2": {
"locked": { "locked": {
"lastModified": 1766651565, "lastModified": 1768564909,
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -220,11 +220,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1764773531, "lastModified": 1767810917,
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", "narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "1d9616689e98beded059ad0384b9951e967a17fa", "rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -263,11 +263,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1766603026, "lastModified": 1768744881,
"narHash": "sha256-J2DDdRqSU4w9NNgkMfmMeaLIof5PXtS9RG7y6ckDvQE=", "narHash": "sha256-3+h7OxqfrPIB/tRsiZXWE9sCbTm7NQN5Ie428p+S6BA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "551df12ee3ebac52c5712058bd97fd9faa4c3430", "rev": "06684f00cfbee14da96fd4307b966884de272d3a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -327,11 +327,11 @@
"tinted-schemes": { "tinted-schemes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1763914658, "lastModified": 1767710407,
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", "narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "schemes", "repo": "schemes",
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", "rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -343,11 +343,11 @@
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764465359, "lastModified": 1767489635,
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", "narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa", "rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -359,11 +359,11 @@
"tinted-zed": { "tinted-zed": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764464512, "lastModified": 1767488740,
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", "narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-zed", "repo": "base16-zed",
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", "rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,8 +1,18 @@
{ { config, lib, ... }: {
programs.zellij = { # Аналог tmux programs.zellij = { # Аналог tmux
enable = true; enable = true;
# Перезапись некоторых цветов stylix темы
themes.stylix = {
themes = with config.lib.stylix.colors.withHashtag; {
default = {
ribbon_selected.background = lib.mkForce base0B;
table_title.base = lib.mkForce base0B;
frame_selected.base = lib.mkForce base0B;
};
};
};
# enableBashIntegration = true; # enableBashIntegration = true;
# enableZshIntegration = true; # enableZshIntegration = true;
# enableFishIntegration = true; # enableFishIntegration = true;
}; };
} }

View file

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

View file

@ -14,11 +14,14 @@
firewall.enable = false; firewall.enable = false;
}; };
programs.throne = { programs = {
enable = true; amnezia-vpn.enable = true;
tunMode = { throne = {
enable = true; enable = true;
# setuid = true; # Если не работает tun мод tunMode = {
enable = true;
# setuid = true; # Если не работает tun мод
};
}; };
}; };
} }

View file

@ -10,24 +10,15 @@ in {
./packages.nix ./packages.nix
]; ];
# Если какие-то сервисы кладут систему при ребилде,
# то их ребут при ребилде можно выключить таким конфигом:
# systemd.services = {
# "accounts-daemon".restartIfChanged = false;
# "home-manager-buliway".restartIfChanged = false;
# };
boot = { boot = {
kernelPackages = pkgs.linuxPackages_latest; # Ядро линуха, ласт версия kernelPackages = pkgs.linuxPackages_latest; # Ядро линуха, ласт версия
# kernelParams = [ # https://nixos.wiki/wiki/AMD_GPU#Dual_Monitors
# "video=1920x1080"
# ];
loader = { loader = {
grub = { grub = {
enable = true; enable = true;
efiSupport = true;
device = "nodev"; # nodev позволяет не устанавливать grub в конкретное место, но видеть его ui device = "nodev"; # nodev позволяет не устанавливать grub в конкретное место, но видеть его ui
efiSupport = true;
useOSProber = true;
}; };
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
@ -41,9 +32,6 @@ in {
isNormalUser = true; isNormalUser = true;
description = username; description = username;
extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" "video" ]; extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" "video" ];
# packages = with pkgs; [
# clang-tools
# ];
}; };
}; };

View file

@ -46,7 +46,6 @@
vencord.enable = false; vencord.enable = false;
vesktop.enable = false; vesktop.enable = false;
btop.enable = false; btop.enable = false;
zellij.enable = false;
yazi.enable = false; yazi.enable = false;
neovim.enable = false; neovim.enable = false;
gitui.enable = false; gitui.enable = false;

View file

@ -1,4 +1,4 @@
{ pkgs, pkgs2, spkgs, inputs, ... }: { { pkgs, pkgs2, spkgs, ... }: {
# https://nixos.wiki/wiki/Fonts # https://nixos.wiki/wiki/Fonts
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
@ -42,7 +42,6 @@
tumbler.enable = true; # Thumbnail support for Thunar file manager tumbler.enable = true; # Thumbnail support for Thunar file manager
# unclutter.enable = true; # Hide your mouse cursor when inactive # unclutter.enable = true; # Hide your mouse cursor when inactive
# fwupd.enable = true; # DBus service that allows applications to update firmware # fwupd.enable = true; # DBus service that allows applications to update firmware
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
flatpak = { flatpak = {
# flatpak install flathub com.github.tchx84.Flatseal # flatpak install flathub com.github.tchx84.Flatseal
enable = true; enable = true;
@ -115,7 +114,7 @@
thunar = { thunar = {
enable = true; enable = true;
plugins = with pkgs.xfce; [ plugins = with pkgs; [
thunar-media-tags-plugin # Tagging and renaming features for media files thunar-media-tags-plugin # Tagging and renaming features for media files
thunar-archive-plugin # File context menus for archives thunar-archive-plugin # File context menus for archives
thunar-volman # Automatic management of removable drives and media thunar-volman # Automatic management of removable drives and media
@ -132,12 +131,6 @@
# Оптимизация для игр. https://github.com/FeralInteractive/gamemode # Оптимизация для игр. https://github.com/FeralInteractive/gamemode
gamemode.enable = true; 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
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -146,62 +139,53 @@
## Программирование ## ## Программирование ##
###################### ######################
neovim
# Это рекомендуют ставить не на всю систему, # Это рекомендуют ставить не на всю систему,
# а только на nix shell внутри проекта, где нужны эти пакеты # а только на nix shell внутри проекта, где нужны эти пакеты
# Но я хочу на всю систему # Но я хочу на всю систему
# Python # Python
python3 # Python last version python3
python3Packages.pip # Python package manager (nvim его не видит) python3Packages.pip # Package manager (nvim его не видит)
python3Packages.debugpy # Debug Adapter Protocol for Python python3Packages.debugpy # Debug Adapter Protocol for Python
pyright # Python LSP pyright # LSP
ruff # Extremely fast Python linter ruff # Linter
# C/C++ # 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
rust-analyzer # Rust LSP (rustup component add rust-analyzer) rust-analyzer # Rust LSP (rustup component add rust-analyzer)
# Golang # Golang
go # Go programming language go
gopls # Go LSP gopls # LSP
delve # Go debugger delve # Debugger
templ # A language for writing HTML user interfaces in Go. golangci-lint # Linter
golangci-lint # Fast linters Runner for Go
# Nix # Nix
nixd # Nix LSP. Нет в mason nixd # LSP
# Lua # Lua
lua5_1 # Scripting language lua5_1
luajit # JIT compiler for Lua luajit # JIT compiler for Lua
luajitPackages.luarocks # Package manager for lua luajitPackages.luarocks # Package manager
lua-language-server # Lua LSP lua-language-server # LSP
stylua # Lua formatter stylua # Formatter
# Shell/Bash # Shell/Bash
bash-language-server # Basp LSP bash-language-server # LSP
shellcheck # Проверка shell скриптов на ошибки shellcheck # Проверка shell скриптов на ошибки
shfmt # Shell parser and formatter shfmt # Shell parser and formatter
# SQL # SQL
sqls # SQL LSP sqls # LSP
sqlite sqlite
dbeaver-bin dbeaver-bin
# Frontend # Frontend
nodejs_24 # For npm nodejs_24 # For npm
htmx-lsp # HTMX lsp
emmet-language-server # Emmet.io LSP emmet-language-server # Emmet.io LSP
vscode-langservers-extracted # HTML/CSS/JSON/ESLint LSP vscode-langservers-extracted # HTML/CSS/JSON/ESLint LSP
typescript-language-server # TypeScript LSP typescript-language-server # TypeScript LSP
@ -227,17 +211,17 @@
# kubernetes-helm # Package manager for kubernetes # kubernetes-helm # Package manager for kubernetes
# Other # Other
# hugo # Для моего блога android-tools
gnumake
cmake-language-server
cmake
spkgs.hugo # Для моего блога
yaml-language-server # YAML LSP yaml-language-server # YAML LSP
taplo # TOML LSP taplo # TOML LSP
vim-language-server # VimScript LSP vim-language-server # VimScript LSP
# go-migrate # Database migrations. CLI and Golang library
# postman # API Development Environment # postman # API Development Environment
# insomnia # insomnia
# Nushell
# nushell # Modern shell
# For nvim # For nvim
tree-sitter # For nvim tree-sitter # For nvim
ripgrep # For nvim ripgrep # For nvim
@ -262,53 +246,49 @@
wget wget
curl curl
git git
gitui # Git TUI tree
xclip # Буфер обмена xdg-utils
ffmpeg_7 # Обработка видео. Нужен всегда и везде как зависимость httpie
svt-av1 # Кодек для рендера в av1 на проце jq
# imlib2Full # Image manipulation library libxml2
imagemagick # Обработка изображений. Мб тоже нужен всегда miller
htmlq
usbutils
f2fs-tools
exfat
gitui
pwgen
lm_sensors
exiftool
xclip # Буфер обмена на X11
ffmpeg_7 # Обработка видео
svt-av1 # Быстрый рендер в av1 на проце
imagemagick # Конвертация картинок
vips # В 4 раза быстрее imagemagick? vips # В 4 раза быстрее imagemagick?
tree # Структура файлов в терминале gnugrep # Поиск в терминале (grep)
gnugrep # Поиск в терминале gawk # Обработка и анализ текста в терминале (awk)
gawk # Обработка и анализ текста в терминале
rsync # Синхронизация файлов rsync # Синхронизация файлов
bat # Аналог cat с подсветкой синтаксиса bat # Аналог cat с подсветкой синтаксиса
xorg.xwininfo # Команда xprop. Статы окна, по типу класса xorg.xwininfo # Команда xprop. Статы окна, по типу класса
xorg.xrandr # Управление мониторами xorg.xrandr # Управление мониторами
xorg.xev # Узнать айдишник бинда xorg.xev # Узнать айдишник бинда
xdg-utils # Set of command line tools that assist applications with a variety of desktop integration tasks
playerctl # Управление медиа. Плей/пауза и тд playerctl # Управление медиа. Плей/пауза и тд
xdotool # Fake keyboard/mouse input. Для rofi-pass xdotool # Fake keyboard/mouse input. Для rofi-pass
# zscroll # A text scroller for use with panels and shells https://github.com/noctuid/zscroll
tokei # Количество строк кода на разных языках в каталоге tokei # Количество строк кода на разных языках в каталоге
pass # Менеджер паролей в терминале pass # Менеджер паролей в терминале
amdgpu_top # Tool to display AMD GPU usage
btop # Монитор ресурсов в терминале btop # Монитор ресурсов в терминале
rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает) rocmPackages.rocm-smi # Чтоб в btop было amd gpu?
rocmPackages.rocblas # Для работы hip? rocmPackages.rocblas # Для работы hip?
rocmPackages.hipblas # Для работы hip? rocmPackages.hipblas # Для работы hip?
rocmPackages.clr # Для работы hip? rocmPackages.clr # Для работы hip?
pkgs2.yt-dlp # Скачивать и смотреть медиа с разных сайтов timer # Таймер на пельмени "timer 5m"
timer # A "sleep" with progress. Таймер на пельмени "timer 5m" libqalculate # Калькулятор для rofi
libqalculate # Advanced calculator library
fastfetch # Пишешь в теримнал и кидаешь всем со словами I use nixos btw fastfetch # Пишешь в теримнал и кидаешь всем со словами I use nixos btw
fzf # Нечёткий поиск fzf # Нечёткий поиск
killall # Убить процессы. Мем, что в стоке не стоит killall # Убить процессы
libnotify # Вызов оповещений через "notify-send" libnotify # Вызов оповещений через "notify-send"
pkgs2.yt-dlp # Скачивать и смотреть медиа с разных сайтов
pkgs2.gallery-dl # Качать много картинок с кучи разных сайтов 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 # Минималистичный терминал. Основной у меня alacritty # Минималистичный терминал. Основной у меня
kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает
@ -317,15 +297,14 @@
## GUI ## ## GUI ##
######### #########
ksnip # Скрины. Аналоги - Flameshot ksnip # Скрины. Аналог - Flameshot
file-roller # Архиватор от gnome file-roller # Архиватор от gnome
qbittorrent # Торренты качать qbittorrent # Торренты качать
# thunderbird # Почтовый клиент для своей почты # thunderbird # Почтовый клиент для своей почты
# screenkey # A screencast tool to display your keys pavucontrol
pavucontrol # PulseAudio Volume Control # pwvucontrol # Замена pavucontrol для PipeWire
# pwvucontrol # Pipewire Volume Control (Не знаю может ли полностью заменить pavucontrol)
networkmanagerapplet # Tray for network manager networkmanagerapplet # Tray for network manager
# brightnessctl # Brightness control for laptop # brightnessctl
# gucharmap # Проверка шрифтов. Какой шрифт какие символы отображает # gucharmap # Проверка шрифтов. Какой шрифт какие символы отображает
############## ##############
@ -342,64 +321,64 @@
########## ##########
evince # Смотреть документы (так же превью PDF файлов для Thunar) (не читает FB2) evince # Смотреть документы (так же превью PDF файлов для Thunar) (не читает FB2)
# papers # Я так понимаю это современная замена для evince под GTK4. Оба от gnome # papers # Современная замена для evince под GTK4. Оба от gnome
libreoffice # Редактировать документы libreoffice # Редактировать документы
hunspell # Проверка орфографии для libreoffice hunspell # Проверка орфографии для libreoffice
hunspellDicts.ru_RU # Словарь для проверки орфографии hunspellDicts.ru_RU # Словарь для проверки орфографии
hunspellDicts.en_US # Словарь для проверки орфографии hunspellDicts.en_US # Словарь для проверки орфографии
calibre # Работа с ebook. Иногда даёт thumbnail в файловом менеджере calibre # Работа с ebook. Иногда даёт thumbnail в файловом менеджере
# drawio # Desktop application for creating diagrams. Вроде даёт thumbnail в ranger # drawio # Desktop application for creating diagrams. Вроде даёт thumbnail в ranger
spkgs.xournalpp # Xournal++ is a handwriting Notetaking software with PDF annotation support spkgs.xournalpp
################### ###################
## File managers ## ## File managers ##
################### ###################
ranger # Terminal file manager ranger
xfce.thunar # GUI file manager (допы выше в `programs` и `services`) thunar # GUI file manager (допы выше в `programs` и `services`)
xfce.catfish # File searching (for Thunar) catfish # File searching (for Thunar)
xfce4-exo # Мб надо, чтоб терминал открывать в каталоге xfce4-exo # Мб надо, чтоб терминал открывать в каталоге
ffmpegthumbnailer # A lightweight video thumbnailer ffmpegthumbnailer
gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books gnome-epub-thumbnailer
# nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras # nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras
# mcomix # Comic book reader and image viewer. Thumbnailer for .crb comicbook archives (требует mupdf, который крашит систему) # mcomix # 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. # f3d # Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx. (требует openturns, который крашит систему)
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger, но мб пригодится и в других местах openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger
################## ##################
## File support ## ## File support ##
################## ##################
kdePackages.kimageformats # Image format plugins for Qt 6 kdePackages.kimageformats # Image format plugins for Qt
spkgs.libsForQt5.kimageformats spkgs.libsForQt5.kimageformats
kdePackages.qtimageformats # Plugins for additional image formats: TIFF, MNG, TGA, WBMP kdePackages.qtimageformats # Image formats: TIFF, MNG, TGA, WBMP
spkgs.libsForQt5.qt5.qtimageformats spkgs.libsForQt5.qt5.qtimageformats
kdePackages.qtsvg # SVG support kdePackages.qtsvg
kdePackages.karchive # Plugin for Krita and OpenRaster images kdePackages.karchive # Plugin for Krita and OpenRaster images
webp-pixbuf-loader # .webp support (what's this?) webp-pixbuf-loader
gdk-pixbuf.dev # Library for image loading and manipulation gdk-pixbuf.dev
libwebp # .webp support libwebp
libavif # AVIF format support libavif
libheif # HEIF format support libheif
libgsf # .odf support libgsf # .odf support
libjxl # JPEG-XL format support libjxl
libraw # RAW format support libraw
librsvg # Small library to render SVG images to Cairo surfaces librsvg
jxrlib # JPEG XR image support jxrlib
poppler # PDF support poppler # PDF support
freetype # Font rendering engine freetype
imath # EXR format support imath
openexr # High dynamic-range (HDR) image file format openexr
########### ###########
## Media ## ## Media ##
########### ###########
strawberry # Музыкальный плеер strawberry
obs-studio # Запись видео obs-studio
picard # Массовый редактор метаданных музыки picard # Массовый редактор метаданных музыки
mousai # Опенсорс шазам. Со временем просит платный api mousai # Опенсорс шазам. Со временем просит платный api
spek # Спектрограмма аудио. spek # Спектрограмма аудио
mpv # Смотреть видео mpv # Смотреть видео
qview # Смотреть картинки. Умеет открывать всё, включая анимированный webp и avif qview # Смотреть картинки. Умеет открывать всё, включая анимированный webp и avif
@ -407,11 +386,10 @@
## Social ## ## Social ##
############ ############
# (pkgs2.discord.override { # Discord (pkgs2.discord.override {
# # withOpenASAR = true; # Оптимизатор дискрода withVencord = true;
# withVencord = true; # Имба плагины })
# }) # pkgs2.discord
pkgs2.discord
pkgs2.vesktop pkgs2.vesktop
pkgs2.telegram-desktop pkgs2.telegram-desktop
@ -420,16 +398,17 @@
########### ###########
lutris # Запускать .exe игры. Не всё через `wine game.exe` работает на nixos нормально 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 steam-run # Запуск бинарей в окружении, похожем на steam runtime
mangohud # Фпс и нагрузку на пк показывает в играх mangohud # Фпс и нагрузку на пк показывает в играх
wineWowPackages.stableFull # support both 32- and 64-bit applications wineWowPackages.stableFull # support both 32- and 64-bit applications
# wineWowPackages.staging # Можно назвать бета версией вайна # wineWowPackages.staging # Можно назвать бета версией вайна
winetricks # winetricks (all versions) winetricks
# wineWowPackages.waylandFull # native wayland support (unstable) # wineWowPackages.waylandFull # native wayland support (unstable)
# protontricks # Running Winetricks commands for Proton-enabled games # protontricks
############ ############
## Design ## ## Design ##
@ -447,14 +426,9 @@
################## ##################
obsidian # Заметки obsidian # Заметки
spkgs.planify # Task manager spkgs.planify # Таски
pkgs2.ticktick # Powerful to-do app, proprietary pkgs2.super-productivity # Таски
pkgs2.ticktick # Таски, proprietary
#########
## IDE ##
#########
neovim
########### ###########
## Icons ## ## Icons ##
@ -489,7 +463,6 @@
# vial # GUI для qmk, если клавиатура поддерживает # vial # GUI для qmk, если клавиатура поддерживает
fontconfig fontconfig
zlib zlib
# google-fonts
libva-utils # Проверяет работоспособность VAAPI? libva-utils # Проверяет работоспособность VAAPI?
clinfo # Проверяет работоспособность OpenCL? clinfo # Проверяет работоспособность OpenCL?
libsecret # Хранить и получать аккаунты у приложений. Например для jetbrains toolbox libsecret # Хранить и получать аккаунты у приложений. Например для jetbrains toolbox

View file

@ -1,17 +1,25 @@
## Установка
На новом пк руками делаю симлинк в `~/.config/nvim`.
```sh
ln -s ~/nixos-private-dots/nvim ~/.config/nvim
```
## Описание
[kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim) fork [kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim) fork
> ⚠️ **Warning**: 27.04.2025 произошли большие изменения в конфиге, которые мне очень лень описывать в ридми. Документировать изменения сложнее, чем эти самые изменения вносить. Проще по коммитам ориентироваться. Поменялось много биндов и кор плагинов. Адаптировано для работы на neovim 0.11. > ⚠️ **Warning**: Конфиг переписан под Neovim 0.11, но Readme файл написан под старый Neovim 0.10. Я постарался актуализировать этот файл, но мб что-то упустил. Поддерживать Readme файл в актуальном состоянии для меня оказалось очень сложно.
Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить. Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить.
Первый запуск конфига может быть долгим. Не прерывай этот процесс, пока не появится меню плагин манагера Первый запуск конфига может быть долгим. Не прерывай этот процесс, пока не появится меню плагин манагера.
Для выбора варианта из автокомплита надо жать ctrl+y, а не enter. Это можно исправить в конфиге, но я решил оставить так, как советует разраб kickstart.nvim, потому что я часто был в ситуации, когда готовая ide даёт мне вариант, но он мне не нужен, я уже написал свой, и мне надо перейти на новую строку, я жму enter и получаю комплит, который мне не нужен, мне новая строка нужна была. Для выбора варианта из автокомплита надо жать ctrl+y или ctrl+tab, а не 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 https://medium.com/@jogarcia/you-dont-need-tabs-in-neovim-c6ba5ee44e3e
Если будут проблемы с сессиями, то можно написать `:SessionDelete`. Для выхода из проекта лучше использовать `:qa`, а не `:q`, чтоб закрыть все буферы и не ломать сессии Если будут проблемы с сессиями, то можно нажать Space S d, чтоб удалить сессию. Для выхода из проекта лучше использовать `:qa`, а не `:q`, чтоб закрыть все буферы и не ломать сессии
Конфиг сделан для NixOS. Я не знаю работает ли он в других дистрибутивах. Конфиг сделан для NixOS. Я не знаю работает ли он в других дистрибутивах.
@ -23,14 +31,8 @@ LSP list - https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.txt
> ⚠️ **Warning**: Некоторых lsp в mason не существует и их надо качать отдельно. Или они не работают в NixOS, если их качать через mason. Такие lsp я настроил отдельно и скачал как пакет. Из конфига mason я их удалил. **Не скачай случайно эти lsp через mason руками, когда они уже настроены как отдельный пакет**. Это же касается форматтеров и линтеров. Их я стараюсь качать как системный пакет, а не через mason. > ⚠️ **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` в категории `программирование` Для работы этого конфига надо установить некоторые пакеты в систему. Часть из них я напишу ниже, часть находится в `packages.nix` в категории `программирование`
@ -46,7 +48,7 @@ ln -s ~/nixos-private-dots/nvim ~/.config/nvim
- `ueberzugpp` - `ueberzugpp`
- Любой nerd font - Любой nerd font
Пакеты для разных языков могут часть меняться, так что ищем в `packages.nix` Пакеты для разных языков могут часто меняться, так что ищем в `packages.nix`
Чтоб понять есть ли проблемы с конфигом, может какие-то пакеты отсутствуют, можно запустить `:checkhealth`. Чтоб понять есть ли проблемы с конфигом, может какие-то пакеты отсутствуют, можно запустить `:checkhealth`.
@ -79,6 +81,8 @@ Per project можно использовать `.editorconfig` файл в ко
Все бинды можно искать прям в neovim, если нажать `Space s k`, тоесть `S`earch `K`eymaps Все бинды можно искать прям в neovim, если нажать `Space s k`, тоесть `S`earch `K`eymaps
А ещё ты можешь нажать `ctrl + q`, находясь в grep поиске (`space s g`), чтоб заменить одно слово на другое во всей выдаче грепа. Но будь осторожен, если сидишь в zellij, там `ctrl + q` это выход из zellij сессии. Надо жать `ctrl + g` перед этим, чтоб залочить бинды самого zellij.
Я не помню откуда эти бинды, может они есть в стоке, а может нет, но они полезные. Я не помню откуда эти бинды, может они есть в стоке, а может нет, но они полезные.
| Bind | Description | | Bind | Description |
@ -87,6 +91,7 @@ Per project можно использовать `.editorconfig` файл в ко
| `ctrl+o` | Go back | | `ctrl+o` | Go back |
| `ctrl+i` | Go forward (if you went backwards) | | `ctrl+i` | Go forward (if you went backwards) |
| `p` | Paste from nvim register | | `p` | Paste from nvim register |
| `space p` | Paste from nvim register without loss of content |
| `ctrl+shift+v` | Paste from system clipboard | | `ctrl+shift+v` | Paste from system clipboard |
| `y` | Yank(copy) to nvim register | | `y` | Yank(copy) to nvim register |
| `space y` | Yank(copy) to system clipboard | | `space y` | Yank(copy) to system clipboard |
@ -107,30 +112,28 @@ Per project можно использовать `.editorconfig` файл в ко
| `esc esc` | Exit terminal mode (Or use `<C-\><C-n>` to exit terminal mode) | settings.lua | | `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 | | `esc` | Creal highlights on search when pressing Esc in normal mode | settings.lua |
| `gp` | `G`oto context (`p`arent) | treesitter.lua | | `gp` | `G`oto context (`p`arent) | treesitter.lua |
| `gd` | `G`oto `D`efinition | lsp.lua | | `grd` | `G`o `R`efactor `D`efinition | lsp.lua |
| `gr` | `G`oto `R`eferences | 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 |
| `gI` | `G`oto `I`mplementation | lsp.lua | | `grr` | `G`o `R`efactor `R`eferences | 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 | | `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 |
| `gc` | Toggle Comment from mini-comment plugin | - | | `gc` | Toggle Comment from mini-comment plugin | - |
| `\` | Toggle file tree | file-tree.lua | | `\` | 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`, пробел. Перед каждым из биндов в нижней таблице надо нажать `leader`, что есть `space`, пробел.
| Bind | Description | File | | Bind | Description | File |
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------|----------------| |---------|---------------------------------------------------------------------------------------------------------------------------------------------------|----------------|
| `tt` | `T`oggle `T`erminal | terminal.lua | | `tt` | `T`oggle `T`erminal | terminal.lua |
| `gta` | `G`o `T`ag `A`dd. Add json tags for struct | golang.lua | | `gta` | `G`olang `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 | | `gtr` | `G`olang `T`ag `R`emove. Remove json tags for struct | golang.lua |
| `gs` | `G`o fill `S`truct | golang.lua | | `gs` | `G`olang fill `S`truct | golang.lua |
| `gc` | `G`o fill Switch `C`ase | golang.lua | | `gc` | `G`olang 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 | | `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`o if `E`rr | golang.lua | | `ge` | `G`olang if `E`rr | golang.lua |
| `gi` | `G`o `I`mports | golang.lua | | `gi` | `G`olang `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 | | `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 Document `S`ymbols | lsp.lua |
| `sS` | `S`earch `S`elect Telescope | health.lua | | `sS` | `S`earch `S`elect Telescope | health.lua |
@ -151,7 +154,6 @@ Per project можно использовать `.editorconfig` файл в ко
| `f` | `F`ormat buffer | autoformat.lua | | `f` | `F`ormat buffer | autoformat.lua |
| `Sd` | `S`ession `D`elete | session.lua | | `Sd` | `S`ession `D`elete | session.lua |
| `Sc` | `S`ession `C`reate | session.lua | | `Sc` | `S`ession `C`reate | session.lua |
| `Backspace` | Session restore | session.lua |
### Git ### Git

View file

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